Wayland black/weird/colorful/glitchy screen on GPU2, with cursor (KDE)

Hello,
I’m having a pretty significant problem with Wayland on KDE plasma - I have two GPUs, in PCIe slots 1 (“GPU1”) and 2 (“GPU2”), and 3 displays connected to them, two (“sides”) to the GPU1 and third (“main”/“primary”/“center”) to GPU2. The displays connected to GPU1 work fine, but the one connected to the GPU2 some time ago was showing a black screen, but now it usually looks like some sort of graphical memory dump (different on every session). The windows that are supposed to be on that screen do work, and can be moved around and/or interacted with. The fact that I can actually move cursor over that glitchy mess (and it reacts to the windows that are supposed to appear there) makes it quite cursed.


(I was actually playing Beyond All Reason on Windows, and you can see some game stuff in the glitches)

However the displays work (mostly) fine with X11 session.

Something I found that might be useful, with boot process - I managed to configure my BIOS to turn on one of the displays connected to the each of the GPUs. However, the GPU that has the display with grub is then the one that works in the OS. Between grub and log-in, the displays connected to that GPU (usually GPU1) work fine, while the other one(s) turn on, but only show graphical glitches or remain black. At login screen, the ones connected to the working GPU show login screen, but other(s) turn off. They come back after logon, but, with Wayland, they show the glitchy mess, while on X11, they work fine. I tried reinstalling the drivers in the garuda settings hardware manager (and force-reinstalled explicitly with mhwd), but this seems to have had zero effect on anything.

Found this on this forums:

And this seems to be the exact issue I’m having, but the “solution” is apparently wrong?..:

Right now I am confused… Am I just waiting for the “wayland now works with multiple GPUs” update, or are my drivers busted, or do I have to load some module early in the initramfs (how? (attempt at using dracut (after finding out that Garuda is not using mkinitcpio) failed)), or some other problem?..

Part of the reason for posting this is just to make some more noise about this problem, but ideally… Is there a solution, that isn’t basically “just use X11”? I am getting choppy movement on X11 that is quite the eyesore, while the buttery smoothness of Wayland at 120Hz is mesmerizing, even when just dragging windows around.

This is the correct inxi, this time :smiley:

sudo garuda-inxi
[sudo] password for [redacted username]:
System:
Kernel: 6.10.10-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
clocksource: tsc avail: hpet,acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=dce9a305-635c-4c6b-856f-79a5114c2f5e rw rootflags=subvol=@
loglevel=3 ibt=off nvidia-drm.modeset=1
Desktop: KDE Plasma v: 6.1.5 tk: Qt v: N/A wm: kwin_wayland
tools: xscreensaver,xscreensaver-systemd dm: SDDM Distro: Garuda
base: Arch Linux
Machine:
Type: Desktop Mobo: ASUSTeK model: ROG STRIX Z370-E GAMING v: Rev X.0x
serial: <filter> part-nu: SKU uuid: c71b6314-4309-3709-41c8-2cfda17157e1
UEFI: American Megatrends v: 3005 date: 09/30/2021
Battery:
ID-1: hidpp_battery_0 charge: 100% condition: N/A volts: 4.2 min: N/A
model: Logitech G903 LIGHTSPEED Wireless Gaming Mouse w/ HERO type: N/A
serial: <filter> status: full
CPU:
Info: model: Intel Core i7-8700K socket: LGA1151 bits: 64 type: MT MCP
arch: Coffee Lake gen: core 8 level: v3 note: check built: 2018
process: Intel 14nm family: 6 model-id: 0x9E (158) stepping: 0xA (10)
microcode: 0xF8
Topology: cpus: 1x dies: 1 clusters: 6 cores: 6 threads: 12 tpc: 2
smt: enabled cache: L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 1.5 MiB
desc: 6x256 KiB L3: 12 MiB desc: 1x12 MiB
Speed (MHz): avg: 1300 min/max: 800/4900 base/boost: 3700/8300 scaling:
driver: intel_pstate governor: powersave volts: 1.1 V ext-clock: 100 MHz
cores: 1: 1300 2: 1300 3: 1300 4: 1300 5: 1300 6: 1300 7: 1300 8: 1300
9: 1300 10: 1300 11: 1300 12: 1300 bogomips: 88796
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities: <filter>
Graphics:
Device-1: Intel CoffeeLake-S GT2 [UHD Graphics 630] vendor: ASUSTeK
driver: i915 v: kernel arch: Gen-9.5 process: Intel 14nm built: 2016-20
ports: active: none empty: DP-5, HDMI-A-5, HDMI-A-6, HDMI-A-7
bus-ID: 00:02.0 chip-ID: 8086:3e92 class-ID: 0380
Device-2: NVIDIA GP102 [GeForce GTX 1080 Ti] vendor: ASUSTeK
driver: nvidia v: 560.35.03 alternate: nouveau,nvidia_drm non-free: 550.xx+
status: current (as of 2024-09; EOL~2026-12-xx) arch: Pascal code: GP10x
process: TSMC 16nm built: 2016-2021 pcie: gen: 3 speed: 8 GT/s lanes: 8
link-max: lanes: 16 ports: active: none off: DP-1,DP-2
empty: DVI-D-1,HDMI-A-1,HDMI-A-2 bus-ID: 01:00.0 chip-ID: 10de:1b06
class-ID: 0300
Device-3: NVIDIA GP102 [GeForce GTX 1080 Ti] vendor: ASUSTeK
driver: nvidia v: 560.35.03 alternate: nouveau,nvidia_drm non-free: 550.xx+
status: current (as of 2024-09; EOL~2026-12-xx) arch: Pascal code: GP10x
process: TSMC 16nm built: 2016-2021 pcie: gen: 3 speed: 8 GT/s lanes: 8
link-max: lanes: 16 ports: active: none off: DP-3,DP-4
empty: DVI-D-2,HDMI-A-3,HDMI-A-4 bus-ID: 02:00.0 chip-ID: 10de:1b06
class-ID: 0300
Device-4: Valve 3D Camera driver: uvcvideo type: USB rev: 3.2
speed: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 bus-ID: 2-6.1:3 chip-ID: 28de:2400
class-ID: 0e02 serial: <filter>
Display: unspecified server: X.Org v: 24.1.2 with: Xwayland v: 24.1.2
compositor: kwin_wayland driver: X: loaded: modesetting,nvidia
alternate: fbdev,intel,nouveau,nv,vesa dri: iris
gpu: nvidia,nvidia-nvswitch display-ID: :1 screens: 1
Screen-1: 0 s-res: 7680x1440 s-dpi: 96 s-size: 2032x381mm (80.00x15.00")
s-diag: 2067mm (81.39")
Monitor-1: DP-1 pos: right res: 2560x1440 hz: 120 dpi: 109
size: 597x336mm (23.5x13.23") diag: 685mm (26.97") modes: N/A
Monitor-2: DP-2 pos: left res: 2560x1440 hz: 120 dpi: 109
size: 597x336mm (23.5x13.23") diag: 685mm (26.97") modes: N/A
Monitor-3: DP-4 pos: primary,center res: 2560x1440 hz: 165 dpi: 93
size: 697x392mm (27.44x15.43") diag: 800mm (31.48") modes: N/A
API: EGL v: 1.5 hw: drv: intel iris drv: nvidia platforms: device: 0
drv: nvidia device: 1 drv: nvidia device: 4 drv: iris device: 5 drv: swrast
gbm: drv: nvidia surfaceless: drv: nvidia x11: drv: nvidia
inactive: wayland,device-2,device-3
API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 560.35.03
glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce GTX 1080 Ti/PCIe/SSE2
memory: 10.74 GiB
API: Vulkan v: 1.3.295 layers: 7 device: 0 type: discrete-gpu name: NVIDIA
GeForce GTX 1080 Ti driver: nvidia v: 560.35.03 device-ID: 10de:1b06
surfaces: xcb,xlib device: 1 type: discrete-gpu name: NVIDIA GeForce GTX
1080 Ti driver: nvidia v: 560.35.03 device-ID: 10de:1b06 surfaces: N/A
Audio:
Device-1: Intel 200 Series PCH HD Audio vendor: ASUSTeK
driver: snd_hda_intel v: kernel alternate: snd_soc_avs bus-ID: 00:1f.3
chip-ID: 8086:a2f0 class-ID: 0403
Device-2: NVIDIA GP102 HDMI Audio vendor: ASUSTeK driver: snd_hda_intel
v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 8 link-max: lanes: 16
bus-ID: 01:00.1 chip-ID: 10de:10ef class-ID: 0403
Device-3: NVIDIA GP102 HDMI Audio vendor: ASUSTeK driver: snd_hda_intel
v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 8 link-max: lanes: 16
bus-ID: 02:00.1 chip-ID: 10de:10ef class-ID: 0403
Device-4: Valve VR Radio driver: cdc_acm,hid-generic,usbhid type: USB
rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-6.3.2:8
chip-ID: 28de:2102 class-ID: 0a00 serial: <filter>
Device-5: Valve VR Radio & HMD Mic
driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 2.0 speed: 12 Mb/s
lanes: 1 mode: 1.1 bus-ID: 1-6.3.3:10 chip-ID: 28de:2102 class-ID: 0102
serial: <filter>
Device-6: Kingston HyperX QuadCast S
driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 1.1 speed: 12 Mb/s
lanes: 1 mode: 1.1 bus-ID: 3-1.4.4.1:10 chip-ID: 0951:171d class-ID: 0300
serial: <filter>
API: ALSA v: k6.10.10-zen1-1-zen status: kernel-api with: aoss
type: oss-emulator tools: N/A
Server-1: PipeWire v: 1.2.5 status: n/a (root, process) with:
1: pipewire-pulse status: active 2: wireplumber status: active
3: pipewire-alsa type: plugin 4: pw-jack type: plugin
tools: pactl,pw-cat,pw-cli,wpctl
Network:
Device-1: Intel Ethernet I219-V vendor: ASUSTeK driver: e1000e v: kernel
port: N/A bus-ID: 00:1f.6 chip-ID: 8086:15b8 class-ID: 0200
IF: enp0s31f6 state: up speed: 100 Mbps duplex: full mac: <filter>
Device-2: Realtek RTL8822BE 802.11a/b/g/n/ac WiFi adapter vendor: ASUSTeK
driver: rtw_8822be v: N/A modules: rtw88_8822be pcie: gen: 1 speed: 2.5 GT/s
lanes: 1 port: c000 bus-ID: 05:00.0 chip-ID: 10ec:b822 class-ID: 0280
IF: wlp5s0 state: up mac: <filter>
Info: services: NetworkManager, smbd, systemd-timesyncd, wpa_supplicant
Bluetooth:
Device-1: ASUSTek Bluetooth Radio driver: btusb v: 0.8 type: USB rev: 1.1
speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-7:3 chip-ID: 0b05:185c
class-ID: e001 serial: <filter>
Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 4.2
lmp-v: 8 status: discoverable: no pairing: no class-ID: 6c0104
Drives:
Local Storage: total: 5 TiB used: 124.62 GiB (2.4%)
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung model: SSD 960 EVO 500GB
size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
lanes: 4 tech: SSD serial: <filter> fw-rev: 3B7QCXE7 temp: 44.9 C
scheme: GPT
SMART: yes health: PASSED on: 4y 117d 17h cycles: 431
read-units: 408,118,810 [208 TB] written-units: 116,922,758 [59.8 TB]
ID-2: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 860 EVO 1TB
family: based SSDs size: 931.51 GiB block-size: physical: 512 B
logical: 512 B sata: 3.1 speed: 6.0 Gb/s tech: SSD serial: <filter>
fw-rev: 1B6Q temp: 27 C scheme: GPT
SMART: yes state: enabled health: PASSED on: 6y 167d 4h cycles: 430
written: 10.3 TiB
ID-3: /dev/sdb maj-min: 8:16 vendor: Seagate model: ST2000DX002-2DV164
family: FireCuda 3.5 size: 1.82 TiB block-size: physical: 4096 B
logical: 512 B sata: 3.1 speed: 6.0 Gb/s tech: HDD rpm: 7200
serial: <filter> fw-rev: CC41 temp: 44 C scheme: GPT
SMART: yes state: enabled health: PASSED on: 6y 166d 15h cycles: 430
read: 201.18 TiB written: 6.48 TiB Pre-Fail: attribute: Spin_Retry_Count
value: 100 worst: 100 threshold: 97
ID-4: /dev/sdc maj-min: 8:32 vendor: Western Digital
model: WD20SDRW-11VUUS0 size: 1.82 TiB block-size: physical: 4096 B
logical: 512 B type: USB rev: 3.1 spd: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1
sata: 3.1 speed: 6.0 Gb/s tech: HDD rpm: 5400 serial: <filter>
fw-rev: 1026 drive-rev: 01.01A01 temp: 40 C scheme: GPT
SMART: yes state: enabled health: PASSED on: 1y 30d 11h cycles: 155
Partition:
ID-1: / raw-size: 120.03 GiB size: 120.03 GiB (100.00%)
used: 36.85 GiB (30.7%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p7
maj-min: 259:7
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 588 KiB (0.2%) fs: vfat block-size: 512 B dev: /dev/nvme0n1p8
maj-min: 259:8
ID-3: /home raw-size: 200.32 GiB size: 200.32 GiB (100.00%)
used: 87.77 GiB (43.8%) fs: btrfs block-size: 4096 B dev: /dev/sda3
maj-min: 8:3
ID-4: /var/log raw-size: 120.03 GiB size: 120.03 GiB (100.00%)
used: 36.85 GiB (30.7%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p7
maj-min: 259:7
ID-5: /var/tmp raw-size: 120.03 GiB size: 120.03 GiB (100.00%)
used: 36.85 GiB (30.7%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p7
maj-min: 259:7
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: zram size: 31.21 GiB used: 0 KiB (0.0%) priority: 100
comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 12 dev: /dev/zram0
ID-2: swap-2 type: partition size: 31.3 GiB used: 0 KiB (0.0%)
priority: -2 dev: /dev/nvme0n1p6 maj-min: 259:6
Sensors:
System Temperatures: cpu: 33.0 C mobo: N/A
Fan Speeds (rpm): N/A
Info:
Memory: total: 32 GiB available: 31.21 GiB used: 4.71 GiB (15.1%)
Processes: 358 Power: uptime: 8m states: freeze,mem,disk suspend: deep
avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
suspend, test_resume image: 12.43 GiB services: org_kde_powerdevil,
power-profiles-daemon, upowerd Init: systemd v: 256 default: graphical
tool: systemctl
Packages: pm: pacman pkgs: 2143 libs: 595 tools: octopi,pamac,paru
Compilers: clang: 18.1.8 gcc: 14.2.1 Shell: garuda-inxi (sudo) default: Bash
v: 5.2.32 running-in: konsole inxi: 3.3.36
Garuda (2.6.26-1):
System install date:     2024-04-25
Last full system update: 2024-09-28
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut nvidia-dkms
Windows dual boot:       Yes
Failed units:

I know you may not wish to do this but, login to a x11 session at the login screen to see if it works

1 Like

I said in my post, that they do technically work with X11.

That was my point use just use x11
Edit
I have a system that will not work under wayland but does on x11, so i just use x11 :smiley:

1 Like

I would suggest to test the VRAM on GPU2 to rule out hardware issues. Under certain loads, VRAM issues can become more apparent. There is a memtest that uses vulkan in the AUR that might help you:
AUR (en) - memtest_vulkan-git

Thanks for the tip - I tested both GPUs for a bit over 5 minutes, it says it passed for both of them. So probably not that…

…I don’t have to give the tool any special options to test what I had to test, right?..

1 Like

A bit over 5 minutes should do it as it says to run the test for at least 6 minutes, at that point you can stop the test with CTRL+C keys. It also doesn’t require parameters or configuration, so you should be set with the test.

I haven’t used multiple GPUs in one machine in Linux, so sadly I can’t provide any first hand experience using a Wayland session with that kind of setup. I’ll try searching around some issue trackers to see what I find.

2 Likes

Try setting early module loading by setting up a dracut config, as described here:

https://wiki.archlinux.org/title/Dracut#Early_kernel_module_loading

Create a config in /etc/dracut.conf.d.

sudo micro /etc/dracut.conf.d/nvidia.conf

Add the Nvidia modules to the config with force_drivers+=.

force_drivers+=" nvidia nvidia_modeset nvidia_uvm nvidia_drm "

After setting up the config, rebuild the initramfs.

sudo dracut-rebuild

It may also be worth testing other kernels, for example the LTS kernel.

1 Like

This didn’t work… I hope that the fact that I edited a file named add_nvidia_drivers.conf in kate, rather than nvidia.conf in micro doesn’t matter. :sweat_smile:
Getting the same effect with zen and lts kernels.

It sounds like you are seeing artifacts lingering from your Windows session, is that right? Be sure to disable the “fast startup” feature in Windows, as it can hold on to unexpected resources when Windows is supposedly “off”. What Is “Fast Startup” Mode and How to Enable or Disable It? - MiniTool

One other thing you could try would be to set the nvidia_drm.fbdev=1 kernel parameter.

https://wiki.archlinux.org/title/NVIDIA#DRM_kernel_mode_setting

Additionally, with the driver version 545 and above, you can also set the experimental nvidia_drm.fbdev=1 parameter, which is required to tell the NVIDIA driver to provide its own framebuffer device instead of relying on efifb or vesafb, which do not work under simpledrm.

If neither of those take the curse off, this may be your best bet:

It looks like there is a regression or few with the latest Nvidia drivers breaking Plasma Wayland. I have seen a few issues regarding this here and there, for example this topic from another forum:

It could be your issue is related to that, and not something which can be remedied with some adjustments to your configuration.

1 Like

Fast startup is already off, but in that instance, windows had BSOD’d. Nonetheless, I would guess that, if the GPU doesn’t get its power cut, then its RAM chips retain some info that the OS put there. TBH, it is some pretty cool stuff to look at, but I also wonder whether there are any potential cybersecurity concerns there…

Do I understand correctly that I have to add this to
/etc/default/grub
to the
GRUB_CMDLINE_LINUX_DEFAULT
and/or
GRUB_CMDLINE_LINUX
string, and then run
sudo update-grub
?

EDIT: if I do sudo more /sys/module/nvidia_drm/parameters/fbdev, it says Y
does this mean that I already have that thing enabled?..

EDIT2: I did that (but I ran sudo grub-mkconfig -o /boot/grub/grub.cfg), and there is no change, neither on zen nor lts kernel.

Addendum: I haven’t mentioned this yet, but the display that shows the glitches with Wayland, also turns off when I am on the login screen, regardless of whether I have just booted into it, or logged out.

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