ForceFullCompositionPipeline
in nvidia-settings
was sufficient to eliminate all tearing and didn't cause any manjor performance drop. Occasional stutter in desktop effects might have been present, but I'm not quite sure about that.
Games usually worked better with KDE compositor disabled, but were tearing-free.
ForceFullCompositionPipeline
causes ridiculous stuttering - even the mouse cursor is not moving smoothly. Disabling it removes this issue, but results in screen-tearing in most applications.
Tearing in desktop applications can be solved by enabling TripleBuffer
and disabling AllowIndirectGLXProtocol
in /etc/X11/mhwd.d/nvidia.conf
, adding export KWIN_TRIPLE_BUFFER=1
to /etc/profile.d/kwin.sh
and setting tearing prevention in compositor settings to "Re-use screen content".
It's not perfect, though, because it only has effect while the compositor is running, meaning that games will likely exhibit tearing.
Fan revving workaround for GIGABYTE...
The game runs on ~55 FPS, a little bit below 60Hz. Without any tweaks tearing is massive, and setting options such as __GL_SYNC_TO_VBLANK
does not help here.
Running export __GL_YIELD=USLEEP
yields the best result, because it reduces tearing to an acceptable level (such as one would expect from a slight framerate mismatch). I might just be paranoid at this point and see screen-tearing where it isnt't present.
TODO: Check whether tearing happens when when the framerate is above 60 FPS.
Runs smoothly when the compositor is enabled.
Somehow, enabling Vsync in the game makes the tearing even worse. Tearing occurs even if the framerate is above 60 FPS.