• Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below
  • Forum
  • Website
  • GitHub
  • Status
  • Translation
  • Features
  • Team
  • Rules
  • Help
  • Feeds
User Links
  • Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below

    Useful Links Forum Website GitHub Status Translation Features Team Rules Help Feeds
    Jellyfin Forum Support Troubleshooting SOLVED: HW Transcoding RK3588 arch not working

     
    • 0 Vote(s) - 0 Average

    SOLVED: HW Transcoding RK3588 arch not working

    Cant get hw acceleration working despite following the documentation
    Crashdummy
    Offline

    Junior Member

    Posts: 3
    Threads: 1
    Joined: 2025 Feb
    Reputation: 0
    Country:Switzerland
    #4
    2025-03-10, 04:56 PM
    (2025-03-10, 01:58 PM)nyanmisaka Wrote: You are running a custom version of FFmpeg instead of the Jellyfin-FFmpeg we provide.

    Therefore your FFmpeg does not contain our patches for RKMPP libraries. Please get the latest Jellyfin-FFmpeg from here and try again.

    https://github.com/jellyfin/jellyfin-ffmpeg/releases

    Thanks for that hint.
    Code:
    $ sudo ffmpeg -v debug -init_hw_device rkmpp=rk -init_hw_device opencl=ocl@rk
    ffmpeg version 7.0.2-Jellyfin Copyright (c) 2000-2024 the FFmpeg developers
      built with gcc 14.2.0 (crosstool-NG 1.26.0.120_4d36f27)
      configuration: --prefix=/ffbuild/prefix --pkg-config=pkg-config --pkg-config-flags=--static --cross-prefix=aarch64-ffbuild-linux-gnu- --arch=aarch64 --target-os=linux --extra-version=Jellyfin --extra-cflags= --extra-cxxflags= --extra-ldflags= --extra-ldexeflags=-pie --extra-libs=-ldl --enable-gpl --enable-version3 --disable-ffplay --disable-debug --disable-doc --disable-ptx-compression --disable-sdl2 --disable-libxcb --disable-xlib --enable-lto=auto --enable-iconv --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-libxml2 --enable-openssl --enable-lzma --enable-fontconfig --enable-libharfbuzz --enable-libvorbis --enable-opencl --enable-chromaprint --enable-libdav1d --enable-libfdk-aac --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libopenmpt --enable-rkmpp --enable-rkrga --enable-libsrt --enable-libsvtav1 --enable-libdrm --enable-vulkan --enable-libshaderc --enable-libplacebo --enable-libx264 --enable-libx265 --enable-libzimg --enable-libzvbi
      libavutil      59.  8.100 / 59.  8.100
      libavcodec    61.  3.100 / 61.  3.100
      libavformat    61.  1.100 / 61.  1.100
      libavdevice    61.  1.100 / 61.  1.100
      libavfilter    10.  1.100 / 10.  1.100
      libswscale      8.  1.100 /  8.  1.100
      libswresample  5.  1.100 /  5.  1.100
      libpostproc    58.  1.100 / 58.  1.100
    Splitting the commandline.
    Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
    Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'rkmpp=rk'.
    Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'opencl=ocl@rk'.
    Finished splitting the commandline.
    Parsing a group of options: global .
    Applying option v (set logging level) with argument debug.
    Applying option init_hw_device (initialise hardware device) with argument rkmpp=rk.
    Applying option init_hw_device (initialise hardware device) with argument opencl=ocl@rk.
    arm_release_ver: g13p0-01eac0, rk_so_ver: 10
    Failed creating base context during opening of kernel driver.
    Kernel module may not have been loaded
    [AVHWDeviceContext @ 0xaaab013600c0] 1 OpenCL platforms found.
    [AVHWDeviceContext @ 0xaaab013600c0] 1 OpenCL devices found on platform "ARM Platform".
    arm_release_ver: g13p0-01eac0, rk_so_ver: 10
    Failed creating base context during opening of kernel driver.
    Kernel module may not have been loaded
    [AVHWDeviceContext @ 0xaaab013600c0] 0.0: ARM Platform / Unknown Device
    Segmentation fault
    It looks way better now.
    Looks like the arch package was not correctly built:

    Code:
    $ pacman -Ss jellyfin-ffmpeg
    extra/jellyfin-ffmpeg 1:7.0.2p7-1 [0 B 63.71 MiB] [Installed]
        Jellyfin fork of ffmpeg

    Now I only need to find out whats wrong with OpenCL.
    But thats gotta be my fault.
    Do you have any hints regarding this as well ?
    The coredump originates from oepncl
    Code:
    $ clinfo
    arm_release_ver: g13p0-01eac0, rk_so_ver: 10
    Failed creating base context during opening of kernel driver.
    Kernel module may not have been loaded
    Number of platforms                              1
      Platform Name                                  ARM Platform
      Platform Vendor                                ARM
      Platform Version                                OpenCL 3.0 v1.g13p0-01eac0.a8b6f0c7e1f83c654c60d1775112dbe4
      Platform Profile                                FULL_PROFILE
      Platform Extensions                            cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp16 cl_khr_icd cl_khr_egl_image cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_subgroups cl_khr_subgroup_extended_types cl_khr_subgroup_non_uniform_vote cl_khr_subgroup_ballot cl_khr_subgroup_non_uniform_arithmetic cl_khr_subgroup_shuffle cl_khr_subgroup_shuffle_relative cl_khr_subgroup_clustered_reduce cl_khr_subgroup_rotate cl_khr_il_program cl_khr_priority_hints cl_khr_create_command_queue cl_khr_spirv_no_integer_wrap_decoration cl_khr_extended_versioning cl_khr_device_uuid cl_khr_suggested_local_work_size cl_khr_extended_bit_ops cl_khr_integer_dot_product cl_khr_semaphore cl_khr_external_semaphore cl_khr_external_semaphore_sync_fd cl_khr_command_buffer cl_arm_core_id cl_arm_printf cl_arm_non_uniform_work_group_size cl_arm_import_memory cl_arm_import_memory_dma_buf cl_arm_import_memory_host cl_arm_integer_dot_product_int8 cl_arm_integer_dot_product_accumulate_int8 cl_arm_integer_dot_product_accumulate_saturate_int8 cl_arm_scheduling_controls cl_arm_controlled_kernel_termination cl_ext_cxx_for_opencl cl_ext_image_tiling_control cl_ext_image_requirements_info cl_ext_image_from_buffer
      Platform Extensions with Version                cl_khr_global_int32_base_atomics                                0x400000 (1.0.0)
                                                      cl_khr_global_int32_extended_atomics                            0x400000 (1.0.0)
                                                      cl_khr_local_int32_base_atomics                                  0x400000 (1.0.0)
                                                      cl_khr_local_int32_extended_atomics                              0x400000 (1.0.0)
                                                      cl_khr_byte_addressable_store                                    0x400000 (1.0.0)
                                                      cl_khr_3d_image_writes                                          0x400000 (1.0.0)
                                                      cl_khr_int64_base_atomics                                        0x400000 (1.0.0)
                                                      cl_khr_int64_extended_atomics                                    0x400000 (1.0.0)
                                                      cl_khr_fp16                                                      0x400000 (1.0.0)
                                                      cl_khr_icd                                                      0x400000 (1.0.0)
                                                      cl_khr_egl_image                                                0x400000 (1.0.0)
                                                      cl_khr_image2d_from_buffer                                      0x400000 (1.0.0)
                                                      cl_khr_depth_images                                              0x400000 (1.0.0)
                                                      cl_khr_subgroups                                                0x400000 (1.0.0)
                                                      cl_khr_subgroup_extended_types                                  0x400000 (1.0.0)
                                                      cl_khr_subgroup_non_uniform_vote                                0x400000 (1.0.0)
                                                      cl_khr_subgroup_ballot                                          0x400000 (1.0.0)
                                                      cl_khr_subgroup_non_uniform_arithmetic                          0x400000 (1.0.0)
                                                      cl_khr_subgroup_shuffle                                          0x400000 (1.0.0)
                                                      cl_khr_subgroup_shuffle_relative                                0x400000 (1.0.0)
                                                      cl_khr_subgroup_clustered_reduce                                0x400000 (1.0.0)
                                                      cl_khr_subgroup_rotate                                          0x400000 (1.0.0)
                                                      cl_khr_il_program                                                0x400000 (1.0.0)
                                                      cl_khr_priority_hints                                            0x400000 (1.0.0)
                                                      cl_khr_create_command_queue                                      0x400000 (1.0.0)
                                                      cl_khr_spirv_no_integer_wrap_decoration                          0x400000 (1.0.0)
                                                      cl_khr_extended_versioning                                      0x400000 (1.0.0)
                                                      cl_khr_device_uuid                                              0x400000 (1.0.0)
                                                      cl_khr_suggested_local_work_size                                0x400000 (1.0.0)
                                                      cl_khr_extended_bit_ops                                          0x400000 (1.0.0)
                                                      cl_khr_integer_dot_product                                      0x800000 (2.0.0)
                                                      cl_khr_semaphore                                                  0x9000 (0.9.0)
                                                      cl_khr_external_semaphore                                          0x9000 (0.9.0)
                                                      cl_khr_external_semaphore_sync_fd                                  0x9000 (0.9.0)
                                                      cl_khr_command_buffer                                              0x9000 (0.9.0)
                                                      cl_arm_core_id                                                  0x400000 (1.0.0)
                                                      cl_arm_printf                                                    0x400000 (1.0.0)
                                                      cl_arm_non_uniform_work_group_size                              0x400000 (1.0.0)
                                                      cl_arm_import_memory                                            0x400000 (1.0.0)
                                                      cl_arm_import_memory_dma_buf                                    0x400000 (1.0.0)
                                                      cl_arm_import_memory_host                                        0x400000 (1.0.0)
                                                      cl_arm_integer_dot_product_int8                                  0x400000 (1.0.0)
                                                      cl_arm_integer_dot_product_accumulate_int8                      0x400000 (1.0.0)
                                                      cl_arm_integer_dot_product_accumulate_saturate_int8              0x400000 (1.0.0)
                                                      cl_arm_scheduling_controls                                        0x4000 (0.4.0)
                                                      cl_arm_controlled_kernel_termination                            0x400000 (1.0.0)
                                                      cl_ext_cxx_for_opencl                                            0x400000 (1.0.0)
                                                      cl_ext_image_tiling_control                                        0x1000 (0.1.0)
                                                      cl_ext_image_requirements_info                                    0x5000 (0.5.0)
                                                      cl_ext_image_from_buffer                                        0x400000 (1.0.0)
      Platform Numeric Version                        0xc00000 (3.0.0)
      Platform Extensions function suffix            ARM
      Platform Host timer resolution                  1ns
      Platform Semaphore types                        Binary
      Platform External semaphore import types        0
      Platform External semaphore export types        0

      Platform Name                                  ARM Platform
    Number of devices                                1
    arm_release_ver: g13p0-01eac0, rk_so_ver: 10
    Failed creating base context during opening of kernel driver.
    Kernel module may not have been loaded
      Device Name                                    <printDeviceInfo:0: get CL_DEVICE_NAME size : error -6>
      Device Vendor                                  ARM
    arm_release_ver: g13p0-01eac0, rk_so_ver: 10
    Failed creating base context during opening of kernel driver.
    Kernel module may not have been loaded
      Device Vendor ID                                <printDeviceInfo:2: get CL_DEVICE_VENDOR_ID : error -6>
      Device Version                                  OpenCL 3.0 v1.g13p0-01eac0.a8b6f0c7e1f83c654c60d1775112dbe4
    arm_release_ver: g13p0-01eac0, rk_so_ver: 10
    Failed creating base context during opening of kernel driver.
    Kernel module may not have been loaded
      Device UUID                                    <printDeviceInfo:6: get CL_DEVICE_UUID_KHR : error -6>
    arm_release_ver: g13p0-01eac0, rk_so_ver: 10
    Failed creating base context during opening of kernel driver.
    Kernel module may not have been loaded
      Driver UUID                                    <printDeviceInfo:7: get CL_DRIVER_UUID_KHR : error -6>
    arm_release_ver: g13p0-01eac0, rk_so_ver: 10
    Failed creating base context during opening of kernel driver.
    Kernel module may not have been loaded
      Valid Device LUID                              <printDeviceInfo:8: get CL_DEVICE_LUID_VALID_KHR : error -6>
    arm_release_ver: g13p0-01eac0, rk_so_ver: 10
    Failed creating base context during opening of kernel driver.
    Kernel module may not have been loaded
      Device LUID                                    <printDeviceInfo:9: get CL_DEVICE_LUID_KHR : error -6>
    arm_release_ver: g13p0-01eac0, rk_so_ver: 10
    Failed creating base context during opening of kernel driver.
    Kernel module may not have been loaded
      Device Node Mask                                <printDeviceInfo:10: get CL_DEVICE_NODE_MASK_KHR : error -6>
      Device Numeric Version                          0xc00000 (3.0.0)
      Driver Version                                  3.0
      Device OpenCL C Version                        OpenCL C 3.0 v1.g13p0-01eac0.a8b6f0c7e1f83c654c60d1775112dbe4
      Device OpenCL C Numeric Version                0xc00000 (3.0.0)
      Device OpenCL C all versions                    OpenCL C                                                        0x400000 (1.0.0)
                                                      OpenCL C                                                        0x401000 (1.1.0)
                                                      OpenCL C                                                        0x402000 (1.2.0)
                                                      OpenCL C                                                        0x800000 (2.0.0)
                                                      OpenCL C                                                        0xc00000 (3.0.0)
      Device OpenCL C features                        __opencl_c_images                                                0x400000 (1.0.0)
                                                      __opencl_c_int64                                                0x400000 (1.0.0)
                                                      __opencl_c_3d_image_writes                                      0x402000 (1.2.0)
                                                      __opencl_c_atomic_order_acq_rel                                  0x800000 (2.0.0)
                                                      __opencl_c_atomic_order_seq_cst                                  0x800000 (2.0.0)
                                                      __opencl_c_atomic_scope_device                                  0x800000 (2.0.0)
                                                      __opencl_c_atomic_scope_all_devices                              0x800000 (2.0.0)
                                                      __opencl_c_device_enqueue                                        0x800000 (2.0.0)
                                                      __opencl_c_generic_address_space                                0x800000 (2.0.0)
                                                      __opencl_c_pipes                                                0x800000 (2.0.0)
                                                      __opencl_c_program_scope_global_variables                        0x800000 (2.0.0)
                                                      __opencl_c_read_write_images                                    0x800000 (2.0.0)
                                                      __opencl_c_subgroups                                            0x800000 (2.0.0)
                                                      __opencl_c_work_group_collective_functions                      0x800000 (2.0.0)
      Device C++ for OpenCL Numeric Version          0x400000 (1.0.0)
      Latest conformance test passed                  v2021-03-05-00
      Device Type                                    GPU
      Device Profile                                  FULL_PROFILE
      Device Available                                Yes
      Compiler Available                              Yes
      Linker Available                                Yes
    arm_release_ver: g13p0-01eac0, rk_so_ver: 10
    Failed creating base context during opening of kernel driver.
    Kernel module may not have been loaded
      Max compute units                              <printDeviceInfo:32: get CL_DEVICE_MAX_COMPUTE_UNITS : error -6>
    arm_release_ver: g13p0-01eac0, rk_so_ver: 10
    Failed creating base context during opening of kernel driver.
    Kernel module may not have been loaded
      Available core IDs (ARM)                        <printDeviceInfo:33: get CL_DEVICE_COMPUTE_UNITS_BITFIELD_ARM : error -6>
    arm_release_ver: g13p0-01eac0, rk_so_ver: 10
    Failed creating base context during opening of kernel driver.
    Kernel module may not have been loaded
      Max clock frequency                            <printDeviceInfo:40: get CL_DEVICE_MAX_CLOCK_FREQUENCY : error -6>
      Device Partition                                (core)
        Max number of sub-devices                    0
        Supported partition types                    None
        Supported affinity domains                    (n/a)
      Max work item dimensions                        3
    arm_release_ver: g13p0-01eac0, rk_so_ver: 10
    Failed creating base context during opening of kernel driver.
    Kernel module may not have been loaded
      Max work item sizes                            <printDeviceInfo:62: get number of CL_DEVICE_MAX_WORK_ITEM_SIZES : error -6>
    arm_release_ver: g13p0-01eac0, rk_so_ver: 10
    Failed creating base context during opening of kernel driver.
    Kernel module may not have been loaded
      Max work group size                            <printDeviceInfo:63: get CL_DEVICE_MAX_WORK_GROUP_SIZE : error -6>
      Preferred work group size multiple (device)    16
    Segmentation fault (core dumped)

    I only found some articles on the net where i've got no idea if theyre outdated or not.
    Code:
    $ pacman -Q | grep mali
    libmali-valhall-g610-base g13p0.10-2
    libmali-valhall-g610-x11-wayland-gbm g13p0.10-2
    mali-valhall-g610-firmware g18p0.01eac0-4

    # This file didnt exist and clinfo is empty without it. Found this info in some old article...
    $ cat /etc/OpenCL/vendors/mali.icd
    /usr/lib/mali-valhall-g610/x11-wayland-gbm/libmali.so
    « Next Oldest | Next Newest »

    Users browsing this thread: 1 Guest(s)


    Messages In This Thread
    HW Transcoding RK3588 arch not working - by Crashdummy - 2025-03-08, 08:42 PM
    RE: HW Transcoding RK3588 arch not working - by TheDreadPirate - 2025-03-09, 07:11 PM
    RE: HW Transcoding RK3588 arch not working - by nyanmisaka - 2025-03-10, 01:58 PM
    RE: HW Transcoding RK3588 arch not working - by Crashdummy - 2025-03-10, 04:56 PM
    RE: HW Transcoding RK3588 arch not working - by nyanmisaka - 2025-03-11, 11:43 AM
    RE: HW Transcoding RK3588 arch not working - by Crashdummy - 2025-03-11, 08:36 PM

    • View a Printable Version
    • Subscribe to this thread
    Forum Jump:

    Home · Team · Help · Contact
    © Designed by D&D - Powered by MyBB
    L


    Jellyfin

    The Free Software Media System

    Linear Mode
    Threaded Mode