Whenever a notification appears (and dissappears), the entire desktop (both compositing and applications) stutters. It’s noticeable during daily use and irritating while gaming.
There also is some stutter when opening/closing windows, but I don’t know if this is related, and it isn’t that extreme.
Video: KWin notification lag - YouTube
I’m using KDE Plasma 5.21.5 with KWin 5.21.5, X Server 1.20.11 and GTX 660 with driver 460.73.01. The distribution is Debian Sid (KDE packages are from the experimental repo).
The same issue occured in past versions of both KDE and the Nvidia driver.
I can’t reproduce it on a Thinkpad x240 that has an Intel iGPU, but otherwise uses the same packages and their versions.
I have reported the problem to KDE, and they said it’s likely a problem with the driver, so I’m reporting it here.
glxgears or similar, it can help to use
mangohud to make the stutter visible graphically (it shows a performance graph).
- Open Konsole (any terminal really) and run:
in the shell. This will spam some notifications for you.
while true; do notify-send -t 2000 test; sleep 2; done
- Notice how whenever the notification appears, there is a visible stutter in
glxgears and the performance graph from
mangohud rises (if you launched
glxgears with it).
- Move some windows around.
- Notice the lag whenever notifications appear and disappear.
nvidia-bug-report.log.gz (386.3 KB)
EDIT: New nvidia-bug-report.log with verbosity on X Server enabled.
I have the exact same issue. I can consistently reproduce it, and experience it every time I get a notification.
Manjaro Linux, KDE Plasma 5.22.5, Kernel 5.14.0-0-MANJARO, X11. GTX 1060 6GB, driver version 470.63.01.
I’ve been having the issue ever since I started using a Linux desktop about a year ago.
Can’t reproduce on my laptop with integrated AMD graphics.
Good to know that I’m not alone on this!
Same problem here!
System: Kernel: 5.11.0-34-generic x86_64 bits: 64 Desktop: KDE Plasma 5.21.4 Distro: Ubuntu 21.04 (Hirsute Hippo)
Machine: Type: Desktop System: Gigabyte product: B360 AORUS GAMING 3 WIFI v: N/A serial:
Mobo: Gigabyte model: B360 AORUS GAMING 3 WIFI-CF v: x.x serial: UEFI: American Megatrends v: F12
Graphics: Device-1: NVIDIA TU106 [GeForce RTX 2060 Rev. A] driver: nvidia v: 470.63.01
Display: x11 server: X.Org 1.20.11 driver: loaded: nvidia resolution: 2560x1600~60Hz
OpenGL: renderer: NVIDIA GeForce RTX 2060/PCIe/SSE2 v: 4.6.0 NVIDIA 470.63.01
I experience the same problem on Plasma 5.22.5
Using the reproducing line from the first post, there is a noticeable stutter in
glxgears on very notification that is created.
Operating System: Arch Linux
KDE Plasma Version: 5.22.5
KDE Frameworks Version: 5.86.0
Qt Version: 5.15.2
Kernel Version: 5.14.7-arch1-1 (64-bit)
Graphics Platform: X11
Processors: 12 × AMD Ryzen 5 2600X Six-Core Processor
Memory: 31.3 GiB of RAM
Graphics Processor: NVIDIA GeForce GTX 970/PCIe/SSE2
NVIDIA driver version: 470.74
Encountering this on my desktop (Arch Linux 5.14.12 / Plasma 5.22.5 / NVIDIA GTX 1050Ti on 470.74), and not on my laptop (Same software with Intel HD 4400).
I initially suspected Pulseaudio was causing the stutter all this time, before observing it with PA closed, and then pinning down the KDE notification service and finding this thread from there. I’ve noticed the issue long-term as well, at least since Nov 2020, and so far I’ve stuck the chattiest apps inside a VM or in do-not-disturb as a workaround.
This old thread shows a bit of additional dialogue around this issue as well as a few threads on Reddit, even just a few hours ago.
Really hoping this gains some traction and additional eyes! Attaching my bug report log as well, hoping it can be of assistance:
nvidia-bug-report.log.gz (1.3 MB)
I have personally seen a similar issue where just launching any application could cause visible stutters in KDE Plasma; it’s quite an old issue
(I’ve had it across several distros for about 2 years)
Yeah, additional testing shows that it’s the case for any window appearing. Unfortunately, I can’t edit my original post or even change the title.
I also had it as far as I can remember, and that was when I started using Plasma, not long after I started using Linux. Plasma was in 5.4 or something back then.
I have the exact same issue you’re reporting. I managed to solve it by means of the solution proposed here, number 2 (Disabling KWIN Vsync and force full composition pipeline). I found that latte-dock still stutters, disabling tooltips solved that one for me. It seems that after two years I can finally enjoy a stutter-free Plasma experience on nvidia!
I had the same issues. I’ve seen older issues related to this. I’ve tried all kinds of config changes, environment variables, forcing the composition pipeline… You name it. After all these years the situation with NVIDIA and KDE haven’t changed at all. KDE Plasma runs poorly on NVIDIA cards. Even a 10+ years old AMD card could run KDE Plasma way better than modern NVIDIA cards (including the new RTX models!).
KDE Plasma is my go-to desktop environment and I can’t see myself changing it in the future. So what options are left…?
I used to have a GTX 1080 Founders Edition in my desktop PC. I installed Manjaro KDE on it, and also on an old HP EliteBook which has an AMD 7570M mobile GPU. The difference between my two systems were day and night. My old HP EliteBook with that slow AMD 7570M could run KDE Plasma butterly smooth. I experienced all kinds of stutters and lags with NVIDIA on my Ryzen desktop PC (AMD 3700X CPU).
Finally I solved my problem. I ordered an AMD Radeon RX 480 8GB from eBay and replaced my GTX 1080 with it. All the lags and stutters are gone and I’m super happy with KDE Plasma (Manjaro). Everything became smooth and nice without any hacks. With AMD video cards every distro I tried works out of the box.
Since I simply don’t have the time to struggle with NVIDIA related problems nor I want to - this was the best option in my case. I will just ignore all NVIDIA products in the future, because it is simply a bad experience for me. This is sad, because I really loved my GTX 1080, but the product should serve the user, and not the other way around.