Gnome + Wayland + Nvidia stuttering

When I use my FireDragon or Spacemacs (emacs) I often see stuttering or graphics out of place. Often this happens when when a window is transitioning in some way or I am watching a video on FireDragon. I think the issue is being caused by Gnome + Wayland + Nvidia.

Does anyone have tips on how to make the Gnome Wayland with an Nvidia GPU experience a little better for me?

I thought the issue went away a month or two ago but now it is bothering me again. Is this a mutter issue?

System:
  Kernel: 6.0.6-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=746085a3-1efd-44d0-9e3f-bea3af666d4d rw rootflags=subvol=@
    quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
    systemd.unified_cgroup_hierarchy=1 loglevel=3 nvidia-drm.modeset=1
    ibt=off
  Desktop: GNOME v: 42.5 tk: GTK v: 3.24.34 wm: gnome-shell dm: GDM v: 43.0
    Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Desktop System: Gigabyte product: X470 AORUS ULTRA GAMING v: N/A
    serial: <superuser required>
  Mobo: Gigabyte model: X470 AORUS ULTRA GAMING-CF v: x.x
    serial: <superuser required> UEFI: American Megatrends v: F3
    date: 08/08/2018
CPU:
  Info: model: AMD Ryzen 5 2600X bits: 64 type: MT MCP arch: Zen+ gen: 2
    level: v3 note: check built: 2018-21 process: GF 12nm family: 0x17 (23)
    model-id: 8 stepping: 2 microcode: 0x800820D
  Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache:
    L1: 576 KiB desc: d-6x32 KiB; i-6x64 KiB L2: 3 MiB desc: 6x512 KiB
    L3: 16 MiB desc: 2x8 MiB
  Speed (MHz): avg: 2179 high: 2205 min/max: 2200/3600 boost: enabled
    scaling: driver: acpi-cpufreq governor: schedutil cores: 1: 2057 2: 2106
    3: 2188 4: 2200 5: 2199 6: 2199 7: 2199 8: 2200 9: 2198 10: 2198 11: 2205
    12: 2199 bogomips: 86393
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities:
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: retbleed mitigation: untrained return thunk; SMT vulnerable
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Retpolines, IBPB: conditional, STIBP:
    disabled, RSB filling, PBRSB-eIBRS: Not affected
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: NVIDIA TU106 [GeForce RTX 2070] vendor: Micro-Star MSI
    driver: nvidia v: 520.56.06 alternate: nouveau,nvidia_drm non-free: 515.xx+
    status: current (as of 2022-10) arch: Turing code: TUxxx
    process: TSMC 12nm built: 2018-22 pcie: gen: 1 speed: 2.5 GT/s lanes: 16
    link-max: gen: 3 speed: 8 GT/s ports: active: none off: DP-2,HDMI-A-1
    empty: DP-1,DP-3,Unknown-1 bus-ID: 09:00.0 chip-ID: 10de:1f02
    class-ID: 0300
  Device-2: Logitech HD Pro Webcam C920 type: USB
    driver: snd-usb-audio,uvcvideo bus-ID: 1-10:7 chip-ID: 046d:082d
    class-ID: 0102 serial: <filter>
  Display: wayland server: X.org v: 1.21.1.4 with: Xwayland v: 22.1.4
    compositor: gnome-shell driver: X: loaded: nvidia unloaded: modesetting
    alternate: fbdev,nouveau,nv,vesa gpu: nvidia,nvidia-nvswitch
    display-ID: 0
  Monitor-1: DP-2 model: Acer X34 serial: <filter> built: 2013
    res: 3440x1440 dpi: 109 gamma: 1.2 size: 798x335mm (31.42x13.19")
    diag: 865mm (34.1") modes: max: 3440x1440 min: 640x480
  Monitor-2: HDMI-A-1 model: Sony TV 01 serial: <filter> built: 2013
    res: 1920x1080 dpi: 47 gamma: 1.2 size: 1040x585mm (40.94x23.03")
    diag: 1193mm (47") ratio: 16:9 modes: max: 1920x1080 min: 640x480
  OpenGL: renderer: NVIDIA GeForce RTX 2070/PCIe/SSE2 v: 4.6.0 NVIDIA
    520.56.06 direct render: Yes
Audio:
  Device-1: NVIDIA TU106 High Definition Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel bus-ID: 1-10:7 pcie: chip-ID: 046d:082d
    class-ID: 0102 gen: 3 serial: <filter> speed: 8 GT/s lanes: 16
    bus-ID: 09:00.1 chip-ID: 10de:10f9 class-ID: 0403
  Device-2: AMD Family 17h HD Audio vendor: Gigabyte driver: snd_hda_intel
    v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 0b:00.3
    chip-ID: 1022:1457 class-ID: 0403
  Device-3: Logitech HD Pro Webcam C920 type: USB
    driver: snd-usb-audio,uvcvideo
  Sound API: ALSA v: k6.0.6-zen1-1-zen running: yes
  Sound Server-1: PulseAudio v: 16.1 running: no
  Sound Server-2: PipeWire v: 0.3.59 running: yes
Network:
  Device-1: Intel I211 Gigabit Network vendor: Gigabyte driver: igb v: kernel
    pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: f000 bus-ID: 06:00.0
    chip-ID: 8086:1539 class-ID: 0200
  IF: enp6s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IF-ID-1: br-3b6eb2cfd978 state: up speed: 10000 Mbps duplex: unknown
    mac: <filter>
  IF-ID-2: docker0 state: down mac: <filter>
  IF-ID-3: veth8a5e2e1 state: up speed: 10000 Mbps duplex: full
    mac: <filter>
Drives:
  Local Storage: total: 2.75 TiB used: 472.47 GiB (16.8%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung model: SSD 970 PRO 1TB
    size: 953.87 GiB block-size: physical: 512 B logical: 512 B
    speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter> rev: 1B2QEXP7
    temp: 28.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: SanDisk model: SDSSDH3 2T00
    size: 1.82 TiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    type: SSD serial: <filter> rev: 00RL scheme: GPT
Partition:
  ID-1: / raw-size: 1.82 TiB size: 1.82 TiB (100.00%) used: 236.24 GiB
    (12.7%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 580 KiB
    (0.2%) fs: vfat dev: /dev/sda1 maj-min: 8:1
  ID-3: /home raw-size: 1.82 TiB size: 1.82 TiB (100.00%) used: 236.24 GiB
    (12.7%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
  ID-4: /var/log raw-size: 1.82 TiB size: 1.82 TiB (100.00%) used: 236.24
    GiB (12.7%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
  ID-5: /var/tmp raw-size: 1.82 TiB size: 1.82 TiB (100.00%) used: 236.24
    GiB (12.7%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 62.75 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 50.4 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 450 Uptime: 1d 8h 44m wakeups: 1 Memory: 62.75 GiB used: 13.05
  GiB (20.8%) Init: systemd v: 251 default: graphical tool: systemctl
  Compilers: gcc: 12.2.0 alt: 11 Packages: 2543 pm: nix-default pkgs: 138
  pm: nix-sys pkgs: 0 pm: nix-usr pkgs: 490 libs: 132 pm: pacman pkgs: 1915
  libs: 471 tools: pamac,paru pm: flatpak pkgs: 0 Shell: fish v: 3.5.1
  running-in: tmux: inxi: 3.3.22
e[1;34mGaruda (2.6.9-1):e[0m
e[1;34m  System install date:e[0m     2021-12-26
e[1;34m  Last full system update:e[0m 2022-10-31 e[1;31m↻
e[1;34m  Is partially upgraded:  e[0m No
e[1;34m  Relevant software:      e[0m NetworkManager
e[1;34m  Windows dual boot:      e[0m Probably (Run as root to verify)
e[1;34m  Snapshots:              e[0m Snapper
e[1;34m  Failed units:           e[0m bluetooth-autoconnect.service 

Because of another issue, I'm not longer using Wayland. I would still like to get Wayland+Gnome+Nvidia working well but I'm not sure it is possible right now.

Frequently there are issues with Nvidia drivers after a kernel change because Nvidia is still not properly built into the kernel. Try temporarily switching to the LTS kernel.

2 Likes

How do I enable LTS kernel on Garuda? I couldn't find a resource on the Wiki or Forum.

First bring the system fully up to date:

garuda-update

Install the kernel and headers:

sudo pacman -S linux-lts linux-lts-headers

Then reboot, and on the Grub menu (the menu before you get to the login screen) choose advanced boot options and find the entry for your new kernel.

4 Likes

I cannot say whether or not the LTS is a solution because Wayland seems to be working well for me again on the linux kernel. So, the solution for me so far is to just wait for the problem to go away with newer updates.

If I have issues in the future I'll definitely try the LTS kernel.

The linux-lts and linux-zen kernel still had some graphical artifacts when I was using Emacs today. I couldn't tell any difference between linux-lts and linux-zen. The stuttering when watching Youtube on Firedragon is gone with the most recent update though.