KDE compositor creates a laggy experience on a 144hz monitor.

So I've recently got myself a new 144hz monitor and after a relatively long time of not using my linux distro on my PC I've decided to get into it again. First thing I noticed is how choppy everything is after setting up my refresh rate. Found out by accident that when I use xrender instead of opengl everything runs as smooth as on Windows. EDIT: never mind, xrender accident was a fluke. Not even that helps anymore. EDIT 2: It seems that when desktop effects are disabled things move as they do on Windows, smoothly.

To describe the lag I'm experiencing: Apps aren't fluent. Firefox or Chromium run choppy even though the framerate limit is set to 144hz on both and both seem to run at 144fps when using the framerate counter provided by each browser (but there are obvious many drops in the provided graphs instead of a smooth line). Spotify is even worse. Discord is laggy as well. And you get the idea...

Searched a bit on the internet to see if others had the same problem and I've seen some people blame x11 for it and suggested that until Wayland comes around there won't be any smooth experience on any linux distro that uses a compositor. Others say that's just rubbish and suggested to try something like Openbox to see if there's a problem with the configuration one's running on. Here's the respective thread: https://bbs.archlinux.org/viewtopic.php?id=162680

Here's the hardware I'm running:

System:    Host: andrew-pc Kernel: 5.7.9-1-MANJARO x86_64 bits: 64 compiler: gcc v: 10.1.0 Desktop: KDE Plasma 5.19.3 
           tk: Qt 5.15.0 wm: kwin_x11 dm: SDDM Distro: Manjaro Linux 
Machine:   Type: Desktop Mobo: Gigabyte model: X570 GAMING X v: x.x serial: <filter> UEFI: American Megatrends v: F12e 
           date: 03/06/2020 
CPU:       Topology: 8-Core model: AMD Ryzen 7 3700X bits: 64 type: MT MCP arch: Zen L2 cache: 4096 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 115025 
           Speed: 3587 MHz min/max: 2200/3600 MHz boost: enabled Core speeds (MHz): 1: 2933 2: 2124 3: 1927 4: 1931 5: 2190 
           6: 2191 7: 2191 8: 2192 9: 2125 10: 2116 11: 2200 12: 2194 13: 2194 14: 2196 15: 2427 16: 1927 
Graphics:  Device-1: NVIDIA TU106 [GeForce RTX 2060 SUPER] vendor: Gigabyte driver: nvidia v: 430.64 bus ID: 07:00.0 
           chip ID: 10de:1f06 
           Display: x11 server: X.Org 1.20.8 driver: nvidia compositor: kwin_x11 tty: N/A 
           OpenGL: renderer: GeForce RTX 2060 SUPER/PCIe/SSE2 v: 4.6.0 NVIDIA 430.64 direct render: Yes 
Audio:     Device-1: NVIDIA TU106 High Definition Audio vendor: Gigabyte driver: snd_hda_intel v: kernel bus ID: 07:00.1 
           chip ID: 10de:10f9 
           Device-2: Advanced Micro Devices [AMD] Starship/Matisse HD Audio vendor: Gigabyte driver: snd_hda_intel v: kernel 
           bus ID: 09:00.4 chip ID: 1022:1487 
           Device-3: GuangZhou FiiO FiiO Q1 type: USB driver: snd-usb-audio bus ID: 7-4:14 chip ID: 2972:0035 serial: <filter> 
           Sound Server: ALSA v: k5.7.9-1-MANJARO 
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Gigabyte driver: r8169 v: kernel 
           port: f000 bus ID: 03:00.0 chip ID: 10ec:8168 
           IF: enp3s0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
Drives:    Local Storage: total: 447.15 GiB used: 215.88 GiB (48.3%) 
           ID-1: /dev/sda vendor: Kingston model: SV300S37A120G size: 111.79 GiB speed: 6.0 Gb/s serial: <filter> rev: BBF0 
           scheme: MBR 
           ID-2: /dev/sdb vendor: Patriot model: Blast size: 111.79 GiB speed: 6.0 Gb/s serial: <filter> rev: 12.2 scheme: MBR 
           ID-3: /dev/sdc vendor: Kingston model: SA400S37240G size: 223.57 GiB speed: 6.0 Gb/s serial: <filter> rev: 5A 
           scheme: MBR 
