Unable to install ARM Mali OpenCL runtime to enable Hardware Acceleration on Jellyfin

Creating a bug report/issue

I have searched the existing open and closed issues

Required Information

  • DietPi version | Core:9 Sub:20 RC:1 branch:master owner:MichaIng

  • Distro version | trixie

  • Kernel version | Linux DietPi 6.1.115-vendor-rk35xx #1 SMP Mon Dec 1 08:58:34 UTC 2025 aarch64 GNU/Linux

  • Architecture | arm64

  • SBC model | ROCK 5B (aarch64)

  • Power supply used | 30 W (5V-3A 9V-3A 12V-2.5A 15V-2A 20V-1.5A)

  • NVMe used | Kingston NV2 NVMe PCIe 4.0 1TB M.2 2280 -SNV2S/1000G

Additional Information

  • Software title | LibMali

Steps to reproduce

  • I followed this guide until step 5 and tried to run sudo apt-get install ./libmali-valhall-g610-g13p0-gbm_1.9-1_arm64.deb

Expected behavior

Actual behavior

  • I get the error: E: Unsupported file ./libmali-valhall-g610-g13p0-gbm_1.9-1_arm64.deb specified on command line.

apt-get does not support installation of local files, just use apt.

apt  install ./libmali-valhall-g610-g13p0-gbm_1.9-1_arm64.deb

BTW do you want to get HDR tone mapping working?
From the guide you posted:

For example, the Mali-G610 GPU on the RK3588 SoC is only used for OpenCL-based HDR tone-mapping.

So if you don’t need that you can skip that part and just follow the other steps.

i also don’t know how much DietPi already cares about that. Did you already try to just enable HW acc in jellyfin?

You could check with

ls -l /dev/mpp_service /dev/rga /dev/video*
ffmpeg -hwaccels

ALso jellyfin should log something about this when log level is set to debug and you try to transcode soemthing.

journalctl -u jellyfin -f

or you can just try hw acc with ffmpeg for testing purpose

ffmpeg -hide_banner -v debug \
    -init_hw_device rkmpp=rk \
    -i input.mp4 -c:v h264_rkmpp output.mp4

Yeah I have a monitor that supports HDR so I would like to get it to work.

When I try to run apt install ./libmali-valhall-g610-g13p0-gbm_1.9-1_arm64.deb I still get the same error.

ls -l /dev/mpp_service /dev/rga /dev/video*
ffmpeg -hwaccels

gives the following response

crw-rw---- 1 root video 240,   0 Jan 11 6:02 p.m. /dev/mpp_service
crw-rw---- 1 root video  10, 121 Jan 11 6:02 p.m. /dev/rga
crw-rw---- 1 root video  81,   0 Jan 11 18:02 /dev/video0
-bash: ffmpeg: command not found.

journalctl -u jellyfin -f gives the response

Jan 11 18:08:31 DietPi mpp[2310]: mpp_platform: client 12 driver is not ready!

Jan 11 18:08:33 DietPi jellyfin[2264]: [18:08:33] [INF] Clean up transcoding directory Completed after 0 minute(s) and 0 seconds

Jan 11 18:08:33 DietPi jellyfin[2264]: [18:08:33] [INF] Clean up collections and playlists Completed after 0 minute(s) and 0 seconds

Jan 11 18:08:33 DietPi mpp[2336]: mpp_platform: client 12 driver is not ready!

Jan 11 18:08:33 DietPi jellyfin[2264]: [18:08:33] [INF] Updating plugins Completed after 0 minute(s) and 0 seconds

Jan 11 18:08:33 DietPi mpp[2358]: mpp_platform: client 12 driver is not ready!

Jan 11 18:08:33 DietPi jellyfin[2264]: [18:08:33] [INF] FFmpeg: /usr/lib/jellyfin-ffmpeg/ffmpeg

Jan 11 18:08:33 DietPi jellyfin[2264]: [18:08:33] [INF] ServerId: 5830c455df2d4b70aeb32e100c3d52e2

Jan 11 18:08:33 DietPi jellyfin[2264]: [18:08:33] [INF] Core startup complete

Jan 11 18:08:33 DietPi jellyfin[2264]: [18:08:33] [INF] Startup complete 0:00:09.3664333

Just to be sure v1.9-1-55611b0 is the right version for DietPi, right?

This looks good.

You would need to instal ffmpeg to test this.

Can you try

dpkg -i ./libmali-valhall-g610-g13p0-gbm_1.9-1_arm64.deb
apt -f install

After installing ffmpeg ffmpeg -hwaccels give following response

ffmpeg version 7.1.3-0+deb13u1 Copyright (c) 2000-2025 the FFmpeg developers
  built with gcc 14 (Debian 14.2.0-19)
  configuration: --prefix=/usr --extra-version=0+deb13u1 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --arch=arm64 --enable-gpl --disable-stripping --disable-libmfx --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --disable-libvpl --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libcaca --enable-libdvdnav --enable-libdvdread --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  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
Hardware acceleration methods:
vdpau
cuda
vaapi
drm
opencl
vulkan

while

ffmpeg -hide_banner -v debug \
    -init_hw_device rkmpp=rk \
    -i input.mp4 -c:v h264_rkmpp output.mp4

give this response:

Splitting the commandline.
Reading option '-hide_banner' ... matched as option 'hide_banner' (do not show program banner) with argument '1'.
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 '-i' ... matched as input url with argument 'input.mp4'.
Reading option '-c:v' ... matched as option 'c' (select encoder/decoder ('copy' to copy stream without reencoding)) with argument 'h264_rkmpp'.
Reading option 'output.mp4' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option hide_banner (do not show program banner) with argument 1.
Applying option v (set logging level) with argument debug.
Applying option init_hw_device (initialise hardware device) with argument rkmpp=rk.
Invalid device specification "rkmpp=rk": unknown device type
Failed to set value 'rkmpp=rk' for option 'init_hw_device': Invalid argument
Error parsing global options: Invalid argument
dpkg -i ./libmali-valhall-g610-g13p0-gbm_1.9-1_arm64.deb
apt -f install

gives the response

dpkg: Error: Unable to access archive “./libmali-valhall-g610-g13p0-gbm_1.9-1_arm64.deb”: File or directory not found
Summary:                            
  Update: 0, Install: 0, Remove: 0, Do not update: 0

Can you try again with the jellyfin-ffmpeg

/usr/lib/jellyfin-ffmpeg/ffmpeg -hwaccels
/usr/lib/jellyfin-ffmpeg/ffmpeg \
  -hide_banner -v debug \
  -init_hw_device rkmpp=rk \
  -i input.mp4 -c:v h264_rkmpp output.mp4

Replace input.mp4 with an actual video file you have on the device.

You need to point to the deb file you’ve downloaded earlier.