Bad Performance of Gnome Mutter on Nvidia Cards

Hi guys,
I’ve been using Manjaro for more than a year now and I’m very happy with the Gnome version. But one thing annoys me: The performance of Gnome or rather probably of the Compositor Mutter as soon as I use the Nvida drivers (I have an RTX 2070 Card and use the Driver 465.31; CPU i7 8700k).
Moving app windows around or resizing them feels very laggy and stuttering. Within an application like Firefox, everything runs smooth or with only minor lag issues.
But on the desktop it is very laggy. Is there anyway to tune this? I tried already several things, e.g. the cpu governor to performance and also the Nvidia PowerMizer. But nothing helps.
I also tried the Nouveau driver. This does help a lot, then the desktop feels smooth, but at the price that the performance within an application becomes very poor and laggy. So switching to Nouveau is a bad trade.
I think this bad performance is some kind of configuration issue, because on my recent Ubuntu installation on the same machine, the performance of gnome is very smooth. Or do they use a patched Gnome or a patched Mutter?


:+1: Welcome to Manjaro! :+1:

  1. Please read this:
    How to provide good information
    and post some more information so we can see what’s really going on. Now we know the symptom of the disease, but we need some more probing to know where the origin lies… :grin:
  2. An inxi --admin --verbosity=7 --filter --no-host --width would be the minimum required information for us to be able to help you. (Personally Identifiable Information like serial numbers and MAC addresses will be filtered out by the above command)
    Also, please copy-paste that output in-between 3 backticks ``` at the beginning and end of the code/text.


P.S. If you enter a bit more details in your profile, we can also see which Desktop Environment you’re using, which CPU/GPU or Kernel, … you have without typing it every time

Thank you for your reply. So here the detailed informations:

  Kernel: 5.12.9-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.12-x86_64 
  root=UUID=539ea09b-013c-4c7c-ad85-61082f6cc3b3 rw quiet udev.log_priority=3 
  Desktop: GNOME 3.38.4 tk: GTK 3.24.29 wm: gnome-shell dm: GDM 40.0 
  Distro: Manjaro Linux base: Arch Linux 
  Type: Desktop Mobo: ASRock model: Z370 Extreme4 serial: <filter> 
  UEFI: American Megatrends v: P4.20 date: 10/31/2019 
  RAM: total: 31.17 GiB used: 8.62 GiB (27.7%) 
  RAM Report: permissions: Unable to run dmidecode. Root privileges required. 
  Info: 6-Core model: Intel Core i7-8700K bits: 64 type: MT MCP 
  arch: Kaby Lake note: check family: 6 model-id: 9E (158) stepping: A (10) 
  microcode: DE cache: L2: 12 MiB bogomips: 88824 
  Speed: 4300 MHz min/max: 800/4700 MHz Core speeds (MHz): 1: 4300 2: 1128 
  3: 4300 4: 4300 5: 4300 6: 4300 7: 4287 8: 4300 9: 4300 10: 2407 11: 4300 
  12: 4300 
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat arch_perfmon art 
  avx avx2 bmi1 bmi2 bts clflush clflushopt cmov constant_tsc cpuid 
  cpuid_fault cx16 cx8 de ds_cpl dtes64 dtherm dts epb ept ept_ad erms est 
  f16c flexpriority flush_l1d fma fpu fsgsbase fxsr hle ht hwp hwp_act_window 
  hwp_epp hwp_notify ibpb ibrs ida intel_pt invpcid invpcid_single lahf_lm lm 
  mca mce md_clear mmx monitor movbe mpx msr mtrr nonstop_tsc nopl nx pae pat 
  pbe pcid pclmulqdq pdcm pdpe1gb pebs pge pln pni popcnt pse pse36 pti pts 
  rdrand rdseed rdtscp rep_good rtm sdbg sep smap smep smx ss ssbd sse sse2 
  sse4_1 sse4_2 ssse3 stibp syscall tm tm2 tpr_shadow tsc tsc_adjust 
  tsc_deadline_timer vme vmx vnmi vpid x2apic xgetbv1 xsave xsavec xsaveopt 
  xsaves xtopology xtpr 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
  Type: l1tf 
  mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable 
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
  Type: meltdown mitigation: PTI 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, 
  IBRS_FW, STIBP: conditional, RSB filling 
  Type: srbds mitigation: Microcode 
  Type: tsx_async_abort mitigation: Clear CPU buffers; SMT vulnerable 
  Device-1: NVIDIA TU106 [GeForce RTX 2070 Rev. A] vendor: Micro-Star MSI 
  driver: nvidia v: 465.31 alternate: nouveau,nvidia_drm bus-ID: 01:00.0 
  chip-ID: 10de:1f07 class-ID: 0300 
  Device-2: Logitech Logi 4K Stream Edition type: USB 
  driver: hid-generic,snd-usb-audio,usbhid,uvcvideo bus-ID: 2-3:2 
  chip-ID: 046d:086b class-ID: 0300 serial: <filter> 
  Display: x11 server: 1.20.11 compositor: gnome-shell driver: 
  loaded: nvidia resolution: <missing: xdpyinfo> 
  OpenGL: renderer: NVIDIA GeForce RTX 2070/PCIe/SSE2 v: 4.6.0 NVIDIA 465.31 
  direct render: Yes 
  Device-1: NVIDIA TU106 High Definition Audio vendor: Micro-Star MSI 
  driver: snd_hda_intel v: kernel bus-ID: 01:00.1 chip-ID: 10de:10f9 
  class-ID: 0403 
  Device-2: Creative Labs Sound Core3D [Sound Blaster Recon3D / Z-Series] 
  driver: snd_hda_intel v: kernel bus-ID: 06:00.0 chip-ID: 1102:0012 
  class-ID: 0403 
  Device-3: Logitech Logi 4K Stream Edition type: USB 
  driver: hid-generic,snd-usb-audio,usbhid,uvcvideo bus-ID: 2-3:2 
  chip-ID: 046d:086b class-ID: 0300 serial: <filter> 
  Device-4: C-Media TONOR TC30 Audio Device type: USB 
  driver: hid-generic,snd-usb-audio,usbhid bus-ID: 5-2:3 chip-ID: 0d8c:0134 
  class-ID: 0300 serial: <filter> 
  Sound Server-1: ALSA v: k5.12.9-1-MANJARO running: yes 
  Sound Server-2: JACK v: 0.125.0 running: no 
  Sound Server-3: PulseAudio v: 14.2 running: yes 
  Sound Server-4: PipeWire v: 0.3.30 running: yes 
  Device-1: Intel Ethernet I219-V vendor: ASRock driver: e1000e v: kernel 
  port: f000 bus-ID: 00:1f.6 chip-ID: 8086:15b8 class-ID: 0200 
  IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter> 
  IP v4: <filter> type: dynamic noprefixroute scope: global 
  broadcast: <filter> 
  IP v6: <filter> type: dynamic noprefixroute scope: global 
  IP v6: <filter> type: noprefixroute scope: link 
  IF-ID-1: vpn0 state: up speed: 10 Mbps duplex: full mac: N/A 
  IP v4: <filter> type: noprefixroute scope: global broadcast: <filter> 
  WAN IP: <filter> 
  Device-1: Cambridge Silicon Radio Bluetooth Dongle (HCI mode) type: USB 
  driver: btusb v: 0.8 bus-ID: 1-10:5 chip-ID: 0a12:0001 class-ID: e001 
  Report: rfkill ID: hci0 rfk-id: 0 state: up address: see --recommends 
  Permissions: Unable to run lvs. Root privileges required. 
  Hardware-1: Intel SATA Controller [RAID mode] driver: ahci v: 3.0 port: f020 
  bus-ID: 00:17.0 chip-ID: 8086.2822 rev: class-ID: 0104 
  Supported mdraid levels: raid0 
  Device-1: md126 maj-min: 9:126 type: mdraid level: raid-0 status: active 
  size: 3.64 TiB 
  Info: report: N/A blocks: 3907023872 chunk-size: 128k 
  Components: Online: 
  0: sda maj-min: 8:0 size: 1.82 TiB 
  1: sdb maj-min: 8:16 size: 1.82 TiB 
  Device-2: md127 type: mdraid level: N/A status: inactive 
  size: <superuser required> 
  Info: report: N/A blocks: 5296 chunk-size: N/A 
  Components: Online: N/A Spare: 
  0: sda maj-min: 8:0 size: 1.82 TiB state: S 
  1: sdb maj-min: 8:16 size: 1.82 TiB state: S 
  Local Storage: total: raw: 6.39 TiB usable: 2.75 TiB 
  used: 435.45 GiB (15.5%) 
  SMART Message: Required tool smartctl not installed. Check --recommends 
  ID-1: /dev/nvme0n1 maj-min: 259:1 vendor: Samsung model: SSD 970 EVO 1TB 
  size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s 
  lanes: 4 rotation: SSD serial: <filter> rev: 2B2QEXE7 scheme: GPT 
  ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Samsung model: SSD 970 EVO 1TB 
  size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s 
  lanes: 4 rotation: SSD serial: <filter> rev: 2B2QEXE7 scheme: GPT 
  ID-3: /dev/sda maj-min: 8:0 vendor: Western Digital model: WD20EZRX-00D8PB0 
  size: 1.82 TiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s 
  rotation: 5400 rpm serial: <filter> rev: 0A80 
  ID-4: /dev/sdb maj-min: 8:16 vendor: Western Digital model: WD20EZRX-00D8PB0 
  size: 1.82 TiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s 
  rotation: 5400 rpm serial: <filter> rev: 0A80 
  ID-5: /dev/sdc maj-min: 8:32 vendor: Samsung model: SSD 870 EVO 500GB 
  size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s 
  rotation: SSD serial: <filter> rev: 1B6Q scheme: GPT 
  Optical-1: /dev/sr0 vendor: HL-DT-ST model: BD-RE BH16NS55 rev: 1.00 
  dev-links: cdrom 
  Features: speed: 48 multisession: yes audio: yes dvd: yes 
  rw: cd-r,cd-rw,dvd-r,dvd-ram state: running 
  ID-1: / raw-size: 465.46 GiB size: 457.09 GiB (98.20%) 
  used: 65.3 GiB (14.3%) fs: ext4 dev: /dev/sdc2 maj-min: 8:34 label: N/A 
  uuid: 539ea09b-013c-4c7c-ad85-61082f6cc3b3 
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) 
  used: 292 KiB (0.1%) fs: vfat dev: /dev/sdc1 maj-min: 8:33 label: NO_LABEL 
  uuid: 8475-8F6C 
  Alert: No swap data was found. 
  ID-1: /dev/md126p1 maj-min: 259:8 size: 16 MiB fs: <superuser required> 
  label: N/A uuid: N/A 
  ID-2: /dev/md126p2 maj-min: 259:9 size: 3.64 TiB fs: <superuser required> 
  label: Daten uuid: 2C4CB0F84CB0BDC0 
  Hub-1: 1-0:1 info: Full speed (or root) Hub ports: 16 rev: 2.0 
  speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900 
  Hub-2: 1-3:2 info: ASMedia ASM1074 High-Speed hub ports: 4 rev: 2.1 
  speed: 480 Mb/s power: 100mA chip-ID: 174c:2074 class-ID: 0900 
  Device-1: 1-6:3 info: Corsair Gaming SCIMITAR PRO RGB Mouse type: Mouse,HID 
  driver: corsair,usbhid interfaces: 2 rev: 2.0 speed: 12 Mb/s power: 300mA 
  chip-ID: 1b1c:1b3e class-ID: 0300 serial: <filter> 
  Device-2: 1-7:4 
  info: Corsair CORSAIR K70 RGB MK.2 LOW PROFILE Mechanical Gaming Keyboard 
  type: Keyboard,HID driver: hid-generic,usbhid interfaces: 2 rev: 2.0 
  speed: 12 Mb/s power: 500mA chip-ID: 1b1c:1b55 class-ID: 0300 
  serial: <filter> 
  Device-3: 1-10:5 info: Cambridge Silicon Radio Bluetooth Dongle (HCI mode) 
  type: Bluetooth driver: btusb interfaces: 2 rev: 2.0 speed: 12 Mb/s 
  power: 100mA chip-ID: 0a12:0001 class-ID: e001 
  Hub-3: 2-0:1 info: Full speed (or root) Hub ports: 10 rev: 3.0 speed: 5 Gb/s 
  chip-ID: 1d6b:0003 class-ID: 0900 
  Device-1: 2-3:2 info: Logitech Logi 4K Stream Edition type: Video,Audio,HID 
  driver: hid-generic,snd-usb-audio,usbhid,uvcvideo interfaces: 6 rev: 3.1 
  speed: 5 Gb/s power: 896mA chip-ID: 046d:086b class-ID: 0300 
  serial: <filter> 
  Hub-4: 2-7:3 info: ASMedia ASM1074 SuperSpeed hub ports: 4 rev: 3.0 
  speed: 5 Gb/s power: 8mA chip-ID: 174c:3074 class-ID: 0900 
  Hub-5: 3-0:1 info: Full speed (or root) Hub ports: 2 rev: 2.0 
  speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900 
  Hub-6: 4-0:1 info: Full speed (or root) Hub ports: 4 rev: 3.1 speed: 10 Gb/s 
  chip-ID: 1d6b:0003 class-ID: 0900 
  Hub-7: 5-0:1 info: Full speed (or root) Hub ports: 2 rev: 2.0 
  speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900 
  Device-1: 5-2:3 info: C-Media TONOR TC30 Audio Device type: Audio,HID 
  driver: hid-generic,snd-usb-audio,usbhid interfaces: 3 rev: 1.1 
  speed: 12 Mb/s power: 100mA chip-ID: 0d8c:0134 class-ID: 0300 
  serial: <filter> 
  Hub-8: 6-0:1 info: Full speed (or root) Hub ports: 2 rev: 3.1 speed: 10 Gb/s 
  chip-ID: 1d6b:0003 class-ID: 0900 
  Device-1: 6-1:2 info: VIA Labs VL817 SATA Adaptor type: Mass Storage 
  driver: uas interfaces: 1 rev: 3.1 speed: 10 Gb/s power: 896mA 
  chip-ID: 2109:0715 class-ID: 0806 serial: <filter> 
  System Temperatures: cpu: 38.0 C mobo: N/A gpu: nvidia temp: 46 C 
  Fan Speeds (RPM): N/A gpu: nvidia fan: 0% 
  Processes: 387 Uptime: 5h 36m wakeups: 1 Init: systemd v: 248 
  tool: systemctl Compilers: gcc: 11.1.0 Packages: 1086 pacman: 1077 lib: 318 
  flatpak: 9 Shell: Zsh v: 5.8 running-in: gnome-terminal inxi: 3.3.04```

