On every login I have to set Tearing Prevention (VSync) to None and then back to automatic to prevent screen tearing. Reproducible: Always Using the nvidia blob version 325.15.
please post the output of "qdbug org.kde.kwin /KWin supportInformation" right after the login and before doing anything else as well as the one from after altering the setting. Also attach /var/log/Xorg.0.log and the output of env | grep YIELD
Sorry: qdbus org.kde.kwin /KWin supportInformation ^^^ <- notice the "s"
Created attachment 81755 [details] output of qdbus org.kde.kwin /KWin supportInformation just after logging in. output of qdbus org.kde.kwin /KWin supportInformation just after logging in.
Created attachment 81756 [details] output of qdbus org.kde.kwin /KWin supportInformation just after re setting the Tearing Prevention. output of qdbus org.kde.kwin /KWin supportInformation just after setting the Tearing Prevention to None and back to Automatic.
Created attachment 81757 [details] Xorg.0.log
There is no output from env | grep YIELD
Ok, you're not using triple buffering and __GL_YIELD is not exported as "USLEEP" Nvidia will perform a busy wait for this, leading to high CPU load just for swapping. (It should be reset to "none" internally after some seconds, even if you changed it) Ideally enable triple buffering /etc/X11/xorg.conf.d/20-nvidia.conf ---------------------------------------- Section "Device" Identifier "Default nvidia Device" Driver "nvidia" Option "TripleBuffer" "True" EndSection Alternatively 'export __GL_YIELD="USLEEP"' at least for kwin. (exporting it automatically from a script in ~/.kde/env will export it for every application in the session) *** This bug has been marked as a duplicate of bug 322060 ***
enabling triple buffering worked for me thanks.
I had this bug on my GeForce 7900 GS with NVIDIA proprietary driver 304.88. I already had triple-buffering enabled, but adding 'export __GL_YIELD="USLEEP"' to /etc/profile fixed it for me.
Wow, I've been losing my hope. I've been trying to fix this since 4.10 release, looked up tons of forums, bug reports, nothing had helped. To me symptoms were even funnier, it did work for a while and then, after a few seconds the tearing was back. Anyway, not only setting to None and back did work for me but also the __GL_YIELD trick fixed it for good (the triple buffer setting alone didn't).
see duplicate, triple buffering detection seems to pot. fail during login. the entire thing didn't work before 4.11, since there was no "swap encouragement" and copying memory into the frontbuffer was too slow for (most) retrace times.