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 !

2 Likes

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

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.

With standard kernel and mesa-git, i too get system freezes when using WebRender. I’ve switched back to OpenGL