Have you tried one of the LTS kernels already? For an RTX 2070, I would install both 5.4 and 5.10 LTS (Long Time Support) and see which one of the two troubles you least.


1 Like

This feels a lot like the issues I’m having and talked about in this thread:

The linked comment also has a link to a Mutter and Optimus Manager issue that contain more information. The one in Optimus Manager has some more research and information from me as well.


I started with the use of manjaro with the 5.4 LTS kernel on March last year and updated to each new kernel version as soon as it was available in the manjaro setting. But the laggy gnome never changed its behavior . It did not get better but also not worse :smiley: Is stwitched back to the 5.4 and 5.10 several times (because of other Issues) but nothing changed.

I will read the links, but I think it is mostly about hybrid graphics?
I have an iGPU, but it is disabled in UEFI Settings. The hybrid stuff looks to unstable and complicated to me, so I decide to ditch the Intel GPU. :wink: I tried hybrid mode on another distribution 2 years ago with this desktop PC, but I was not able to get it stable, mostly because of my two monitors. The MB has only one HDMI, so I had to use the Nvidia Display Ports to connect both monitors. The result was that one monitor becomes unavailable as the hybrid driver switches to the iGPU. But that’s another story. :wink:

Edit: After reading your Links it really looks like an issue with Mutter and Nvidia Driver. Maybe I should try Gnome 40 on testing or wait for launch at stable. For me, the problem is not so big, because the performance within the applications is good. That’s why I started this thread after living more than a year with that issue :smiley: But a smooth desktop feeling like on KDE or XFCE would be nice to see on Gnome as well.

