Since my last reply, I’ve been using nvidia’s proprietary package for the most part, with GSP disabled using the “options nvidia NVreg_EnableGpuFirmware=0”. The same driver version is currently installed - 570.124.04.
Now I have removed this parameter and checked the smoothness without it. Indeed, the smoothness of the system has become much better than when I created this topic, but it still seems a little worse than with GSP disabled.
For the most part, the problem is now noticeable only when scrolling in browsers, I did not notice any problems when moving windows.
I switched to the open gpu driver, it’s much better now than it ever was. But I still notice a difference when the card is in P8 perf mode compared to for example P2. It’s buttery smooth in P2 mode.
But that difference is also noticeable with proprietary driver and GSP off.
I have the same issue on my Lenovo LOQ 15ARP9 with a RTX 4060 Mobile… It’s very annoying.
Doing the OBS Screen Recording trick removes 95% of the lags/frame drops in the DE(tested with KDE and GNOME), but sometimes it still lags, also my card is always on P8 and when I start the recording it puts itself in P3(on Gentoo Linux) and P0(on Fedora).
Disabling GSP makes the issue less problematic but it’s still there, and I sincerely fear that they will deprecate the proprietary driver in favor of the open kernel module which requires GSP.
I also have a weird issue that I think is kinda linked to the GPU (driver), when watching a video, local or in the browser(no matter the framerate/resolution) I drop a lot of frames, youtube can drop between 5 to 15 frames per second, twitch about the same and on MPV it’s about 5-10 frames per minute, I know it’s the GPU (driver) fault because MPV indicates two stats : Dropped Frames (decoder) and Dropped Frames (output). Dropped Frames (decoder) stayed at 0 the whole time and Dropped Frames (output) increased overtime meaning that the CPU is fast enough to decode the video without framedrops(yeah I never enable hardware decoding on my system) but the GPU couldn’t keep up with the frames that the CPU sent.
My laptop :
CPU : Ryzen 7 7435HS 8C/16T 4.55GHz, doesn’t have any iGPU.
RAM : 40GB(32+8) RAM DDR5 4800MHz.
Storage : PCIe Gen 4 512GB SSD.
GPU : RTX 4060 Mobile 115W.
OS : Gentoo Linux with the Linux 6.13.6 kernel, running on KDE.
Nvidia driver version : 570.124.04
@yann.boyer742 isn’t the frame dropping because of VRR, if you use go fullscreen that is? Watching in a normal window should work tho’.
You need to exclude the browsers so it doesn’t use VRR. In KDE you can make window rules for that.
I disabled VRR in KDE, the dropping frames happen both in fullscreen and windowed !
I never watch videos fullscreen anyways.
Hi everyone!
I’m experiencing the same issue on Ubuntu 24.04 with GNOME. I’ve submitted a bug report here, along with links to similar reports I found online.
If you’re also using Ubuntu 24.04 and GNOME, consider confirming the bug there. The more people affected, the more likely it is to get attention.
A followup, compared to AMD, Nvidia is still slightly laggy in KDE Wayland while AMD is silky smooth.
So things need to improve more.
Hey there,
I’m pretty new to the Linux ecosystem and this problem was driving me up the wall! The box I’m on is pretty much a fresh install so there are hardly any optimizations in place. Honestly, not even sure if everything is set up right.
Even though I’m on 1 monitor, I was still getting this micro stutter behavior ALL THE TIME. @shelter , with my limited knowledge, I think you are pretty spot on about what the root cause could be. I would see this stutter/lag every time I would transition from typing to scrolling on a webpage. Or even just browsing. All that matters is that there is an opportunity for the GPU to go into its lowest P-State. Something is not right with the P-States when transitioning from idle to any other state.
I tried out @Klusio19 's suggestion and that does work. I just didn’t like the power draw in my current configuration hovering ~130W at idle. Before, my system was ~22W at idle.
Here is all of the information about my system that may be helpful.
My specs:
OS: Arch Linux x86_64Kernel: Linux 6.15.2-arch1-1Display (DELA0FA): 3440x1440 @ 100 Hz (as 3133x1311) in 34" [External]DE: KDE Plasma 6.3.5WM: KWin (Wayland)WM Theme: BreezeCPU: AMD Ryzen 9 5950X (32) @ 5.09 GHzGPU: NVIDIA GeForce RTX 3080 Ti [Discrete]Memory: 4.28 GiB / 31.23 GiB
Using proprietary drivers:
~]$ lspci -k -d ::03xx
0b:00.0 VGA compatible controller: NVIDIA Corporation GA102 [GeForce RTX 3080 Ti] (rev a1)
Subsystem: Micro-Star International Co., Ltd. [MSI] Device 389b
Kernel driver in use: nvidia
Kernel modules: nouveau, nvidia_drm, nvidia
~]$ modinfo nvidia | grep ^version
version: 575.57.08
GSP disabled in kernel options (systemd):
~]$ sudo cat /boot/loader/entries/arch.conf
title Arch-Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=UUID=*UUID* rw nvidia_drm.modeset=1 nvidia.NVreg_EnableGpuFirmware=0 quite splash
Modules in mkinitcpio.conf:
~]$ sudo cat /etc/mkinitcpio.conf
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES=(usbhid xhci_hcd)
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
Again, new to Linux so not sure what is important.
Here’s how I fixed it for myself.
Same concept that ignacioff9kp posted. I don’t have an iGPU so something else was needed.
I could only get this working if I locked the minimum clock as a system wide change as root.
I absolutely cannot guarantee any of the following will work for you, but I hope it helps.
Created a new systemd service:
sudo nano /etc/systemd/system/nvidia-clk-lock.service
Configured the newly created service:
The values 615 and 2145 are for a 3080ti. To get the minimum 615, I just stared at
nvidia-settingsPowerMizer recreating the issue. Idle into something with power draw. 615 is a starting point and not optimized. Must be in increments of 15MHz.
[Unit]
Description=Lock the minimum clocks in GPU to avoid low P-State stutter
After=nvidia-persistenced.service # make sure NV driver is ready
[Service]
Type=oneshot
ExecStart=/usr/bin/nvidia-smi -pm 1
ExecStart=/usr/bin/nvidia-smi --lock-gpu-clocks=615,2145
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Enabled and started this new service:
sudo systemctl daemon-reload
sudo systemctl enable nvidia-clk-lock.service
sudo systemctl start nvidia-clk-lock.service
Verified the service is enabled and active:
sudo systemctl status nvidia-clk-lock.service
And then verified the P-State nvidia-settings and nvidia-smi:
~]$ nvidia-smi --query-gpu=pstate,clocks.sm
pstate, clocks.current.sm [MHz]
P5, 615 MHz
Now, I no longer see any stutters, and my power draw went from ~22W at idle pre change to ~28W post change. Hopefully this helps someone out there.
I tried @strayz.amh’s idea and it works flawlessly! But in my case, with my GPU (GTX1660Ti mobile 80Watts TDP) I set my minimum clock to 1455 Mhz - I picked that speed based on speed being set when I’m actively scrolling browser when it’s smooth. When I set it just like you - 615 Mhz, it was still too slow to spin up to higher P-states and was again laggy.
To sum up power draw (assuming GSP disabled on closed-source kernel module):
- Changing nothing: At idle 7 Watts, P8 state, stuttering and laggs when starting to scroll etc.
- My current method with gpu-screen-recorder: At idle 26 Watts, P0 state, no stuttering, no laggs when starting to scroll etc.
- @strayz.amh’s method with setting minimal clock - At idle 12 Watts, P5 state, no stuttering, no laggs when starting to scroll etc.
Thanks again for that idea @strayz.amh !
Work-around
In my case I have to max-out the iGPU frequency with:
sudo intel_gpu_frequency --max
Root cause
Even when games use the dGPU, the cursor still uses the iGPU.
The iGPU still thinks that the desktop is idle when using the dGPU, so the iGPU stays at a low frequency and the cursor animation is choppy.
As result, when you move the cursor on a game the camera is also choppy.
I reported this to KDE here.
I think I have this issue too, I’m not sure if it’s a nvidia driver issue or kde issue but scrolling feels much smoother on gnome than on kde, for example scrolling dolphin in kde feels much choppier than scrolling in nautilus in gnome