UseNvKmsCompositionPipeline set to false mandatory to fix hitches/stutters/unresponsiveness

Title is mostly self explanatory but additional details:
Firstly even without forcecompositionpipeline or forcefullcompositionpipeline the desktop itself has really weird hitches/stutters/unresponsiveness which carries into games.
Have tried to try different kernels - zen, standard one, tkg, my main current one - xanmod-edge but all have this issue.
Further to that it appears that KDE Plasma is the biggest culprit and sort of can be remedied with AllowFlipping set to off, however it still doesn’t make it smooth in fact the hitches/stutters/unresponsiveness are still there and can be seen.
When you set:
Option “UseNvKmsCompositionPipeline” “false”
To the xorg config file, the issues are somewhat gone, but random frame dips can still be observed in the desktop while using KWIN compositor(main compositor of KDE Plasma)

System information:
Ryzen 7 5800x3D
RTX 3070 8GB GDDR6 256bit MSI Ventus 2x
4x8GB DDR4 3000mhz
With triple monitor setup - 75hz, 165hz and a 144hz display respectively.

EDIT: Forgot to add that this issue has been happening since driver 470 up to 575(even the current one 575.76 still has it)
EDIT2: Just to clarify a few things - the hitches can easily be observed when you play a 60fps game on a high refresh rate monitor 144 or 165hz or more. Preferably a side scroller, visually shows it almost immediately.
On the KDE desktop open an application or just Dolphin, move the window around on a high refresh rate monitor, or just click and hold the mouse on the dolphin window moving to select multiple files.

2 Likes

With ForceCompositionPipeline I still get stutters in every game even with UseNvKmsCompositionPipeline, while frametime graph and recordings show perfectly smooth 60fps in games without any stutters at all. Without FCP tearing can happen even with Vsync.

I seem to have less stutters since I removed nvidia-drm.modeset=1 from kernel parameters. Also, interestingly enough, opening and closing map in Elden Ring fixes the stutters for some time. (The open/close map is used by speedrunning community to stabilize framerate before doing a zip glitch).

arch 6.0.7 520.56.06 (but i had same issue on older drivers as well)
5600X 3060TI 60hz screen

1 Like

Same here Fedora 38 with

System:
  Kernel: 6.4.15-200.fc38.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.39-9.fc38 Desktop: GNOME v: 44.4 tk: GTK v: 3.24.38 wm: gnome-shell
    dm: GDM Distro: Fedora release 38 (Thirty Eight)
Graphics:
  Device-1: NVIDIA AD106 [GeForce RTX 4060 Ti 16GB] vendor: Gigabyte
    driver: nvidia v: 535.104.05 pcie: speed: 2.5 GT/s lanes: 8 ports:
    active: none off: HDMI-A-2 empty: DP-1,DP-2,HDMI-A-1 bus-ID: 41:00.0
    chip-ID: 10de:2805
  Display: wayland server: X.org v: 1.20.14 with: Xwayland v: 22.1.9
    compositor: gnome-shell driver: gpu: nvidia,nvidia-nvswitch display-ID: 0
  Monitor-1: HDMI-A-2 model: Samsung LU28R55 res: 3840x2160 dpi: 154
    diag: 727mm (28.6")
  API: OpenGL v: 4.6.0 NVIDIA 535.104.05 renderer: NVIDIA GeForce RTX 4060
    Ti/PCIe/SSE2 direct-render: Yes

FWIW, in my case it got mostly fixed by switching from Wayland to X11 and setting:

nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}"

But VLC and mpv hang for a couple of seconds once in a while. But at least Chrome and Slack are working fine now.