Have you tried creating a new user and logging in there and seeing if it has the same behaviour? If yes: I’m all out of great ideas…


Sadly, it also doesn’t help. Completely new installing Manjaro from actual image also doesn’t help.
Maybe I simply have a rare combination of circumstances: I have two WQHD Monitors at 75 Hz running, switching to 60 Hz alone is not helping a lot. The choppy behavior decreases a bit, but is still noticeable. Because of the resolution, I increase the font scaling factor to 1.25.
If I change the resolution to 1080p, switch to 60 Hz and disable the font scaling, the choppy movement of windows is nearly gone. Some dropping frames are noticeable (so not always 75 FPS), but the feeling is a lot smoother than before.
So I think the performance of the Nvidia Linux Driver in combination with Mutter is bad or there is a bug or something like that. From the Hardware side, I think a RTX 2070 should have enough power to move some windows smoothly around. :laughing: The only thing I’m still wondering is, that on Ubuntu on this machine and with Nvidia Driver there is no such behavior. There Gnome is smooth like any other environment. Maybe they have a special configuration, or they patched Gnome or Mutter :man_shrugging:
Manjaro KDE and or XFCE runs also completely smooth on the same hardware, but I don’t want to switch because I like Gnome (and KDE has a really poor fractional font scaling and some daily use issues I can’t ignore. Otherwise, I would instantly switch to KDE :laughing:).

