So when will desktop performance issues be addressed by nvidia?

I’ve been aware of this issue only since keppler.
But it’s everything from animations and window resizing that is just subpar.
Like a jump from GTX 1060 to RTX 2070 Super is big enough that most of the desktop performance issues are gone, except this one.

The issue was present on GTX 650, 710, 940mx, 1050, 1060, 2070 Super any nvidia gpu I touched has this performance issue, the only solution that worked was to use the open source driver, but that’s something that doesn’t have the best performance in gpGPU/Graphics tasks.

The video showcases the issue by competing in a very simple task against a laptop Vega 3 gpu, both are running at idle.

Gpu driver: Nvidia 525.85.05
Kernel: Linux 6.1.8

If I put GTX 1060 to the competition it would have issues smoothly rendering animations at app startup, at start menu, well there are still some things to be desired when bringing up applets etc.

The issue also shows itself when resizing a stress test “gputest /test=tess_x32/64” window, it’s pretty much buttery smooth on Vega 3 even if the igpu begins to drop frames (with x64 tessellation) on the hardware cursor every couple secs, while the RTX 2070 Super struggles deeply with window resizing.

Is there anything nvidia plans to do about this?
Why is it that a thing should be handled well even by GT 710/GTX 1030 is subpar on Y60/YX70 line of hardware after 12 years of driver development?
Did no one ever complain about it, no one ever noticed that snapping a window, notification animation on gtx 1060 causes very visible stutter?

I just want someone to fix this 12 years old bug.

1 Like

This is absolutely infuriating. Even more infuriating is people on all support/community avenues (reddit, phoronix, gits, here) blaming everything else but the nvidia proprietary linux driver.

On x11 the driver literally can’t do anything in parallel without shitting itself to stutters, severe frame drops, judder, and even audio hitches.

Just hovering the mouse over buttons, or a popup showing up, or opening an app, or a video playing on browser or mpv and you’re guaranteed to drop frames on everything, getting worse with more and more apps that use hardware rendering including DE shells, electron apps, browsers, video players etc.

If I have any kind of compositing on and I’m in a meeting call streaming my desktop, doing anything gpu accelerated with the desktop generates AUDIBLE hitches along with the frame drops/visual stutter, making it unusable.

Literally lost my will to use a linux desktop after buying the RTX 3090, which painfully remembered why I dumped my GTX 980 years ago for a RX580.

Unfortunately I need CUDA for my current work, so I’m running without options atm. Even considering getting a CPU with iGPU just to drive basic desktop tasks that a 1000$ card should ridiculously smoke through, even at minimum clocks (noveau has no such problems, clock-limited as it is).

Wayland is superficially smoother regarding stutters/animations, but when you actually use it, even ignoring the lack of basic features like night light/gamma ramps, you notice the shitfest of Xwayland apps mis-synchronizing because of Nvidia refusing to implement implicit sync. Text input randomly takes several seconds to trigger a window change, random stuff stop rendering.

Whoever claims to not have these problems is either blind or has the reflexes of a sloth. Or has never used a Intel/AMD desktop properly working.

I noticed that you use KDE Plasma, unfortunately under Xorg to mostly resolve the desktop issues you would need to use ForceCompositionPipeline to be enabled in the config and these two additional options:

Option         "UseNvKmsCompositionPipeline" "false"
Option         "TripleBuffer" "on"

At least from what I’ve tested this works fairly well and resolves most of the KDE + Nvidia “shenanigans”, alternatively you can disable AllowFlipping, but that option was quite unreliable(some hitches still occurred) and if you use the above in your config file alongside enabled ForceCompositionPipeline, AllowFlipping on or off made no difference.
I did a report of a similar behavior on this(but it seems to be rather DE specific cases) UseNvKmsCompositionPipeline set to false mandatory to fix hitches/stutters/unresponsiveness

FCP = more input lag and more stutter
TripleBuffer = messes with frame timing, visual judder/stutter when scrolling
UseNvKmsCompositionPipeline = no difference anywhere for me

Also, same problems under Gnome and XFCE. Plasma is not the problem, it may show up more often under Plasma because plasmashell and kwin are both rendering to different OpenGL contexts at the same time, which is the same usecase that breaks under other environments (like two different opengl apps syncing to vblank)

I am unable to reproduce this on GNOME and XFCE, also UseNvKmsCompositionPipeline can not work by itself if you don’t enable FCP, hence why no difference.

