Graphical glitches/flickering under Wayland with Nvidia eGPU

I never asked for help before but after over a year searching for solutions i give up now and jump over my shadow.

—Unimportant side note how I ended up here—
I started with Linux December 2023 (choose Garuda) after my hatred towards Windows grew too much. And even with this 1 and a half issue that I have, I dont regret it. I really enjoy (Garuda) Linux now. Anyways to my problem…
—side note end

I have a rather weird setup that not many people have. Therefore not many will run into this problem. Here is the inxi:

```text
System:
  Kernel: 6.13.5-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 14.2.1 clocksource: tsc
    avail: acpi_pm parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=1558769d-e5c1-48cf-bebb-4f2f0b2898eb rw rootflags=subvol=@ quiet
    resume=UUID=26f5ac2b-2f19-40c7-8b31-5d603e5aabcd loglevel=3 ibt=off
  Desktop: KDE Plasma v: 6.3.2 tk: Qt v: N/A info: frameworks v: 6.11.0 wm: kwin_wayland vt: 1
    dm: SDDM Distro: Garuda base: Arch Linux
Machine:
  Type: Laptop System: Razer product: Blade Stealth 13 (Early 2020) - RZ09-0310 v: 2.04
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: Razer model: LY325 serial: <superuser required> part-nu: RZ09-03102G52
    uuid: <superuser required> UEFI: Razer v: 1.04 date: 11/19/2020
Battery:
  ID-1: BAT0 charge: 47.9 Wh (100.0%) condition: 47.9/53.4 Wh (89.7%) volts: 11.5 min: 11.6
    model: Razer Blade type: Unknown serial: <filter> status: full
CPU:
  Info: model: Intel Core i7-1065G7 bits: 64 type: MT MCP arch: Ice Lake gen: core 10 level: v4
    note: check built: 2019-21 process: Intel 10nm family: 6 model-id: 0x7E (126) stepping: 5
    microcode: 0xC6
  Topology: cpus: 1x dies: 1 clusters: 4 cores: 4 threads: 8 tpc: 2 smt: enabled cache:
    L1: 320 KiB desc: d-4x48 KiB; i-4x32 KiB L2: 2 MiB desc: 4x512 KiB L3: 8 MiB desc: 1x8 MiB
  Speed (MHz): avg: 3008 min/max: 400/3900 scaling: driver: intel_pstate governor: powersave
    cores: 1: 3008 2: 3008 3: 3008 4: 3008 5: 3008 6: 3008 7: 3008 8: 3008 bogomips: 23961
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
Graphics:
  Device-1: Intel Iris Plus Graphics G7 vendor: Razer USA driver: i915 v: kernel arch: Gen-11
    process: Intel 10nm built: 2019-21 ports: active: eDP-1 empty: DP-4, DP-5, DP-6, DP-7, DP-8
    bus-ID: 00:02.0 chip-ID: 8086:8a52 class-ID: 0300
  Device-2: NVIDIA GA102 [GeForce RTX 3080 Lite Hash Rate] vendor: Micro-Star MSI driver: nvidia
    v: 570.124.04 alternate: nouveau,nvidia_drm non-free: 550/565.xx+ status: current (as of
    2025-01; EOL~2026-12-xx) arch: Ampere code: GAxxx process: TSMC n7 (7nm) built: 2020-2023 pcie:
    gen: 3 speed: 8 GT/s lanes: 4 link-max: gen: 4 speed: 16 GT/s lanes: 16 ports: active: none
    off: DP-1 empty: DP-2,DP-3,HDMI-A-1 bus-ID: 2e:00.0 chip-ID: 10de:2216 class-ID: 0300
  Device-3: NVIDIA TU117M [GeForce GTX 1650 Ti Mobile] vendor: Razer USA driver: nvidia
    v: 570.124.04 alternate: nouveau,nvidia_drm non-free: 550/565.xx+ status: current (as of
    2025-01; EOL~2026-12-xx) arch: Turing code: TUxxx process: TSMC 12nm FF built: 2018-2022 pcie:
    gen: 1 speed: 2.5 GT/s lanes: 4 link-max: gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 58:00.0
    chip-ID: 10de:1f95 class-ID: 0302
  Device-4: IMC Networks Integrated Camera driver: uvcvideo type: USB rev: 2.0 speed: 480 Mb/s
    lanes: 1 mode: 2.0 bus-ID: 3-6:4 chip-ID: 13d3:56d5 class-ID: 0e02 serial: <filter>
  Display: wayland server: X.org v: 1.21.1.16 with: Xwayland v: 24.1.6 compositor: kwin_wayland
    driver: X: loaded: modesetting,nvidia dri: iris gpu: i915,nvidia,nvidia-nvswitch
    d-rect: 5760x2160 display-ID: 0
  Monitor-1: DP-1 pos: right model: MSI MAG271CR serial: <filter> built: 2020 res:
    mode: 1920x1080 hz: 144 scale: 100% (1) dpi: 82 gamma: 1.2 size: 598x336mm (23.54x13.23")
    diag: 686mm (27") ratio: 16:9 modes: max: 1920x1080 min: 640x480
  Monitor-2: eDP-1 pos: primary,left model: AU Optronics 0x272b built: 2018 res: mode: 3840x2160
    hz: 60 scale: 200% (2) to: 1920x1080 dpi: 333 gamma: 1.2 size: 293x165mm (11.54x6.5")
    diag: 336mm (13.2") ratio: 16:9 modes: 3840x2160
  API: EGL v: 1.5 hw: drv: intel iris drv: nvidia platforms: device: 0 drv: nvidia device: 1
    drv: nvidia device: 2 drv: iris gbm: drv: iris surfaceless: drv: nvidia wayland: drv: iris x11:
    drv: iris
  API: OpenGL v: 4.6.0 compat-v: 4.6 vendor: intel mesa v: 24.3.4-arch1.1 glx-v: 1.4
    direct-render: yes renderer: Mesa Intel Iris Plus Graphics (ICL GT2) device-ID: 8086:8a52
    memory: 7.49 GiB unified: yes display-ID: :1.0
  A
PI: Vulkan v: 1.4.304 layers: 13 device: 0 type: integrated-gpu name: Intel Iris Plus
    Graphics (ICL GT2) driver: N/A device-ID: 8086:8a52 surfaces: xcb,xlib,wayland device: 1
    type: discrete-gpu name: NVIDIA GeForce RTX 3080 driver: N/A device-ID: 10de:2216
    surfaces: xcb,xlib,wayland device: 2 type: discrete-gpu name: NVIDIA GeForce GTX 1650 Ti with
    Max-Q Design driver: N/A device-ID: 10de:1f95 surfaces: wayland device: 3 type: cpu
    name: llvmpipe (LLVM 19.1.7 256 bits) driver: N/A device-ID: 10005:0000
    surfaces: xcb,xlib,wayland
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo de: kscreen-console,kscreen-doctor
    gpu: corectrl, nvidia-settings, nvidia-smi wl: wayland-info x11: xdpyinfo, xprop, xrandr
Audio:
  Device-1: Intel Ice Lake-LP Smart Sound Audio vendor: Razer USA driver: sof-audio-pci-intel-icl
    alternate: snd_hda_intel, snd_soc_avs, snd_sof_pci_intel_icl bus-ID: 00:1f.3 chip-ID: 8086:34c8
    class-ID: 0401
  Device-2: NVIDIA GA102 High Definition Audio vendor: Micro-Star MSI driver: snd_hda_intel
    v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 4 link-max: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 2e:00.1 chip-ID: 10de:1aef class-ID: 0403
  API: ALSA v: k6.13.5-zen1-1-zen status: kernel-api with: aoss type: oss-emulator tools: N/A
  Server-1: PipeWire v: 1.2.7 status: active 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 Ice Lake-LP PCH CNVi WiFi driver: iwlwifi v: kernel bus-ID: 00:14.3
    chip-ID: 8086:34f0 class-ID: 0280
  IF: wlo1 state: up mac: <filter>
  Device-2: ASIX AX88179 Gigabit Ethernet driver: ax88179_178a type: USB rev: 3.0 speed: 5 Gb/s
    lanes: 1 mode: 3.2 gen-1x1 bus-ID: 10-1:2 chip-ID: 0b95:1790 class-ID: ff00 serial: <filter>
  IF: enp51s0u1 state: down mac: <filter>
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: Intel AX201 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0 speed: 12 Mb/s lanes: 1
    mode: 1.1 bus-ID: 3-10:9 chip-ID: 8087:0026 class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: down bt-service: enabled,running rfk-block:
    hardware: no software: no address: <filter> bt-v: 5.2 lmp-v: 11 status: discoverable: no
    pairing: no
Drives:
  Local Storage: total: 1.82 TiB used: 504.96 GiB (27.1%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung model: SSD 980 PRO 2TB size: 1.82 TiB
    block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 5B2QGXA7 temp: 34.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 1.8 TiB size: 1.8 TiB (100.00%) used: 504.96 GiB (27.4%) fs: btrfs
    dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 608 KiB (0.2%) fs: vfat
    dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 1.8 TiB size: 1.8 TiB (100.00%) used: 504.96 GiB (27.4%) fs: btrfs
    dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/log raw-size: 1.8 TiB size: 1.8 TiB (100.00%) used: 504.96 GiB (27.4%) fs: btrfs
    dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-5: /var/tmp raw-size: 1.8 TiB size: 1.8 TiB (100.00%) used: 504.96 GiB (27.4%) fs: btrfs
    dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 15.35 GiB used: 0 KiB (0.0%) priority: 100 comp: zstd
    avail: lzo-rle,lzo,lz4,lz4hc,deflate,842 max-streams: 8 dev: /dev/zram0
  ID-2: swap-2 type: partition size: 16.89 GiB used: 0 KiB (0.0%) priority: -2
    dev: /dev/nvme0n1p3 maj-min: 259:3
Sensors:
  System Temperatures: cpu: 48.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 16 GiB available: 15.35 GiB used: 5.21 GiB (33.9%)
  Processes: 298 Power: uptime: 39m states: freeze,mem,disk suspend: deep avail: s2idle
    wakeups: 0 hibernate: platform avail: shutdown, reboot, suspend, test_resume image: 6.07 GiB
    services: o
rg_kde_powerdevil, power-profiles-daemon, upowerd Init: systemd v: 257
    default: graphical tool: systemctl
  Packages: 2046 pm: pacman pkgs: 2039 libs: 575 tools: octopi,pamac,paru pm: flatpak pkgs: 7
    Compilers: clang: 19.1.7 gcc: 14.2.1 Client: shell wrapper v: 5.2.37-release inxi: 3.3.37
Garuda (2.6.26-1.1):
  System install date:     2024-05-10
  Last full system update: 2025-03-01
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut nvidia-dkms
  Windows dual boot:       Probably (Run as root to verify)
  Failed units:            

(i hope i did that right, as mentioned first timer)

So yes I have an external Graphics Card, and its Nvidia.
It works perfectly fine if i use Xorg with all-ways-egpu (which i found after some research) but in wayland i have horrible graphical flickering on the second monitor that is connected to the eGPU (small horizontal lines all over the screen especially on windows) .
I tried also installing Gnome to see if its just KDE having issues with wayland but it had the same glitches. So its either Nvidia or wayland or both. (for testing i used external drive with EndeavorOS but it had the same issue)
I also tried capping the second Monitor to 60hz since many ppl claimed that it helps. Nope.
Others say that this shouldnt happen after 555 driver version… I have 570. So yeah eGPU seems to be different.
I also tried fully reinstalling Garuda one or 2 times in the past, because I remember the day it started was with a big KDE update (i think it was 6.0) and before it just had like 5-10 fps, so not useable either. now fps is fine but Graphics bugs… if i could i would put a video in here to show what i mean.

Im lost, I dont know what to do anymore, I mean yes it works under Xorg but with one monitor being 4K and just 13" and the other being 1080p and 27" you can imagine that the scaling is horrible. Not to mention the performance and security part.

I hope someone sees this and knows what to do, even though I doubt it, or someone who has contacts to people in power to fix it :sweat_smile:
I tried to post it on the Nvidia site for feedbacks on the linux drivers, but they wanted me to make an account and asked too many questions (some of these were very questionable) about me so i gave that up as well.

So yeah… Send help, and if someone knows German, you can speak with me in german. I just write this in english to raise my chances of finding someone who has knowledge (and magical powers at this point :sweat_smile:)

active none + dp1 off and all other ports not connected.
If the card active have you got tested with the hdmi port or other dp port ?

HDMI does the same thing with no difference if you mean that

at the moment your card isn´t active.

How is it not active if the monitor is directly plugged into the eGPU and i have a picture? just not a very beautiful one
Edit: also systemmonitor says that it is working and processing my animated background that i have… so idk about that one…

I`m not so familiar with egpu. (for me it looks as “not active.”)
What say lspci | grep -i nvidia ? Or if you open nvidia-settings you see the egpu ?

