This is a neat little trick that’s been making the rounds, and after seeing success with several people on Reddit I thought it was worth posting somewhere more visible. This will look at removing screen tearing (often entirely) when using Nvidia Proprietary graphics on the Plasma Desktop.
First, you should only do this if…
- You are running Proprietary Nvidia drivers.
- You are experiencing nasty screen tearing.
- You are using a recent driver version.
- You trust instructions from the internet.
The trick is enabling a feature called “Force Composition Pipeline”, or “Force Full Composition Pipeline”. What this does is essentially a driver-level vsync, but I haven’t found particularly good documentation on the feature. Most instructions you can find online will instruct you how to do this manually via config files, but I’ll explain how to do it via GUI as less can go wrong, and the GUI is there to be used. You can do a search online and easily find several manual sets of instructions if the GUI isn’t your thing.
- Open your favourite launcher and go to Applications -> Settings -> Nvidia X Server Settings.
- On the left side pane, select “X Server Display Configuration”. It’s second from the top.
- Select a monitor.
- Click “Advanced” to show all the options (if they are not already shown)
- Check “Force Composition Pipeline”.
- Return to step 3 if you have more than one monitor, until all the monitors are configured.
- Click “Apply”.
- If it hasn’t eaten a puppy, you’ll see the confirmation to keep the settings. If things have gone terribly wrong, wait half a minute and it will revert the changes.
If you still experience tearing, you may need to go and “Force Full Composition Pipeline”, which is a more extreme version of the feature.
As a follow-up, if the composition pipeline is on and working, the Nvidia driver is essentially providing its own flavour of vsync. You’ll likely want to turn off Kwins vsync otherwise you may experience stutter in several situations, where it essentially halfs your potential frame rate. This mostly applies to games, possibly video, and I only recommend this step if you see stutter too;
- In your favourite launcher go to Applications -> Settings -> System Settings.
- Select “Display and Monitor”.
- On the left side pane, select “Compositor”.
- Under “Tearing Prevention (‘vsync’)” select “Never”. You may wish to take note of the current setting if you need to revert it later, by default it’s “Automatic”.
Of course, there are some “gotchas” to keep in mind!
First; if you change your displays, rotate them, or anything else, you may experience tearing again, especially if you disabled Kwins Tearing Prevention. You’ll need to go back in and re-apply the settings.
Second; you may see a performance impact with games. I personally haven’t, but several articles on this subject do mention it as a drawback of this feature. Additionally it’s not quite something you can toggle on/off easily if getting your game on is impacted.
Third; on laptops with Nvidia PRIME, you may have difficulty enabling this feature. If you do, you may want to leave Kwin Tearing Prevention alone should it switch to Intel graphics and begin tearing. I’m not an expert on this and cannot test this with a PRIME-enabled machine, so your mileage may vary.
Lastly; these are instructions from someone who doesn’t know a huge amount about drivers and display servers. For all I know this heats up your GPU to 300 degrees and was meant to roast marshmallows. Proceed with caution.
Special thanks to “AbstractOperator” and “cristianadam” for letting me know this works on multiple monitors, and cristianadam for pointing out this youtube video; play this video (ideally full-screen) to test and spot tearing.