Chromium does not run after latest unstable update

Thank you for bringing this to my attention.
I compiled chromium with the armbian patch and it seems to work.

The video decoding performance is the same as always, I think the way forward is to compile a linux kernel with the rkvdec2 patches from collabora.

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.

News on the chromium front:
I compiled version 144.
I can’t get AV1 to work on my RK3588, but H264 decoding is way better now. I get no artifacts for almost all videos.
The package is in the google drive folder as usual.

Thank you. Will download and test it. Is 8bit HEVC video supported on your compiled Chromiurm-44.0.7559.96?

On Debian Trixie with armbian-6.19-rc6 kernel, Chromium-144.0.7559.96 from Debian Repo support 8bit 4K/60 AV1 and 8bit 4K/60 HEVC video with vpu hardware acceleration.

Update: Installed Chromium-144.0.7559.96 on alarm-opi5plus-kde (rk3588) with kernel 6.18.0.r151.420329.e3641b-3 (armbian-git kernel build by kwankiu/samuel) , same experience @maxjrh, no vpu hw acceleration with AV1 video.

Your compiled Chromium-144.0.7559.96 does support vpu hardware acceleration for 8bit 4K/60 for both hevc and h264.

image

Hi Maxjrh,

Thanks for the new Chromium_v146.

After some digging, I found out that the AV1 decoder needs a build flag use_av1_hw_decoder=true
Rebuilding right now. It will be version 146.0.7680.75-2 when it’s done (probably on friday).

Thank you. With the new Chromium-146.0.7680.75-2, av1 8bit video is supported. 10 bit av1 or hevc still not supported.

With armbian kernel or MiniArch-6.19.5 kernel and latest gstreamer, Clapper media player can play some 10bit Av1 and 10bit Hevc and HDR10 Hevc video but not Av1 HDR10.

Edit: 2026-04-13

Hi @maxjrh,

Thanks for the new Chromium-147.0.7727.55. But somehow cannot get it to have vpu hardware acceleration. Encountering v4l2/v4l2_video_decoder error. Your previous Chromium-146.0.7680.75-2 works fine with vpu hardware acceleration.

Just wonder whether you encounter the similar issue with Chromium-147.0.7727.55.

`Warning: maxDynamicUniformBuffersPerPipelineLayout artificially reduced from 72 to 16 to fit dynamic offset allocation limit. `
`Warning: maxDynamicStorageBuffersPerPipelineLayout artificially reduced from 32 to 16 to fit dynamic offset allocation limit. `
`[1003:1088:0413/211225.755071:ERROR:content/browser/browser_main_loop.cc:275] GLib: g_main_context_pop_thread_default: assertion 'stack != NULL' failed `
`[1003:1089:0413/211225.755100:ERROR:content/browser/browser_main_loop.cc:275] GLib: g_main_context_pop_thread_default: assertion 'stack != NULL' failed `
`[1003:1090:0413/211225.755088:ERROR:content/browser/browser_main_loop.cc:275] GLib: g_main_context_pop_thread_default: assertion 'stack != NULL' failed `
`[1003:1025:0413/211230.927456:ERROR:google_apis/gcm/engine/registration_request.cc:291] Registration response error message: DEPRECATED_ENDPOINT `
`[1045:1263:0413/211310.584880:ERROR:media/gpu/v4l2/v4l2_video_decoder.cc:127] SetupOutputFormat failed at ContinueChangeResolution@media/gpu/v4l2/v4l2_video_decoder.cc:1196 : Failed to setup output format, status= 3 `
`[1045:1263:0413/211310.585093:ERROR:media/gpu/v4l2/v4l2_video_decoder_backend_stateless.cc:623] Backend failure when changing resolution (9). `
`[1045:1279:0413/211313.376723:ERROR:media/gpu/v4l2/v4l2_video_decoder.cc:127] SetupOutputFormat failed at ContinueChangeResolution@media/gpu/v4l2/v4l2_video_decoder.cc:1196 : Failed to setup output format, status= 3 `
`[1045:1279:0413/211313.376890:ERROR:media/gpu/v4l2/v4l2_video_decoder_backend_stateless.cc:623] Backend failure when changing resolution (9). `
`[1003:1025:0413/211314.110449:ERROR:google_apis/gcm/engine/registration_request.cc:291] Registration response error message: DEPRECATED_ENDPOINT `
`[1045:1326:0413/211327.519314:ERROR:media/gpu/v4l2/v4l2_video_decoder.cc:127] SetupOutputFormat failed at ContinueChangeResolution@media/gpu/v4l2/v4l2_video_decoder.cc:1196 : Failed to setup output format, status= 3 `
`[1045:1326:0413/211327.519578:ERROR:media/gpu/v4l2/v4l2_video_decoder_backend_stateless.cc:623] Backend failure when changing resolution (9).`

Mod edit:- @JFL – Please revisit the method you use when posting command output. See below :point_down: . Presentation fixed for you this time. No charge.


[Mini-HowTo] Present code or command output

Note: Grave accent (or, backtick) characters are used. :eyes:

For inline code or to show a single command:

  • please follow this simple example: code here.

For multi-line command output:

  • place text beween two rows of three (```) backtick characters to form a scrollable text box, or …
  • use the </> button in the Compose window to achieve the same result.

The empty row between these rows of backtick characters is where to paste any multi-line command output (such as inxi).

An example of a pre-formatted text enclosure:

What is a Quark?

A. In Physics, an elementary particle and fundamental constituent of matter. 
B. A character from the Star Trek: "Deep Space Nine" television series.
C. A soft, creamy, usually unsalted cheese traditional to central Europe.

Just an update the alarm-repo Chromium-v148 now support vpu hardware acceleration on opi5-plus.