Attempts to eliminate screen tearing on ARM on Raspberry Pi 4 Buster
-
Hello All.
I've come here to post some research I've already done and hopefully can get some assistance on trying to narrow down some video tearing and also some instability (when there is no tearing).
I've tried 4 different methods to get a Kiosk browser working on a webpage that does primarily video and high frame rate animations.
- Buster Chromium
- Custom Electron App built for ARM
- Vivaldi
- Firefox ESR
Buster Chromium is built in a way that there is no screen tearing on video and fast animations. But with this apparently comes instability as if this runs for 5 hours (up to 18 hours) on end, I'll eventually get the "Aw Snap" message that the tab has crashed.
Custom Electron App built for ARM is the most reliable so far but includes tearing on-screen for videos and fast animations. I've had this solution run for 24+ hours with no issues at all to stability.
Vivaldi is similar to the Electron because it includes tearing on-screen. I'm currently in the process of letting a device run for hours to see if the "Aw Snap" crash happens and will report back.
Firefox we cannot use because their older ESR builds do not work with our app because of uglifying mechanisms we apply on our production builds. It's worth mentioning we did try this. It seems we need to stick to Chromium foundation render engine.
Here is a link to the Electron post I've submitted to get some assistance in their ARM specific builds to try to figure out how to eliminate screen tearing and have stability at the same time (Vivalidi may be able to benefit from this solution I believe).
https://github.com/electron/electron/issues/22956
Here is a link to a Stack Exchange post I made prior to the Electron posting and has additional information.
I'm beginning to believe that the Chromium way of no tearing comes with the risk of long term stability by using hardware accelerated playback. I've also read that the Raspberry Pi Foundation pays for their Chromium builds on ARM. I'm unsure where the repo is that has custom patches that are applied to Chromium for hardware acceleration.
Any and all suggestions and discussion are welcome here and over on Electron post!
Thanks -- as you can see I'm determined to come up with a solution
-
hi @ScottN, any news on this..? did you end up using the app?
my problem is more related to animation at the moment, videos seems to play fine on chromium but the idea was to trigger some animations, sliding cards and things like that with a sensor, it works ok but tearing is really really annoying... did you really had animations playing with no tearing in default chromium?
also tried pi3d with some planes so to write textures directly to gpu, it's a lot better on the tearing side but also less practical and flexible than just having html files... have not tried to let the thing run for a few hours either
thanks for any new info..!
-
Ppafflick moved this topic from VPN on