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