I Googled and found this Reddit post, by Reddit user Shamaoke, from
June 2021:

https://old.reddit.com/r/firefox/comments/nq5dy2/ff_89_tearing/

They were using Firefox 89 on Arch, but since they also reported screen
tearing, I decided to try their fixes.  The first fix they reported
worked:

Update 1: It seems that for some reason Firefox WebRender doesn't work
correctly on my machine. Since it is enabled by default starting with
Firefox 89, I have to disable it by using the
gfx.webrender.force-disabled = true about:config setting while
preserving layers.acceleration.force-enabled = true. After that tearing
has disappeared.

I changed those two settings in about:config in Firefox and the problem
stopped happening - I can scroll web pages without observing the tearing
anymore.

Since the need for changing those settings might depend on what window
manager / X server / video driver / video card you have, here are the
versions I have installed of possibly-relevant packages, from dpkg:

ii  xfce4                      4.12.5
ii  xfce4-panel                4.12.2-1
ii  xfce4-session              4.12.1-6
ii  xfce4-settings             4.12.4-1
ii  xfce4-xkb-plugin           1:0.8.1-2
ii  xfconf                     4.12.1-1
ii  xfwm4                      4.12.5-1
ii  xserver-common             2:1.20.4-1+deb10u4
ii  xserver-xorg               1:7.7+19
ii  xserver-xorg-core          2:1.20.4-1+deb10u4
ii  xserver-xorg-video-all     1:7.7+19
ii  xserver-xorg-video-radeon  1:19.0.1-1

Here is what "lspci -v" says about my video card:

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cedar 
[Radeon HD 5000/6000/7350/8350 Series] (prog-if 00 [VGA controller])
  Subsystem: ASUSTeK Computer Inc. Cedar [Radeon HD 5000/6000/7350/8350 Series]
  Flags: bus master, fast devsel, latency 0, IRQ 33
  Memory at e0000000 (64-bit, prefetchable) [size=256M]
  Memory at f7de0000 (64-bit, non-prefetchable) [size=128K]
  I/O ports at dc00 [size=256]
  Expansion ROM at 000c0000 [disabled] [size=128K]
  Capabilities: [50] Power Management version 3
  Capabilities: [58] Express Legacy Endpoint, MSI 00
  Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
  Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
  Capabilities: [150] Advanced Error Reporting
  Kernel driver in use: radeon
  Kernel modules: radeon

What I think Debian should do:

If it's possible to detect the need for these settings at install time
(based on what window manager is installed, or what X says it supports),
the Firefox package should adjust those settings as needed after it
installs Firefox.

A difficulty there is that I'm pretty sure the about:config settings are
unique to each Firefox profile.  Since there may be many Firefox profiles
on the system, the installer would have to look for and change them all.

If it's not possible or not a good idea to set this up at install time,
perhaps having WebRender disabled should be the default in the Firefox
package.  However, this may cause lower graphics performance in Firefox
for users that have software and hardware that supports WebRender
correctly.

Other notes:

Shamaoke also reported a few other things in their Reddit post which
probably don't directly affect this bug, but might be useful in the
future.  In particular, one of the settings changes names at Firefox 92:

Update 2: Apparently WebRender doesn't work in window managers which
don't support composition. To enable it, you will need to install
additional software, e. g. picom. Only after installing and running
the compositor, you'll be able to use WebRender in Firefox.

Update 3: In FF 92 the layers.acceleration.force-enabled setting was
removed. The gfx.webrender.force-legacy-layers = true setting should
be used instead of it. This setting will change the rendering method
form WebRender to OpenGL. Go to about:support > Graphics > Features >
Compositing to check what rendering method is being used by the
browser.

Thanks!

Matt Roberds

Reply via email to