Firefox on Linux is still not working well with WebRender for me (again)
Almost a year ago, I had problems with Firefox's WebRender on my Linux machine, including both bad jank and bad performance under some circumstances. Back then I turned it off with the gfx.webrender.force-disabled setting in about:config and forgot about the whole thing. Recently I updated my build of Firefox Nightly to the current one and all of a sudden my problems came back. The reason for this is straightforward; as time marches on, Mozilla invariably forces people into the future, whether or not the future really works. Specifically, Mozilla first renamed the preference I used (in bug 1722055) and then forced WebRender on (in bug 1725388). WebRender is now mandatory, and in many environments it will try to do hardware WebRender (which is the part that doesn't work for me).
(It took me a bit to realize that my issue was probably WebRender again, because bug #1479135 - Black border around popups with non-compositing window manager has been fixed and WebRender Firefox is no longer obviously different than non-WebRender Firefox.)
For now, I can still get rid of my jank problems by forcing WebRender to software mode by setting gfx.webrender.software to "true". I'm not clear if the Firefox developers are as strongly against this code as they are against the non-WebRender code, but it wouldn't entirely surprise me if they are and it goes away someday, the problems various Linux users have with hardware WebRender not withstanding (NVIDIA users appear affected by some, for example). Or perhaps I am being too grumpy and cynical about Mozilla and Firefox developers.
(Because my issue is so peculiar, as covered in my original entry, I haven't filed any sort of bug about it. My results from filing Firefox bugs are hit or miss even for straightforward ones, and this one is not at all straightforward. I'm not even sure what the exact reproduction conditions are; I'd probably have to do relatively extensive testing.)
Based on looking at various things in these bugs, especially in bug 1725388, I believe that Firefox 93 is the first version that will ship with WebRender only, although Firefox 92 will ship with the preference renamed and so people who have been turning off WebRender will get a preview of what 93 will be like for them. This broadly matches the information currently on the WebRender status page.
Sidebar: My state in the official Firefox 91
In addition to my own build of Firefox Nightly, I also use an
official build of Firefox 91 for some things. For historical
reasons, this version has been running
$MOZ_X11_EGL set to "1", and did not exhibit the problem
although Mozilla apparently enabled WebRender by default in Firefox
91 on Linux. When I took out this setting, my official Firefox 91
began having severe jank in the same situation as my original problem
(in Firefox windows on fvwm virtual screens
other than my first one). Without the environment variable forcing
it on, Firefox's
about:status reports that X11_EGL is "available
by default" but "blocklisted by env: Blocklisted by gfxInfo".
Forcing gfx.webrender.software to "true" in my Firefox 91 profiles appears to fix the problem in light testing. (Time will create a more thorough test, if I keep not seeing the jank. It's very obvious jank, at least.)