7900 XT with multiple monitors causes flickering and general lagginess

Hello all! Just installed Garuda after buying an AMD RX 7900 XT and I've ran into my first issue.

When trying to use two monitors, certain UI elements of the desktop flicker, the cursor flickers, and the system feels generally laggy. When I'm using just a single monitor, everything works great! I've attached a video showcasing these issues:
One Monitor
Two Monitors

I was previously running a Garuda installation with the git amd drivers following this guide, but borked the OS somehow later and had to reinstall. This issue was also present with the git version.

I'm very new to Garuda and Arch, so please let me know what other information I can provide that would be helpful. I greatly appreciate any help in advance!

Here's my inxi:

╰─λ garuda-inxi
System:
Kernel: 6.1.4-zen2-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=a6b6a44d-748b-42d2-987f-49e7a270aec8 rw [email protected]
quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
loglevel=3 ibt=off
Desktop: KDE Plasma v: 5.26.5 tk: Qt v: 5.15.8 info: latte-dock
wm: kwin_x11 vt: 1 dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
Type: Desktop Mobo: ASUSTeK model: PRIME X299-DELUXE v: Rev 1.xx
serial: <superuser required> UEFI: American Megatrends v: 3701
date: 05/23/2022
CPU:
Info: model: Intel Core i7-7820X bits: 64 type: MT MCP arch: Skylake
gen: core 7 level: v4 note: check process: Intel 14nm family: 6
model-id: 0x55 (85) stepping: 4 microcode: 0x2006E05
Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 8 MiB desc: 8x1024 KiB
L3: 11 MiB desc: 1x11 MiB
Speed (MHz): avg: 3886 high: 4000 min/max: 1200/4300:4500 scaling:
driver: intel_pstate governor: performance cores: 1: 3744 2: 3749 3: 4000
4: 4000 5: 4000 6: 3820 7: 3977 8: 4000 9: 3967 10: 3942 11: 3766 12: 3761
13: 3766 14: 3781 15: 3911 16: 4000 bogomips: 115200
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities: <filter>
Graphics:
Device-1: AMD Navi 31 [Radeon RX 7900 XT/7900 XTX] driver: amdgpu v: kernel
arch: RDNA-3 code: Navi-3x process: TSMC n5 (5nm) built: 2022+ pcie: gen: 4
speed: 16 GT/s lanes: 16 ports: active: DP-1 empty: DP-2,DP-3,HDMI-A-1
bus-ID: c3:00.0 chip-ID: 1002:744c class-ID: 0300
Device-2: Logitech HD Pro Webcam C920 type: USB
driver: snd-usb-audio,uvcvideo bus-ID: 7-2.1:3 chip-ID: 046d:082d
class-ID: 0102 serial: <filter>
Display: x11 server: X.Org v: 21.1.6 with: Xwayland v: 22.1.7
compositor: kwin_x11 driver: X: loaded: amdgpu gpu: amdgpu display-ID: :0
screens: 1
Screen-1: 0 s-res: 2560x1440 s-dpi: 96 s-size: 677x381mm (26.65x15.00")
s-diag: 777mm (30.58")
Monitor-1: DP-1 mapped: DisplayPort-0 model: Dell S2721DGF
serial: <filter> built: 2022 res: 2560x1440 dpi: 109 gamma: 1.2
size: 597x336mm (23.5x13.23") diag: 685mm (27") ratio: 16:9 modes:
max: 2560x1440 min: 720x400
API: OpenGL v: 4.5 Mesa 22.3.2 renderer: llvmpipe (LLVM 14.0.6 256 bits)
direct render: Yes
Audio:
Device-1: Intel 200 Series PCH HD Audio vendor: ASUSTeK
driver: snd_hda_intel bus-ID: 1-6.3:4 v: kernel bus-ID: 00:1f.3
chip-ID: 1b1c:0a64 chip-ID: 8086:a2f0 class-ID: 0300 serial: <filter>
class-ID: 0403
Device-2: AMD driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s
lanes: 16 bus-ID: c3:00.1 chip-ID: 1002:ab30 class-ID: 0403
Device-3: Corsair VIRTUOSO XT Wireless Gaming Receiver type: USB
driver: hid-generic,snd-usb-audio,usbhid
Device-4: Logitech HD Pro Webcam C920 type: USB
driver: snd-usb-audio,uvcvideo bus-ID: 7-2.1:3 chip-ID: 046d:082d
class-ID: 0102 serial: <filter>
Sound API: ALSA v: k6.1.4-zen2-1-zen running: yes
Sound Server-1: PulseAudio v: 16.1 running: no
Sound Server-2: PipeWire v: 0.3.63 running: yes
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: eno1 state: down mac: <filter>
Device-2: Wilocity Wil6200 802.11ad Wireless Network Adapter
driver: wil6210 v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1
bus-ID: 43:00.0 chip-ID: 1ae9:0310 class-ID: 0280
IF: wlp67s0 state: down mac: <filter>
Device-3: Intel I211 Gigabit Network vendor: ASUSTeK driver: igb v: kernel
pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: 2000 bus-ID: 46:00.0
chip-ID: 8086:1539 class-ID: 0200
IF: enp70s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Device-4: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter
vendor: ASUSTeK driver: ath10k_pci v: kernel pcie: gen: 1 speed: 2.5 GT/s
lanes: 1 bus-ID: 47:00.0 chip-ID: 168c:003e class-ID: 0280 temp: 48.0 C
IF: wlp71s0 state: down mac: <filter>
Bluetooth:
Device-1: ASUSTek type: USB driver: btusb v: 0.8 bus-ID: 1-13:7
chip-ID: 0b05:1868 class-ID: e001
Report: bt-adapter ID: hci0 rfk-id: 1 state: up address: <filter>
Drives:
Local Storage: total: 7.3 TiB used: 672.02 GiB (9.0%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:3 vendor: Samsung model: SSD 970 PRO 512GB
size: 476.94 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
lanes: 4 type: SSD serial: <filter> rev: 1B2QEXP7 temp: 32.9 C scheme: GPT
ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Western Digital
model: WDS200T1X0E-00AFY0 size: 1.82 TiB block-size: physical: 512 B
logical: 512 B speed: 63.2 Gb/s lanes: 4 type: SSD serial: <filter>
rev: 613000WD temp: 53.9 C scheme: GPT
ID-3: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 850 PRO 256GB
size: 238.47 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
type: SSD serial: <filter> rev: 1B6Q
ID-4: /dev/sdb maj-min: 8:16 vendor: Western Digital
model: WD4004FZWX-00GBGB0 size: 3.64 TiB block-size: physical: 4096 B
logical: 512 B speed: 6.0 Gb/s type: HDD rpm: 7200 serial: <filter>
rev: 0A81 scheme: GPT
ID-5: /dev/sdc maj-min: 8:32 vendor: Samsung model: SSD 840 PRO Series
size: 238.47 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
type: SSD serial: <filter> rev: 6B0Q
ID-6: /dev/sdd maj-min: 8:48 vendor: Samsung model: SSD 870 EVO 1TB
size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
type: SSD serial: <filter> rev: 2B6Q scheme: GPT
Partition:
ID-1: / raw-size: 1.82 TiB size: 1.82 TiB (100.00%) used: 18.8 GiB (1.0%)
fs: btrfs dev: /dev/nvme1n1p2 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/nvme1n1p1 maj-min: 259:1
ID-3: /home raw-size: 1.82 TiB size: 1.82 TiB (100.00%)
used: 18.8 GiB (1.0%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:2
ID-4: /var/log raw-size: 1.82 TiB size: 1.82 TiB (100.00%)
used: 18.8 GiB (1.0%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:2
ID-5: /var/tmp raw-size: 1.82 TiB size: 1.82 TiB (100.00%)
used: 18.8 GiB (1.0%) fs: btrfs dev: /dev/nvme1n1p2 maj-min: 259:2
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 31.03 GiB used: 0 KiB (0.0%) priority: 100
dev: /dev/zram0
Sensors:
System Temperatures: cpu: 48.0 C mobo: N/A gpu: amdgpu temp: 46.0 C
mem: 60.0 C
Fan Speeds (RPM): N/A gpu: amdgpu fan: 0
Info:
Processes: 404 Uptime: 31m wakeups: 0 Memory: 31.03 GiB
used: 4.96 GiB (16.0%) Init: systemd v: 252 default: graphical
tool: systemctl Compilers: gcc: 12.2.0 Packages: pm: pacman pkgs: 1986
libs: 558 tools: octopi,paru Shell: fish v: 3.5.1 default: Bash v: 5.1.16
running-in: konsole inxi: 3.3.24
Garuda (2.6.14-1):
System install date:     2023-01-09
Last full system update: 2023-01-10
Is partially upgraded:   No
Relevant software:       snapper NetworkManager mkinitcpio
Windows dual boot:       Probably (Run as root to verify)
Failed units:

I believe the only major change I've made on the system is creating the file /etc/X11/xorg.conf.d/20-amdgpu.conf. I did this to fix an issue where the cursor would not display. Here are the contents of that file:

Section "Device"
Identifier "AMD"
Driver "amdgpu"
Option "SWCursor" "True"
Endsection

I read it could be a problem when the two monitors have different refresh rates, is this the case?

1 Like

There is a driver installation problem here.

1 Like

No, I have dual monitors with one 60hz, the other 165hz.

I did switch to a 7900xtx yesterday and had some issues. I did switch to the mainline kernel and since then all is working smoothly. Most probably that is, because mainline already is 6.2 whereas the others all are 6.1.

Give that a try.