But as a conclusion, I will wait for Gnome 40. I think my issue is to rare and Gnome 40 is to near to invest much energy to find the source of this issue. If it still shows up with Gnome 40, I will take the challenge and go on a journey to track down this bug. :muscle:

1 Like

have you tried disabling animations?

You could switch to testing and see if Gnome 40 offers a better experience.

This might be a long shot but you are sure that your HDMI port offers 60Hz output on 4K right? Because my laptop for example has 60Hz on USB-C but only 30 on HDMI when it’s a 4K monitor. I would assume that if that were the case with your setup, XFCE and KDE wouldn’t be fluent. But you never know.

1 Like

Gnome has animations? How to turn them off?

I use the Display Ports from the Nvidia Card. They also support 4K at 120 Hz (or more, but didn’t try more for now). But I only connect my WQHD Monitors (2560 x 1440 pixel) so I think the Bandwidth should be no problem here.

If I switch to testing, is there a way back to stable? Because this is my productive environment and if something breaks I need to switch back fast. Or maybe I install another Manjaro on my hard disk reserved for distro-hopping (then I have to ditch Ubuntu :laughing: ).

Yes, it’s fairly simple actually: Switching Branches - Manjaro

When switching back I did have to try a couple of times because the databases weren’t properly updated but it straightened itself out without that much trouble. You can choose between switching back to stable with the current testing packages installed (so when they hit stable you’ll catch up again) or completely switch to stable.