Can you provide more details which distros have you tried, kernels, which specific nvidia driver(is it latest 525 ?).
Even live booting usb Ubuntu, EndeavourOS(live usb for this is XFCE), no issues under both RTX 3070 and RTX 3090(which I just swapped my 3070 for).
KWIN has an issue, it is meant to sync under TripleBuffer for nvidia, but by default it doesn’t use it unless you specify.

Using latest kernels I haven’t had issues(mostly used KDE Plasma, but other DE that I tried are MATE, XFCE, Gnome and Cinnamon), the only problem I had was making multi monitors(high refresh + 60hz) not working correctly under xorg, until you specify env variables to sync to high refresh.
Currently I’m staying more on wayland on kde, mostly without issues or drawbacks to my use cases, however if you could give me some additional things to test, I will be happy to test out to track where this issue is coming from.

Just to exclude the possibilities of any differences, can you please try the config below and update me with your results(setup the monitors for your own setup and just use FCP usenvkms and triple same as me.

My config for Xorg, for KDE Plasma, for plasma without FCP, usenvkms and triplebuffer it was extremely bad, other DE didn’t observe such behavior:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "NVIDIA GeForce RTX 3090"

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-1"
    Option         "metamodes" "DP-2: 1920x1080_144 +2560+180 {ForceCompositionPipeline=On, AllowGSYNCCompatible=On}, DP-0: 2560x1440_165 +0+0 {ForceCompositionPipeline=On, AllowGSYNCCompatible=On}"
    Option         "UseNvKmsCompositionPipeline" "false"
    Option         "TripleBuffer" "on"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24

EDIT: Additionally(I don’t personally use that, but worth also a try) you can completely disable the sync to vblank for anything that uses OpenGL/Vulkan with env variable:


Place in your /etc/environment

I have tried everything you said, funnily I’m on same distro and latest drivers.

why don’t just open glxgears and try it for yourself…

Alright thanks,
yes running glxgears did affect it, not as shown in your video but the problem did occur.

Interesting I have ran graphical intense apps and haven’t had such issues, will test more and get back to you if I can come up with a solution.

For reference attaching a video recording.

EDIT: For reference this specific bug is observed under wayland session as well.
2023-02-03 23-30-52.mkv (4.1 MB)

Yeah thats it. though it looks to me it’s a LOT better on your case than mine, the difference being your higher refresh monitor than mine (165hz vs 75hz). If I set my monitor to 60hz it becomes even worse, confirming my suspicions.
Can you try running “while true; do notify-send -t 2500 test; sleep 2.5; done” with glxgears opened as you did, and also hovering over taskbar stuff (icons, windows, widgets). Also try chrome(ium) with vsynctester . com and resizing windows. Same as this

edit: looks like larger intervals between vblanks = longer stutters

edit2: also, try doing those things while in a discord/skype call. Audio start to hitch randomly, at least both my desktop and on a laptop with igpu/dgpu it happens only when nvidia is driving the display, same for all other issues.
Simply using the igpu has 0 problems. Sadly my main rig with the MORE expensive/powerful gpu has no igpu yet.

Audio hasn’t hitched for me, but I did have weird Audio hitches when I used xanmod kernel as oppose to using tkg pds now.
It is indeed very strange, it drops frames(less visible on high refresh rate, but definitely there).
Really bizarre, I tried something else instead there is a way to disable kwin’s vsync mechanism completely(as the option was removed, there was added env variable due to some nvidia cases where it was needed), while it remedied a bit, it still didn’t completely solve the problem.

I’m currently on default kernel as neither zen or xanmod fixed the problems I have or made anything visibly better.

about running kwin without vsync. try KWIN_X11_NO_SYNC_TO_VBLANK=1 kwin_x11 --replace
but it won’t change much as glxgear’s vsync also will stutter because of shitty opengl vsync implementation that seemingly blocks everything on multiple usual situations.
If you disable glxgears vsync with __GL_SYNC_TO_VBLANK=0 then it should not stutter, provided you don’t have any other app vsyncing.
So it leaves you with the shitty solution of forcing vsync off everywhere with env vars and application profiles, wasting power with GPU at high loads, then lose GSync and add high latency with FCP for it not to tear. Nah, thats sounds terrible.

1 Like

This definitely seems like an issue and should be addressed, unfortunately I wasn’t able to resolve it completely, you can sort of remedy it by setting “prefer smoother animations” on KDE settings.

It’s been an issue for ever. Want to hear from Nvidia support if there is any hope for a smooth desktop ever on Linux+Nvidia GPUs.