Skip to content

Instantly share code, notes, and snippets.

@Jacajack
Last active June 27, 2020 00:32
Show Gist options
  • Save Jacajack/71f469b04f5447328856105e30f8fe58 to your computer and use it in GitHub Desktop.
Save Jacajack/71f469b04f5447328856105e30f8fe58 to your computer and use it in GitHub Desktop.
Adventures with Nvidia in search of tear-free experience

GTX 1060 (3GB) + 440.82

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.

RTX 2070 SUPER + 440.82

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 Witcher 3 (3840x2160)

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.

Kerbal Space Program (3840x2160)

Runs smoothly when the compositor is enabled.

Quake II RTX

Somehow, enabling Vsync in the game makes the tearing even worse. Tearing occurs even if the framerate is above 60 FPS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment