[Gnome/Wayland/NVIDIA] Colorful artifacts in Steam games

Hi, I'm still new to Linux, just trying to switch from X11 to Wayland, everything seems to run pretty smooth, except for steam games.

The problem:

It looks completely normal on screenshots. The 'squares' mostly appear to be white/red/green/blue/black. Doesn't occur on X. Affects any game i run with Proton, that starts in fullscreen. So far the only games i was able to run without this thing are CS:GO and Terraria, which run natively.

Occurs on:
linux-zen, linux-tkg-pds, linux
Proton GE, Experimental, and 7.0

Other kernels and Proton versions weren't tested

What I know:

  • Going fullscreen -> windowed -> fullscreen removes the issue untill the app is restarted
  • Using gamescope removes the issue
  • No artifacts while extramaus is running
  • MUTTER_DEBUG_FORCE_EGL_STREAM=1 (suggested by someone who had a similar issue) removes the option to use Wayland from the login screen
  • Removing all environment variables has no effect
  • Using a single monitor has no effect
  • 2D and 3D games both have this issue
  • Some games have loading screens that display normally and then the game kicks in and the squares appear

Nothing regarding NVIDIA in journalctl and dmesg except for this:

nvidia-gpu 0000:01:00.3: i2c timeout error e0000000

Google didn't seem to bear any results, only a couple of similar issues with no concrete solutions.

garuda-inxi, as requested:

  Kernel: 6.2.8-273-tkg-pds arch: x86_64 bits: 64 compiler: gcc v: 12.2.1
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux62-tkg-pds
    root=UUID=730e0f32-4583-4f58-9cba-c020bdf5fa9c rw [email protected]
    nvidia-drm.modeset=1 amd_iommu=on iommu=pt video=efifb:off
    rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3 ibt=off
  Desktop: GNOME v: 43.3 tk: GTK v: 3.24.37 wm: gnome-shell dm: GDM v: 43.0
    Distro: Garuda Linux base: Arch Linux
  Type: Laptop System: LENOVO product: 82B1 v: Lenovo Legion 5 15ARH05H
    serial: <superuser required> Chassis: type: 10 v: Lenovo Legion 5 15ARH05H
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: SDK0J40709 WIN
    serial: <superuser required> UEFI: LENOVO v: FSCN25WW date: 06/24/2022
  ID-1: BAT0 charge: 52.6 Wh (96.0%) condition: 54.8/60.0 Wh (91.3%)
    volts: 17.0 min: 15.4 model: Celxpert L19C4PC0 type: Li-poly
    serial: <filter> status: not charging cycles: 215
  ID-2: hidpp_battery_0 charge: 54% condition: N/A volts: 3.8 min: N/A
    model: Logitech G Pro Wireless Gaming Mouse type: N/A serial: <filter>
    status: discharging
  Info: model: AMD Ryzen 7 4800H with Radeon Graphics bits: 64 type: MT MCP
    arch: Zen 2 gen: 3 level: v3 note: check built: 2020-22
    process: TSMC n7 (7nm) family: 0x17 (23) model-id: 0x60 (96) stepping: 1
    microcode: 0x8600104
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB L3: 8 MiB
    desc: 2x4 MiB
  Speed (MHz): avg: 1498 high: 1907 min/max: 1400/2900 boost: enabled
    scaling: driver: acpi-cpufreq governor: schedutil cores: 1: 1327 2: 1400
    3: 1400 4: 1400 5: 1400 6: 1400 7: 1397 8: 1400 9: 1907 10: 1400 11: 1907
    12: 1400 13: 1872 14: 1400 15: 1564 16: 1400 bogomips: 92630
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
  Device-1: NVIDIA TU116M [GeForce GTX 1660 Ti Mobile] vendor: Lenovo
    driver: nvidia v: 530.41.03 alternate: nouveau,nvidia_drm non-free: 525.xx+
    status: current (as of 2023-02) arch: Turing code: TUxxx
    process: TSMC 12nm FF built: 2018-22 pcie: gen: 1 speed: 2.5 GT/s lanes: 8
    link-max: gen: 3 speed: 8 GT/s lanes: 16 ports: active: none
    off: DP-1,eDP-1 empty: HDMI-A-1 bus-ID: 01:00.0 chip-ID: 10de:2191
    class-ID: 0300
  Device-2: IMC Networks Integrated Camera type: USB driver: uvcvideo
    bus-ID: 2-3:4 chip-ID: 13d3:56ff class-ID: 0e02
  Display: wayland server: X.org v: with: Xwayland v: 23.1.0
    compositor: gnome-shell driver: X: loaded: nvidia
    gpu: nvidia,nvidia-nvswitch display-ID: 0
  Monitor-1: DP-1 model: ASUS MB14AC serial: <filter> built: 2020
    res: 1920x1080 dpi: 158 gamma: 1.2 size: 309x174mm (12.17x6.85")
    diag: 355mm (14") ratio: 16:9 modes: max: 1920x1080 min: 640x480
  Monitor-2: eDP-1 model: AU Optronics 0xd1ed built: 2019 res: 1920x1080
    dpi: 142 gamma: 1.2 size: 344x193mm (13.54x7.6") diag: 394mm (15.5")
    ratio: 16:9 modes: 1920x1080
  API: OpenGL v: 4.6.0 NVIDIA 530.41.03 renderer: NVIDIA GeForce GTX 1660
    Ti/PCIe/SSE2 direct-render: Yes
  Device-1: NVIDIA TU116 High Definition Audio driver: snd_hda_intel v: kernel
    bus-ID: 2-2.3:6 pcie: gen: 3 chip-ID: 1b1c:0a4f speed: 8 GT/s class-ID: 0300
    lanes: 8 link-max: lanes: 16 bus-ID: 01:00.1 chip-ID: 10de:1aeb
    class-ID: 0403
  Device-2: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Lenovo driver: N/A
    alternate: snd_pci_acp3x, snd_rn_pci_acp3x, snd_pci_acp5x, snd_pci_acp6x,
    snd_acp_pci, snd_rpl_pci_acp6x, snd_pci_ps, snd_sof_amd_renoir,
    snd_sof_amd_rembrandt pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 06:00.5 chip-ID: 1022:15e2 class-ID: 0480
  Device-3: AMD Family 17h/19h HD Audio vendor: Lenovo driver: snd_hda_intel
    v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 06:00.6
    chip-ID: 1022:15e3 class-ID: 0403
  Device-4: Corsair HS70 Pro Wireless Gaming Headset type: USB
    driver: hid-generic,snd-usb-audio,usbhid
  Sound API: ALSA v: k6.2.8-273-tkg-pds running: yes
  Sound Interface: sndio v: N/A running: no
  Sound Server-1: PulseAudio v: 16.1 running: no
  Sound Server-2: PipeWire v: 0.3.67 running: yes
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Lenovo driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1
    port: 1000 bus-ID: 03:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter>
  Device-2: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel pcie: gen: 2
    speed: 5 GT/s lanes: 1 bus-ID: 04:00.0 chip-ID: 8086:2723 class-ID: 0280
  IF: wlp4s0 state: up mac: <filter>
  IF-ID-1: virbr0 state: down mac: <filter>
  Device-1: Intel AX200 Bluetooth type: USB driver: btusb v: 0.8 bus-ID: 1-3:4
    chip-ID: 8087:0029 class-ID: e001
  Report: bt-adapter ID: hci0 rfk-id: 2 state: up address: <filter>
  Local Storage: total: 1.41 TiB used: 431.26 GiB (29.8%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:4 vendor: A-Data model: SX8200PNP
    size: 953.87 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
    lanes: 4 type: SSD serial: <filter> rev: 42AZS6AC temp: 37.9 C scheme: GPT
  ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: SK Hynix
    model: HFM512GDHTNI-87A0B size: 476.94 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: 11010C00 temp: 36.9 C scheme: GPT
  ID-3: /dev/sda maj-min: 8:0 type: USB vendor: Generic model: Flash Disk
    size: 14.51 GiB block-size: physical: 512 B logical: 512 B type: SSD
    serial: <filter> rev: 8.07 scheme: MBR
  ID-1: / raw-size: 500.89 GiB size: 500.89 GiB (100.00%)
    used: 431.26 GiB (86.1%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:6
  ID-2: /boot/efi raw-size: 954 MiB size: 952.1 MiB (99.80%)
    used: 312 KiB (0.0%) fs: vfat dev: /dev/nvme1n1p1 maj-min: 259:1
  ID-3: /home raw-size: 500.89 GiB size: 500.89 GiB (100.00%)
    used: 431.26 GiB (86.1%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:6
  ID-4: /var/log raw-size: 500.89 GiB size: 500.89 GiB (100.00%)
    used: 431.26 GiB (86.1%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:6
  ID-5: /var/tmp raw-size: 500.89 GiB size: 500.89 GiB (100.00%)
    used: 431.26 GiB (86.1%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:6
  Kernel: swappiness: 133 (default 60) cache-pressure: 50 (default 100)
  ID-1: swap-1 type: zram size: 15 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
  System Temperatures: cpu: 63.6 C mobo: N/A
  Fan Speeds (RPM): N/A
  Processes: 380 Uptime: 14m wakeups: 3 Memory: 15 GiB used: 4.43 GiB (29.6%)
  Init: systemd v: 253 default: graphical tool: systemctl Compilers:
  gcc: 12.2.1 clang: 15.0.7 Packages: pm: pacman pkgs: 1624 libs: 509
  tools: pamac,paru Shell: fish v: 3.6.1 running-in: gnome-terminal
  inxi: 3.3.25
Garuda (2.6.16-1):
  System install date:     2022-10-23
  Last full system update: 2023-03-28
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager mkinitcpio nvidia-dkms
  Windows dual boot:       No/Undetected
  Failed units:            var-lib-snapd-snap-bare-5.mount var-lib-snapd-snap-core18-2697.mount var-lib-snapd-snap-gnome-3-28-1804-161.mount var-lib-snapd-snap-gtk-common-themes-1535.mount var-lib-snapd-snap-snapd-18357.mount systemd-oomd.socket 

Since SteamOS itself is based on Arch Linux using the KDE Plasma desktop, and the Arch standalone 'Steam' package requires Xorg {Arch Linux - xorg-xrandr 1.5.2-1 (x86_64)}, and since Wayland still needs a few finishing touches, I wouldn't be surprised.


Nvidia is slowly working on Wayland support, but if you wan to run games, you should stick to X11 for now.

1 Like

Understandable, but still I'd like to know if there is a fix or at least what is causing this. Correct me if I'm wrong but I've seen like 2 people on the internet with the same issue and no solution, and the rest seem to say that XWayland runs games better than xorg or at least has similar performance.

Wayland is smoother and faster than Xorg in general, but Wayland on Nvidia is still very buggy.

Actually, getting Wayland running on Nvidia at all wasn't even possible not that long ago unless you ran on the nouveau driver. It has come a long way in only a year or so, but Nvidia+Wayland is still a work in progress.