• 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
    #1
    2025-03-08, 08:42 PM (This post was last modified: 2025-03-08, 08:44 PM by Crashdummy. Edited 2 times in total. Edit Reason: format )
    Hi there
    I am currently struggling to get hardware transcoding working on arch and I've got not idea why.
    I've followed this guide ( https://jellyfin.org/docs/general/admini.../rockchip/ ) but there are a few things I dont get.
    When I run the verification I get errors.

    Code:
    $ sudo /usr/lib/jellyfin-ffmpeg/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.1.1 (GCC) 20240507
      configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-shared --disable-libxcb --disable-sdl2 --disable-xlib --enable-gpl --enable-version3 --enable-static --enable-gmp --enable-gnutls --enable-chromaprint --enable-libfontconfig --enable-libass --enable-libbluray --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopus --enable-libopenmpt --enable-libtheora --enable-libvorbis --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
      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.
    Device creation failed: -12.
    Failed to set value 'rkmpp=rk' for option 'init_hw_device': Cannot allocate memory
    Error parsing global options: Cannot allocate memory

    It looks like the the jellyfin-ffmpeg is missing
    Code:
    --enable-rkmpp
    .
    The
    Code:
    ffmpeg-mpp-git
    has this enabled but it still throws errors.

    Code:
    $ sudo ffmpeg -v debug -init_hw_device rkmpp=rk -init_hw_device opencl=ocl@rk
    [sudo] password for crashdummy:
    ffmpeg version f5c7e0d63b Copyright (c) 2000-2024 the FFmpeg developers
      built with gcc 14.1.1 (GCC) 20240507
      configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-fontconfig --enable-frei0r --enable-gmp --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libdvdnav --enable-libdvdread --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libharfbuzz --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse --enable-librsvg --enable-librubberband --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-mbedtls --enable-opencl --enable-opengl --enable-shared --enable-vapoursynth --enable-version3 --enable-librist --disable-vulkan --disable-doc --enable-rkmpp --enable-rkrga
      libavutil      59. 39.100 / 59. 39.100
      libavcodec    61. 19.101 / 61. 19.101
      libavformat    61.  7.100 / 61.  7.100
      libavdevice    61.  3.100 / 61.  3.100
      libavfilter    10.  4.100 / 10.  4.100
      libswscale      8.  3.100 /  8.  3.100
      libswresample  5.  3.100 /  5.  3.100
      libpostproc    58.  3.100 / 58.  3.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.
    Device creation failed: -38.
    Failed to set value 'opencl=ocl@rk' for option 'init_hw_device': Function not implemented
    Error parsing global options: Function not implemented

    Regarding the libmali opencl The note mentions
    > Only needed before using HDR tone-mapping on RK3588/3588S. This is done to ensure that the user space firmware and kernel driver versions match, otherwise OpenCL will not work properly.

    Wouldnt that mean I can ignore this ?
    It doesnt look like its actually working because when I monitor the load using
    Code:
    $ sudo watch -n 1 cat /sys/kernel/debug/rkrga/load

    It always remains at 0 load

    Code:
    num of scheduler = 3
    ================= load ==================
    scheduler[0]: rga3
    load = 0%
    -----------------------------------
    scheduler[1]: rga3
    load = 0%
    -----------------------------------
    scheduler[2]: rga2
    load = 0%
    -----------------------------------

    Am I forgetting anything ?
    My System is a Radxa Rocks 5b+ and i used the community arch installer.
    https://github.com/kwankiu/archlinux-installer

    Code:
    OS: Arch Linux ARM aarch64
    Host: Radxa ROCK 5B Plus
    Kernel: Linux 6.1.75-rockchip-g7725578fd0ae-dirty
    CPU: rk3588 (8) @ 2.30 GHz
    GPU: Rockchip rk3588-mali [Integrated]
    Memory: 2.10 GiB / 31.04 GiB (7%)
    Go to solution
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #2
    2025-03-09, 07:11 PM
    @nyanmisaka - Can you help with this?
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    nyanmisaka
    Offline

    Team Member

    Posts: 237
    Threads: 0
    Joined: 2023 Jun
    Reputation: 8
    #3
    2025-03-10, 01:58 PM
    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
    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
    nyanmisaka
    Offline

    Team Member

    Posts: 237
    Threads: 0
    Joined: 2023 Jun
    Reputation: 8
    #5
    2025-03-11, 11:43 AM
    For the HDR tone-mapping use case on RK3588, OpenCL support provided by libmali (user mode driver) and bifrost (kernel mode driver) is required.

    Mesa dev has developed a replacement for bifrost called panfrost/panthor, but it does not work with libmali. This is what causes the error.


    $ clinfo

    arm_release_ver: g13p0-01eac0, rk_so_ver: 10

    Failed creating base context during opening of kernel driver.
    ...
    Crashdummy
    Offline

    Junior Member

    Posts: 3
    Threads: 1
    Joined: 2025 Feb
    Reputation: 0
    Country:Switzerland
    #6
    2025-03-11, 08:36 PM
    (2025-03-11, 11:43 AM)nyanmisaka Wrote: For the HDR tone-mapping use case on RK3588, OpenCL support provided by libmali (user mode driver) and bifrost (kernel mode driver) is required.

    Mesa dev has developed a replacement for bifrost called panfrost/panthor, but it does not work with libmali. This is what causes the error.


    $ clinfo

    arm_release_ver: g13p0-01eac0, rk_so_ver: 10

    Failed creating base context during opening of kernel driver.
    ...

    Thanks for the clarification, so there lies my mistake thanks.
    I thought panfrost wasnt needed anymore since panthor exists
    Code:
    $ modinfo panthor
    filename:      /lib/modules/6.1.75-rockchip-g7725578fd0ae-dirty/kernel/drivers/gpu/drm/panthor/panthor.ko
    license:        Dual MIT/GPL
    description:    Panthor DRM Driver
    author:        Panthor Project Developers
    firmware:      arm/mali/arch10.8/mali_csffw.bin
    srcversion:    3521F20A4F39754655CB2BD
    alias:          of:N*T*Carm,mali-valhall-csfC*
    alias:          of:N*T*Carm,mali-valhall-csf
    alias:          of:N*T*Crockchip,rk3588-maliC*
    alias:          of:N*T*Crockchip,rk3588-mali
    depends:        gpu-sched,drm_shmem_helper,drm_gpuvm,drm_exec
    intree:        Y
    name:          panthor
    vermagic:      6.1.75-rockchip-g7725578fd0ae-dirty SMP mod_unload modversions aarch64

    Thanks for your help Smiling-face
    « Next Oldest | Next Newest »

    Users browsing this thread: 1 Guest(s)


    • 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