Firefox WebRender

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.

I just set the variable gfx.webrender.all in about:config to true and restart FF.

1 Like

@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.

Maybe I missed something, but here is the about:support page snapshot for my PinebookPro running latest ManjaroARM 20.10 Sway edition…

I see only one difference: I use 2.1 Mesa 20.3.0-devel (git-10d44fec2d). I’ll try to install mesa instead!

EDIT: I tried and there is not a single difference.

@appelgriebsch do you mind sharing your about:support data? Here is mine: Pastebin.com - Potentially offensive content ahead!

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:

export PAN_MESA_DEBUG=gl3
firefox
1 Like

On my old Asus, setting gfx.webrender.all & gfx.webrender.enabled to True

and running Chalkboard HTML5 Benchmark

makes me come from:


to:

[Edit] I add the Chrome perf, WebRender seems to give a real hedge to FF !

1 Like

On my Pinebook Pro with gfx.webrender.enabled set to TRUE

… and this one with having gfx.webrender.enabled set to FALSE :open_mouth:

1 Like

@labo you can find mine here: FF82 — paste.sr.ht

1 Like

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.

And Chromium is 23.22.

1 Like

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 had to revert all the changes I made to activate WebRender. It seems to crash my Pinebook Pro a lot.

2 Likes