1 Like

In a brave moment, I changed to testing:
The good thing: changing the branch was very easy and everything worked fine. So good job by the manjaro devs.
The weird thing: After updating and rebooting, I log in and was welcomed by totally ■■■■■■ up display colors. Everything has a reddish tint now. I used a calibrated profile for my monitors to make working with images and graphics possible. After disabling this, the reddish tint got weaker, but it’s not gone. So something is buggy with the color management on testing I think. (where is the place to report that?) I used the same calibrated color profile on Windows 10 and got exactly the same colors on Manjaro with Gnome and on Windows 10. Now, my Manjaro is not usable for editing images and videos. :roll_eyes:
The bad thing: Switching to Gnome 40 doesn’t help with the issue of choppy window moving. It’s not smooth at all.
But the real Bad thing is, that now I have this choppy behavior also within applications. Scrolling in Firefox or electron based apps is feeling very laggy and choppy now. :pensive:

Because of this, I can hopefully downgrade to stable without problems…

So it looks I have to take this journey. :crazy_face:

1 Like

try the manjaro xfce or kde, i’ve read nvidia does not play nice with gnome in general.
in xfce disable composting as nvidia does it’s own.

1 Like

Thanks, but already tried KDE and XFCE, and they are simply not the right environments for me.
Meanwhile, as I read more and more about I think Nvidias proprietary linux drivers are just some shitty piece of software :see_no_evil: My next PC build will have an AMD Card. :laughing:

how about the new cute os?
it’s gnomish but better, so i’ve read, it seems pretty decent on the youtube reviews.
i hope they do an arm version for rpi’s, i don’t have any x86 devices.

1 Like

Maybe a dumb suggestion but are you sure that the night light feature isn’t turned on? It can get pretty orange/reddish when enabled and at full force. You can find it under settings > display > the nightlight “tab”.

1 Like

No it was off, I checked it after some googling. :innocent: But thanks for the tip.
At the moment I’m back at stable (at the end I had to reinstall Manjaro because after downgrading the system it was not bootable, and I was too lazy to look for the problem).

Additionally, I discovered last night, that Ubuntu is also not able to run Gnome smoothly with Nvidia driver. The driver was download but not activated by default, so I was accidentally still on Nouveau and Wayland (ya, call me noob :crazy_face:). The only difference is that Ubuntu runs application on Nouveau and Wayland slightly smoother than here on Manjaro. As I was really switched to Nvidia, Gnome on Ubuntu shows the same choppy behavior. :face_with_raised_eyebrow:
So I think it’s simply a general issue with Gnome and the Nvidia proprietary Driver. I also saw some Youtube Videos about »tuning« Gnome on Nvidia and I saw the choppy behavior in the videos, but the video creators call this »smooth« :laughing: So maybe I’m just a bit too sensitive about that. Maybe it is just normal that Gnome don’t render at 75 or 60 FPS all the time on Nvidia drivers. :thinking:

1 Like

Yeah. Tbh, I’m kind of considering moving back to KDE myself. I do use a lot of GTK apps but I just feel like KDE is more lightweight and smooth overall. It’s just a but difficult to push myself to making the switch back.

I think KDE offers a great environment, but for me, there are some issues I can’t Ignore. First the lack of ability to become root in dolhpin. So I can’t explore the whole filesystem and kate is also not able to switch to root. So editing configuration files somewhere outside home needs a bit more work than on Gnome. Ya of course the terminal could all do that, but I like to do that on GUIs sometimes.
Secondly, I was not able to manage to get my VPN Connection automatically running on KDE because he simply does not save the password without any reason. :man_shrugging:
Thirdly last I didn’t get the auto mount of my encrypted backup drive running. :crazy_face:
But the biggest lack is for me the blurry text rendering. As I switched to a higher DPI in KDE the text is mostly very blurry and it is hard to read. :face_with_monocle:

Maybe these things are fixable, I don’t know because I tried Manjaro KDE only for a weekend. In Gnome everything works right out of the box so as KDE has smoother animations and a technically smoother GUI, Gnome offers the smoother workflow package for me. :thinking:

But I think we are getting off-topic :innocent:

To get back to topic: I did some tips and tricks from NVIDIA/Tips and tricks - ArchWiki and the choppiness occurs now much less. Especially the entry Option "RegistryDwords" "PerfLevelSrc=0x2222" which activates the powermizer on the maximum performance level, seems to help a lot. Maybe the dynamic frequencies of the GPU are not working good with the Linux Nvidia driver, and they are the source of the choppy behavior.

1 Like