Partition: ID-1: / size: 51.27 GiB used: 38.50 GiB (75.1%) fs: ext4 dev: /dev/sdb3 
Sensors:   System Temperatures: cpu: 53.0 C mobo: N/A gpu: nvidia temp: 45 C 
           Fan Speeds (RPM): N/A gpu: nvidia fan: 0% 
Info:      Processes: 318 Uptime: 1h 19m Memory: 15.65 GiB used: 3.07 GiB (19.6%) Init: systemd v: 245 Compilers: gcc: 10.1.0 
           alt: 8 clang: 10.0.0 Shell: fish v: 3.1.2 running in: yakuake inxi: 3.0.37

Now my questions are: Is anyone experiencing (or has experienced) the same thing? Is there any solution to this (besides switching to xrender which is just :face_vomiting:) ?

This is what i use on one of installs i try to keep as clean as possible


and on another install i use the kwin.sh as described here

With this in place, do not try to run wayland !

I have tried each of your suggestions but sadly none have helped/changed a thing.

Haha, I'm aware that the devs of wayland don't like nvidia.

Try with the 440 drivers. To be honest, i noticed some differences + adding my tweaks helped to have a more consistent behavior, even with multiple browsers opened, with countless tabs ...

I'm having some trouble switching to the 440 drivers:

could not satisfy dependencies:
- removing nvidia-430xx-utils breaks dependency 'nvidia-430xx-utils' required by lib32-nvidia-430xx-utils
- removing nvidia-430xx-utils breaks dependency 'nvidia-430xx-utils=430.64' required by linux54-nvidia-430xx
- removing nvidia-430xx-utils breaks dependency 'nvidia-430xx-utils=430.64' required by linux57-nvidia-430xx

Any idea on how to properly do it?

I would go with this

I am currently on the 440 drivers but still nothing has changed. I don't know what else to do. Should I try another WM like openbox as suggested in the arch forum post?

So, you added those lines in the /etc/X11/mhwd.d/nvidia.conf and also created the kwin.sh with those entries and you notice no difference?
How is set the Compositor?

Yup. No difference. Just did a reboot again to be sure.

Scale method: Crisp
Rendering backend: OpenGL 3.1
Tearing prevention: Automatic

Care to create a Test user and let me know if there you get the same thing or is different ?
Thanks!

Tried it. It's even worse. I guess these fixes do help to some degree. But they don't give me the smoothness that I have on Windows.

--- :slight_smile: -

I'm honestly disappointed. I want to make full use of this monitor, but I can't do it on linux. And after being used to 144hz you never want to go back. Maybe I'll try a fresh install in the future to see if that changes anything. And if that doesn't do a thing, I'll give openbox a try or some other obscure WM. And if even then nothing changes well then ■■■■■

Well, i tested most DEs and WMs. As many people have a driven issue towards KWin, i still prefer it, and on my rig was always outperforming other compositors.

Have you tried editing ~/.config/kwinrc ?

Add these two lines under the Compositing header:

[Compositing]

MaxFPS=144
RefreshRate=144

Also set "vsync" to Never in KDE menu -> system settings -> monitor -> compositor.

Note the FPS counter you enable in the desktop effects system settings gui maxes out at 100fps/Hz but the actual FPS will be 144fps/Hz.

(Edited for clarification)

4 Likes

Haha I was coming back here to say I've finally found the solution to it and indeed it is the one you described! Thanks for trying to help but I managed to find this one eventually haha
Finally butter smooth true 144 frames per second!

I had tried the MaxFPS before, but the other setting seems to have made a difference. I tried the UFO test after applying these, and the 144 fps one is noticeably less blurry now. Didn't even need to touch the compositor vsync.

@AndrewHunter glad you found a solution! :smiley:

@JayPee I agree it is important to add RefreshRate setting. Our monitors can use 144hz, but they do not have to be set at that :slight_smile:

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by