Buttery Smooth Plasma Experience on NVIDIA

As we all know, Plasma experience on X11 with an NVIDIA GPU is not very smooth out of the box at least this was the case for me with latest Plasma (v6.0.4) on my GeForce GTX 1660 Super, reading through countless posts and tutorials on how to remedy the stutters and the lags and experimenting with different combinations of settings I finally managed to get a smooth tear-free Plasma working, and to save others from the time-consuming research and the frustration here’s what worked for and hopefully for others too.

Before going further, I wanna mention that I did these testing and the experiments on a clean install of the latest Manjaro KDE and NVIDIA proprietary drivers (550.78) and enabled the “Show FPS” effect just to measure the performance differences and here are the stats:

With stock settings for Plasma and the NVIDIA X Server:

Stutters and lags on the start menu closing and the application window opening when launching certain KDE applications such as System Settings with the frame rate dropping from 60 FPS to around 30 FPS which was horribly noticeable! 😰

After applying the optimal settings for Plasma and the NVIDIA X Server:

BUTTERY SMOOOOOTH animations! 🤩 I feel like I’m experiencing the beauty of Plasma for the first time after weeks of using it! And frame rates dropping only to just 57 FPS when launching from the start menu! That’s an almost 10X IMPROVEMENT in my case!

So without further ado here’s the solution…

TL;DR

Plasma settings:

Compositor:

  1. Allow application to block compositing: Unchecked

Workspace Behavior -> General Behavior:

  1. Animation speed: One or two notches to the left toward slow (Default was the middle)

NVIDIA X Server settings:

  • OpenGL Settings -> Allow Flipping: Unchecked

Now this is the magic trick, disabling this is enough to get smooth animations BUT there’s a caveat, disabling this introduces another common issue NVIDIA users face on KDE: SCREEN TEARS!!! 🥴 But fret not, here’s also the fix for that 😁 :

  • OpenGL Settings -> Sync to VBlank: Unchecked This causes hiccups during virtual desktop switches, so leave enabled unless needed to change.
  • X Server Display Configuration:
  1. Click on Advanced then select the maximum Resolution and Refresh Rate
  2. Check “Force Composition Pipeline” (NOT the Force Full… option)
  3. Click on Save to X Configuration file and a dialog pops up, Click on Show Preview to preview the file contents.
  4. Find Section “Device” and below the line that starts with BoardName add Option "TripleBuffer" "On"

Your Device section will look something like this:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GT 710"
    Option         "TripleBuffer" "On"
EndSection

  1. Hit Save and enter your password to save the file
  2. Open up your Text Editor and paste the following: export KWIN_TRIPLE_BUFFER=1
  3. Save it as kwin.sh in ~/.config/plasma-workspace/env/ (if the directories do not exist, create them)
  4. Add permission just to be on the safe side, run: chmod a+x ~/.config/plasma-workspace/env/kwin.sh
  5. Reboot!

And that’s it, enjoy your buttery smooth tear-free Plasma on X11 with your NVIDIA GPU! 😉

NOTES:

  • Sometimes upon wake-up from sleep I get a notification stating Desktop effects were restarted due to a graphics reset ! And after that stutters and lags are back! Even restarting the Compositor will not help, only a cold reboot will fix this. But this was the case even with stock settings, only this time lags are even more significant due to configurations put in place to force slower smoother animations. If anyone has a solution for this, please share, thank you.
  • As I mentioned before, I applied this on a clean install, I suggest the same for you just to have a clean slate and eliminate any hidden factors or settings you experimented a few months ago that don’t remember now, that may be causing issues!

Write a comment