Thanks for the new chromium_v139. On kernel linux-6.16.0-1, chromium_v139 NO vpu hardware acceleration. No idea why on your opi5plus you have vpu hw acceleration with linux-6.16.0-1 but NOT on my device only noticeable difference is on your device you have EDK2 on SPI and my device joshua-riek u-boot loader on SPI. Have raised this with warpme as his kernel-6.16.0-1 also have the same issue NO vpu hw acceleration on Chromium_v138 and also the fact that mouse pointer also NOT visible with warpme kernel-6.16.0-1 and Manjaro linux-6.16.0-1 on KDE Plasma DE. Workaround:
instert
export KWIN_FORCE_SW_CURSOR=1
/usr/share/sddm/scripts/wayland-session
On linux-6.15.8-1 vpu hardware acceleration is available on chromium_v139 and is working fine so far.
With linux-6.16.0-1 “clapper” media player can most of the local 4k h264 8bit video where as on linux-6.15.8-1 the same video does works on clapper.
Edit: Thus far, with @darksky (kernel), @maxjrh (stable chromium on opi5plus) and @junari (mpv and ffmpeg with v4l2request support), mainline kernel on opi5-plus can be an option as daily driver - where GPU and vpu hardware acceleration is available (h264 and h265 8bit video).
Thank you.
Hi @darksky and @maxjrh
Edit: 2025-08-16 – Update on Manjaro-opi5plus-xfce with linux-6.16.0-1 and chromium_v138 or chromium_v139 not having vpu hardware acceleration.
Receive a response from warpme on his kernel-6.16.0 resulting chromium_v138 loosing vpu hardware acceleration.
Response from warpme:
Hi,
I suspect your issues might be related to interferences between on-board spi stored vendor bootloader with sd card provided mainline bootloader. (e.g. I have such issue on 2 rk3588 boards in my lab).
I uploaded new images with updated bootloader where such interference seems to be fixed.
you may try and see how it goes for you.
I have downloaded the new MiniArch-20240715-6.16.1-board-rk3588.orangepi_5_plus-SD-Image.img.xz with the updated bootloader that supposed to be friendly with my u-boot loader on my opi5-plus SPI.
But do know how to extract the updated bootloader from the new MiniArch-20240715-6.16.1-board-rk3588.orangepi_5_plus-SD-Image.img.xz to install/write onto Manjaro-opi5plus-xfce-linux-6.16.0-1.
Tried this command to mount new MiniArch image but NO success.
sudo mount -o loop /run/media/alarm/writable/home/jfl/Downloads/MiniArch/MiniArch-20240715-6.16.1-board-rk3588.orangepi_5_plus-SD-Image.img.xz /mnt/
[sudo] password for alarm:
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
dmesg(1) may have more information after failed mount system call.
Appreciate guidance how to copy the bootloader from MiniArch image to Manjaro-opi5plus-xfce which is on SD Card. The updated bootloader is
2025.10-rc1 uboot ver.
Tried decompress the MiniArch image, still unsuccessful in mounting MiniArch image:
$ cd /run/media/alarm/writable/home/jfl/Downloads/MiniArch
[alarm@opi5plus MiniArch]$ xz -d MiniArch-20240715-6.16.1-board-rk3588.orangepi_5_plus-SD-Image.img.xz
$ sudo mkdir /mnt/MiniArch-opi5plus
[sudo] password for alarm:
$ sudo mount -o loop MiniArch-20240715-6.16.1-board-rk3588.orangepi_5_plus-SD-Image.img /mnt/MiniArch-opi5plus
mount: /mnt/MiniArch-opi5plus: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
dmesg(1) may have more information after failed mount system call.
Edit - 2025-08-18: Flash the new MiniArch_v14.4.0 (EOS-KDE-Plasma) with warpme kernel-6.16.1-1 with the updated u-boot bootloaded on SD Card. Chromium_v139 still NO vpu hardware acceleration so the new warpme u-boot bootloader did NOT resolve the issue of kernel-6.16.0/6.16.1 where Chromium do not have vpu hardware acceleration or mouse cursor/pointer not visible on KDE Plasma.
Hi @Darksky & @maxjrh,
Edit: 2025-08-25
Update on why chromium does NOT have vpu hardware acceleration on some boot up or power up on linux-6.15.8-1 (or warpme kernel-6.15.4). warpme suggested that chromium might be having vpu hardware acceleration on a specific vpu driver/firmware. He wrote a script for me to check.
echo "v4l2 video devices"
v4l2_devices=`ls -1 /dev/video*`
for d in ${v4l2_devices}; do
echo "--------------------------------------------------------------------------------"
echo "Device: ${d}:"
v4l2-ctl -d ${d} -D --list-formats-ext --list-formats-out-ext
echo "--------------------------------------------------------------------------------"
echo " "
done
The result or finding are as follows:
On kernel linux-6.15.8-1 or warpme kernel-6.15.4-1
Chromium have NO vpu hardware acceleration on boot-up or power-up whenever
Device: /dev/video0:
Driver Info:
Driver name : rkvdec
Card type : rkvdec
or
Device: /dev/video0:
Driver Info:
Driver name : hantro-vpu
Card type : rockchip,rk3588-vepu121-enc
Chromium will have vpu hardware acceleration on boot-up or power-up whenever:
Device: /dev/video0:
Driver Info:
Driver name : hantro-vpu
Card type : rockchip,rk3568-vpu-dec
On kernel linux-6.16.0-1 or warpme kernel-6.16.1/kernel-6.16.2 there is always NO vpu hardware acceleration on every boot-up or power-up as there is NO “hantro-vpu, rockchip,rk3568-vpu-dec” driver/firmware.
I think “hantro-vpu, rockchip,rk3568-vpu-dec” is needed to be patched back into linux-6.16.y in order for chromium to have vpu hardware acceleration.
Is there a way to alway set “/dev/video0” boot up with “/dev/video0: hantro-vpu, rockchip,rk3568-vpu-dec”?
Apparently mpv-full-git and clapper media player are able to use “rkvdec” for vpu hardware acceleration as vpu hardware acceleration is always working on every boot up be it on linux-6.15.8- or linux-6.16.0 or warpme kernel-6.15.4 or warpme kernel-6.16.1 or 6.16.2.
Kernel-linux-6.15.8-1: This the full output when chromium has vpu hardware acceleration.
[jfl@jfl-opi5plus ~]$ echo "v4l2 video devices"
v4l2_devices=`ls -1 /dev/video*`
for d in ${v4l2_devices}; do
echo "--------------------------------------------------------------------------------"
echo "Device: ${d}:"
v4l2-ctl -d ${d} -D --list-formats-ext --list-formats-out-ext
echo "--------------------------------------------------------------------------------"
echo " "
done
v4l2 video devices
--------------------------------------------------------------------------------
Device: /dev/video0:
Driver Info:
Driver name : hantro-vpu
Card type : rockchip,rk3568-vpu-dec
Bus info : platform:fdb50000.video-codec
Driver version : 6.15.8
Capabilities : 0x84204000
Video Memory-to-Memory Multiplanar
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04204000
Video Memory-to-Memory Multiplanar
Streaming
Extended Pix Format
Media Driver Info:
Driver name : hantro-vpu
Model : hantro-vpu
Serial :
Bus info : platform:fdb50000.video-codec
Media version : 6.15.8
Hardware revision: 0x00000000 (0)
Driver version : 6.15.8
Interface Info:
ID : 0x0300000c
Type : V4L Video
Entity Info:
ID : 0x00000001 (1)
Name : rockchip,rk3568-vpu-dec-source
Function : V4L2 I/O
Pad 0x01000002 : 0: Source
Link 0x02000008: to remote pad 0x1000004 of entity 'rockchip,rk3568-vpu-dec-proc' (Video Decoder): Data, Enabled, Immutable
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture Multiplanar
[0]: 'NV12' (Y/UV 4:2:0)
ioctl: VIDIOC_ENUM_FMT
Type: Video Output Multiplanar
[0]: 'S264' (H.264 Parsed Slice Data, compressed)
Size: Stepwise 48x48 - 1920x1088 with step 16/16
[1]: 'MG2S' (MPEG-2 Parsed Slice Data, compressed)
Size: Stepwise 48x48 - 1920x1088 with step 16/16
[2]: 'VP8F' (VP8 Frame, compressed)
Size: Stepwise 48x48 - 3840x2160 with step 16/16
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Device: /dev/video1:
Driver Info:
Driver name : hantro-vpu
Card type : rockchip,rk3588-vepu121-enc
Bus info : platform:fdba0000.video-codec
Driver version : 6.15.8
Capabilities : 0x84204000
Video Memory-to-Memory Multiplanar
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04204000
Video Memory-to-Memory Multiplanar
Streaming
Extended Pix Format
Media Driver Info:
Driver name : hantro-vpu
Model : hantro-vpu
Serial :
Bus info : platform:fdba0000.video-codec
Media version : 6.15.8
Hardware revision: 0x00000000 (0)
Driver version : 6.15.8
Interface Info:
ID : 0x0300000c
Type : V4L Video
Entity Info:
ID : 0x00000001 (1)
Name : rockchip,rk3588-vepu121-enc-source
Function : V4L2 I/O
Pad 0x01000002 : 0: Source
Link 0x02000008: to remote pad 0x1000004 of entity 'rockchip,rk3588-vepu121-enc-proc' (Video Encoder): Data, Enabled, Immutable
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture Multiplanar
[0]: 'JPEG' (JFIF JPEG, compressed)
Size: Stepwise 96x32 - 8192x8192 with step 16/16
ioctl: VIDIOC_ENUM_FMT
Type: Video Output Multiplanar
[0]: 'YM12' (Planar YUV 4:2:0 (N-C))
[1]: 'NM12' (Y/UV 4:2:0 (N-C))
[2]: 'YUYV' (YUYV 4:2:2)
[3]: 'UYVY' (UYVY 4:2:2)
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Device: /dev/video2:
Driver Info:
Driver name : hantro-vpu
Card type : rockchip,rk3588-av1-vpu-dec
Bus info : platform:fdc70000.video-codec
Driver version : 6.15.8
Capabilities : 0x84204000
Video Memory-to-Memory Multiplanar
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04204000
Video Memory-to-Memory Multiplanar
Streaming
Extended Pix Format
Media Driver Info:
Driver name : hantro-vpu
Model : hantro-vpu
Serial :
Bus info : platform:fdc70000.video-codec
Media version : 6.15.8
Hardware revision: 0x00000000 (0)
Driver version : 6.15.8
Interface Info:
ID : 0x0300000c
Type : V4L Video
Entity Info:
ID : 0x00000001 (1)
Name : rockchip,rk3588-av1-vpu-dec-source
Function : V4L2 I/O
Pad 0x01000002 : 0: Source
Link 0x02000008: to remote pad 0x1000004 of entity 'rockchip,rk3588-av1-vpu-dec-proc' (Video Decoder): Data, Enabled, Immutable
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture Multiplanar
[0]: 'VT12' (Y/UV 4:2:0 (4x4 Linear))
[1]: 'NV12' (Y/UV 4:2:0)
ioctl: VIDIOC_ENUM_FMT
Type: Video Output Multiplanar
[0]: 'AV1F' (AV1 Frame, compressed)
Size: Stepwise 64x64 - 4096x2304 with step 16/16
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Device: /dev/video3:
Driver Info:
Driver name : rkvdec
Card type : rkvdec
Bus info : platform:rkvdec
Driver version : 6.15.8
Capabilities : 0x84204000
Video Memory-to-Memory Multiplanar
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04204000
Video Memory-to-Memory Multiplanar
Streaming
Extended Pix Format
Media Driver Info:
Driver name : rkvdec
Model : rkvdec
Serial :
Bus info : platform:rkvdec
Media version : 6.15.8
Hardware revision: 0x00000000 (0)
Driver version : 6.15.8
Interface Info:
ID : 0x0300000c
Type : V4L Video
Entity Info:
ID : 0x00000001 (1)
Name : rkvdec-source
Function : V4L2 I/O
Pad 0x01000002 : 0: Source
Link 0x02000008: to remote pad 0x1000004 of entity 'rkvdec-proc' (Video Decoder): Data, Enabled, Immutable
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture Multiplanar
[0]: 'NV12' (Y/UV 4:2:0)
ioctl: VIDIOC_ENUM_FMT
Type: Video Output Multiplanar
[0]: 'S264' (H.264 Parsed Slice Data, compressed)
Size: Continuous 1x1 - 65520x65520
[1]: 'S265' (HEVC Parsed Slice Data, compressed)
Size: Continuous 1x1 - 65472x65472
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Device: /dev/video4:
Driver Info:
Driver name : rkvdec
Card type : rkvdec
Bus info : platform:rkvdec
Driver version : 6.15.8
Capabilities : 0x84204000
Video Memory-to-Memory Multiplanar
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04204000
Video Memory-to-Memory Multiplanar
Streaming
Extended Pix Format
Media Driver Info:
Driver name : rkvdec
Model : rkvdec
Serial :
Bus info : platform:rkvdec
Media version : 6.15.8
Hardware revision: 0x00000000 (0)
Driver version : 6.15.8
Interface Info:
ID : 0x0300000c
Type : V4L Video
Entity Info:
ID : 0x00000001 (1)
Name : rkvdec-source
Function : V4L2 I/O
Pad 0x01000002 : 0: Source
Link 0x02000008: to remote pad 0x1000004 of entity 'rkvdec-proc' (Video Decoder): Data, Enabled, Immutable
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture Multiplanar
[0]: 'NV12' (Y/UV 4:2:0)
ioctl: VIDIOC_ENUM_FMT
Type: Video Output Multiplanar
[0]: 'S264' (H.264 Parsed Slice Data, compressed)
Size: Continuous 1x1 - 65520x65520
[1]: 'S265' (HEVC Parsed Slice Data, compressed)
Size: Continuous 1x1 - 65472x65472
--------------------------------------------------------------------------------
[jfl@jfl-opi5plus ~]$
2025-09-09
Hi @maxjrh,
The upstream Debian-Trixie chromium 140.0.7339.80-1~deb13u1 and Fedora-42 chromium-140.0.7339.80-1.fc42, both chromium stable on Opi5plus and have vpu hardware acceleration.
Fedora-42 kernel-6.16.4 only have hantro vpu driver.
The latest Armbian kernel-6.16.5-edge-rockchip64 have both hantro-vpu and new rkvdec driver which support hevc 8 bit video and it also has the “rockchip64-6.16: add patch to fix chromium v4l2 decoding with rkvdec”. The latest 6.16.5-edge-rockchip64 kernel does not have the “rkvdec2” vpu driver anymore.