Since my “level” is too low for the tutorial section, I´ll post this here. Would be great if anyone tests this and provides some feedback, thanks!
Problem:
I tried almost every workaround regarding tearing prevention for my nvidia card (GTX1070) under Plasma. Some helped preventing tearing but I still got a lot of stuttering and short “desktop freezes”.
Working solution:
First of all I replaced Kwin with kwin-lowlatency (AUR). Second step was to remove all nvidia-settings and xorg config. Next…
• install kwin-lowlatency and replace Kwin
• remove ~/.nvidia-settings-rc and /root/.nvidia-settings-rc
• remove/rename /etc/X11/xorg.conf
• remove/rename /etc/X11/mhwd/nvidia.conf
Reboot!
After rebooting run nvidia-settings and tick “Allow flipping” under the OpenGL settings tab. Save current configuration and exit.
Last step, compositor settings:
• tick “Allow applications to block compositing” (active),
• untick “Suspend compositor for full-screen windows” (deactivated),
• Minimum latency 0
This is one of the “older” solutions I tried first. Afaik this will add some input delay and it didn´t solve the stuttering for my setup. To be honest my next card won´t be a nv-card
I see that all of you have tested a lot of things, and many of them may have been even more advanced.
As I have configured a laptop last week with Nvidia graphics card, I would like to post here a simple tip that improved the overall experience in my side, and maybe could help those not so experienced in changing config files etc.
So, by changing the Compositor Scale method from Accurate to Smooth under: System Settings > Display and Monitor > Compositor >Scale method
has improved a lot the experience, and in case this is not enough, someone could also change between Open-souce and proprietary drivers in order to check what works best.
To get rid of tearing with Nvidia GPU it is simple and doesn’t require all of that, first disable all the vsync/anti-tearing features from the OS:
then use the official Nvidia Settings Panel to select your resolution and refresh rate properly (do not let Auto, manually override with the proper values) in the Advanced mode of the Nvidia drivers, and make sure to enable Full Composition Pipeline.
After applying settings properly make sure to start the nvidia-settings panel again with sudo privileges to save the settings to the nvidia.conf file, in terminal type sudo nvidia-settings.
Review the settings make sure it is as expected, and click the Save to X Configuration File button, browse to the proper configuration file at /etc/X11/mhwd.d/nvidia.conf and save.
NOW REBOOT. This is important as Full Composition Pipeline doesn’t work properly when enabled/disabled on the fly. It will work properly after reboot.
Test the tearing in games, movies, or most obvious to me in long web pages by scrolling down. Without Full Composition Pipeline long web pages would have horrible tearing while scrolling in them (and you can easily increase or decrease scrolling speed to amplify or diminish the tearing).
This is as simple as that, no need to do anything else.