Hi,
I would like to improve firefox performance on my pinebook pro.
I already use OpenGL for compositing by setting layers.acceleration.force-enabled=true (Speedometer2.0 goes up by 20%).
I would like to use the new WebRender.
I tried to set gfx.webrender.compositor.force-enabled but about:support says unavailable by runtime: WebRender initialization failed.
@appelgriebsch do you use the same hardware as I do? What does about:support say?
I get the exact same error message:
WEBRENDER
opt-in by default: WebRender is an opt-in feature
available by user: Force enabled by pref
unavailable by runtime: WebRender initialization failed
WEBRENDER_QUALIFIED
available by default
denied by env: Not on allowlist
WEBRENDER_COMPOSITOR
disabled by default: Disabled by default
Maybe there is something going on with this “allowlist”? I’ll try with 82.0.2-1 that just arrived (had 82.0-2)!
Update: I can confirm the error is still the same. The weird thing is that I notice some mouse issues (my pointer does not move as usual) after changing gfx.webrender.all to true.
You need to set the environment variable PAN_MESA_DEBUG to gl3 to enable the OpenGL 3 support that WebRender needs. If you do that with Mesa 20.2.0 or newer you should get WebRender enabled in Firefox. Example:
For comparison, my Pinebook Pro, Firefox 82.0.2, Mesa 20.2.1, Linux 5.9.8, with WebRender is 14.59 seconds, somewhat better than @appelgriebsch. Without WebRender and using OpenGL compositing instead, it is indeed much slower, 231.69.
Indeed, I get it to work by setting PAN_MESA_DEBUG=gl3.
Note that to make it work when launching firefox from the menu bar, you have to set it in /etc/environment.
I do get much better results at the chalkboard benchmark but Chromium is still way faster on Speedometer 2.0 (22 vs 13 runs per minute). Also, I setup PAN_MESA_DEBUG=gl3 globally and chromium also improved on Chalkboard: 21s for Chromium vs 25 for Firefox.
Also, my mouse has a weird behavior, especially when hovering on a canvas or the bookmarks. Do you experience the same?
No … that means you use that env var everywhere all the time.
If you want to use it in FF alone you should copy the .desktop file to .local/share/applications and edit it as shown here: Yet another thread on Firefox + VAAPI
I haven’t noticed a problem with Firefox WebRender so far. Suspend is pretty much totally broken on the PBP, but it’s been stable otherwise.
I’m using a custom build of Manjaro ARM 5.9.10-3 kernel. The Panfrost code in the kernel and mesa seems to be getting significantly better with each release, so I’d certainly try to be up to date before giving up.