Your picture → which gpu is this ? You know ?

i just wanted to edit my post again to add another picture that shows which gpu it is in the systemmonitor, easily identified by the vram it uses.
used a differnt command tho

your 3080 is active
You have a xorg.conf file inside /etc/x11/ or /etc/x11/xorg.conf.d/20-nvidia-conf ? (both should be identical)
If…backup these files + delete these files → reboot start into a wayland session and then ?

cant find neither xorg.conf nor the nvidia ones, think it must be replaced by the egpu switcher?.. even if i would find it, i doubt that i would know what i should look for to compare them…

no conf file → that´s ok. Standard is no xorg.conf file sience some years.

The developer describes issues sometimes with gnome-wayland + all-ways-egpu.

Restarting the display manager when using GNOME Wayland with fractional scaling may lead to a laggy desktop. In this case a manual logout and login is recommended to avoid this.

Relogin make no difference or ?

You use also egpu-switcher.
pls post your etc/egpu-switcher/config.yaml file.

well i dont use gnome, i only tested it on endeavourOS to see if the same issue is there. i dont have gnome on garuda.
and yes, i always log out before switching to xorg or wayland…
thats in the file u asked for:

detection:
    interval: 500
    retries: 6
egpu:
    driver: nvidia
    id: 1215446427663218843

pls insert at the end
nomodesetting: false

or

Since version 0.20.0, a custom x11 config template can be configured by creating a file at /usr/share/egpu-switcher/x11-template.conf. The default template is shown below, you can use it as a starting point.

and this ? (special at the end: display settings)

like this? or should it be one above under id
(sry i have no clue about coding stuff)

Only for testing …yes

yeah done, also restarted but no changes… still got my glitched out lines in wayland

edit: added photo so you can see how it looks (note this is a curved monitor so yes the curving is normal on photo, the rest is not)

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