I have a problem using chromium-browser in kiosk mode on a raspberry pi 4.
I launch a web interface in Html with my video on it. Sometimes there is some drop frame / lag on the video, and I don't know why. I have tried to activate the hardware acceleration on my chromium browser.
Here is the return of the
Graphics Feature Status Canvas: Software only, hardware acceleration unavailable Flash: Software only. Hardware acceleration disabled Flash Stage3D: Software only. Hardware acceleration disabled Flash Stage3D Baseline profile: Software only. Hardware acceleration disabled Compositing: Software only. Hardware acceleration disabled Multiple Raster Threads: Enabled Native GpuMemoryBuffers: Hardware accelerated Out-of-process Rasterization: Disabled Hardware Protected Video Decode: Disabled Rasterization: Software only. Hardware acceleration disabled Skia Renderer: Disabled Surface Control: Disabled Surface Synchronization: Enabled Video Decode: Software only. Hardware acceleration disabled Viz Service Display Compositor: Enabled WebGL: Software only, hardware acceleration unavailable WebGL2: Software only, hardware acceleration unavailable
I don't know why these two lines are disabled :
- Out-of-process Rasterization: Disabled
- Hardware Protected Video Decode: Disabled
Here are the flags that I use for launching chromium-browser :
chromium-browser --noerrdialogs --ignore-gpu-blacklist --enable-native-gpu-memory-buffers --enable-features="CheckerImaging" --disable-infobars --kiosk --autoplay-policy=no-user-gesture-required
In my first version, I managed te resize the orginal video resolution from 1920x1080 to 1560x878 with CSS directly on my interface, but the framerate was very low. In my second version, instead of using CSS to rescale the video, I did it beforehand with Avidemux and I removed the CSS rule. The video has the right size, the framerate is slightly better but the lag problem is still here.
If anyone has already encountered such a problem of if you have any information that could help me solve my problem, thank you in advance.
Other information :
Here is the information about my raspbian :
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)" NAME="Raspbian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)" VERSION_CODENAME=buster ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
And my version of the chromium-browser :
74.0.3729.157 (Official Build)
My solution :
First I have update my chromium-browser with the help of @Botspot with that :
sudo apt update sudo apt full-upgrade sudo apt full-upgrade --fix-missing == fake-KMS Activation via raspi-config (see above the answer of Botspot) ==
After that still no Hardware acceleration.
So after some search I have install the following packages (in
chrome://gpu there was some errors in logs):
sudo apt-get install libgles2-mesa sudo apt-get install mesa-utils sudo apt-get install libsdl2-dev
For enable hardware acceleration :
+-> need to add this flag to chromium :
After reboot still some error
GetVSyncParametersIfAvailable() failed to fix it :
+-> add this flag to chromium :
Finaly some tweak there is the list of my chromium flags :
chromium-browser --noerrdialogs --use-gl=egl --enable-gpu-rasterization --enable-native-gpu-memory-buffers --ignore-gpu-blocklist --disable-infobars --autoplay-policy=no-user-gesture-required --check-for-update-interval=31536000 --kiosk 'http://localhost:3000'
chrome://gpu there is still Out-of-process Rasterization disable. But with theses changes the video have less drop and lag.
Hope this will help someone in the future :) .