I have heard that mainline linux can boot on nio12l with panfrost gpu acceleration. Chromium has V4L2 Stateless AV1 decoder support but it is not enabled for linux by default, and there are two V4L2 Stateless av1 decoder in mainline linux: mediatek and rockchip rk3588. Chromium adds V4L2 Stateless AV1 decoder support for their mediatek chromebooks, so I guess chromium should have better support of av1 decoder on nio12l. I would help me a lot if there are debug logs on this board when playing av1 videos. I’m doing some work to enable av1 v4l2 decoding for chromium.
To test chromium built with av1 decoder support:
- First make sure you are running mainline kernel with debian trixie rootfs.
Then download chromium debs I builtJust install chromium from debian repo:Install my chromium debs after extracting the tar ball:
sudo apt install chromium
- Make sure there are two lines in
/etc/chromium.d/default-flagsto enable vpu decoding
export CHROMIUM_FLAGS="$CHROMIUM_FLAGS --ozone-platform-hint=wayland"
export CHROMIUM_FLAGS="$CHROMIUM_FLAGS --enable-features=AcceleratedVideoDecoder"
- Open chromium and check if there is av1 decoder detected in
chrome://gpu - If av1 decoder is detected, close all chromium tabs and run command
chromium --enable-logging --vmodule=*media/gpu*=5 --ozone-platform=wayland Big_Buck_Bunny_720_1s_AV1_30MB.mp4to play the video in the tar ball, see if the 1 second video is played well, and collect logs from~/.config/chromium/chrome_debug.log
==========Update on 1st Dec===========
I have updated the built chromium with patch that can fix av1 decoding issue on rk3588. I think the patch shoud not harm other platforms like mediatek, so this test can be a chance to confirm it.
===========Updated on 16th Dec================
Debian has merged by MR of enabling v4l2 av1 decoder, so just use chromium v143 from trixie-security should be fine.
For ubuntu users can take a look at chromium package in ppa xtradeb: xtradeb applications : “xtradeb packaging” team, in which chromium is uploaded by debian’s chromiun maintainer and it is using build config from debian.