How do you fix video tearing

I really think diagnosing this it helps to know the hardware in use. Then video information.
dmesg |grep vga
These are the core of video output. What video driver you are using matters alot.
I was using Intel i915kms as my daily driver and I had just gotten used to how bad the video tearing was.

My desktop hardware is SandyBridge laptops from 12 years ago. I recently upgraded to nvidia based laptop and it was amazing. No more bugs.
Even on newer Intel GPU based installs the tearing is gone.
So many times these symptoms on older hardware are just that. Intel KMS driver is slowly failing on older hardware. To me it seemed to get worse with every upgrade.

What is interesting is comparing scfb driver on older hardware. Does it tear there too? Then you have isolated the problem. Video driver or software applications.
scfb will do youtube video but the problem is the screen size. Limited to lower rez.
 
Keeping with X11, generally you can enable TearFree in your xorg config (most drivers support this, let us know which you have). This will be the most efficient solution.

Otherwise xcompmgr is an option (similar to picom) to give your Xorg session compositing. Though do note, in the same way as Wayland compositors, this does take more GPU resources and is likely overkill just to fix tearing.
 
If you have a Freesync/Gsync(-compatible) monitor, I would recommend you to enable Freesync, because it works with AMD and NVidia GPUs.
That way even on X11 you should be able to watch videos tear-free in fullscreen mode.
If you don't have a Freesync/Gsync(-compatible) monitor, my recommendation would also be picom, especially if you have multi-monitor setups.
In picom.conf you just need to setup V-Sync to true, and your tearing should disappear.

Wayland would be an option, too, and should probably work out of the box for most cases.
 
Back
Top