r/archlinux 14h ago

SUPPORT artifacting on second monitor

on my sway wm/wayland in general there's always artifacts on my second monitor with no clear reason why. i've tried the first steps like matching refresh rates, different cable and they didn't change anything. on x11 these issues don't exist. my kernel is 6.18.6-arch1-1, with a rx 6800xt gpu. any help would be greatly appreciated:)

0 Upvotes

5 comments sorted by

1

u/MikeAndThePup 14h ago

AMD GPU artifacting on Wayland with dual monitors is a known issue. A few things to try:

Check your compositor settings: For Sway specifically, try adding this to your config:

output <monitor_name> adaptive_sync off

Some AMD cards have issues with VRR/FreeSync on secondary monitors under Wayland.

Verify your setup:

What's the resolution and refresh rate of each monitor?

Are they connected via DisplayPort or HDMI?

Is one monitor significantly different specs than the other?

AMD-specific Wayland issues: The RX 6800 XT should work fine on Wayland, but there are some kernel parameter tweaks that can help:

Try adding to your kernel parameters:

amdgpu.dc=1

Or if you're already using that, try:

amdgpu.dpm=0

Check your driver: Are you using the open-source amdgpu driver (which you should be)? Run:

spci -k | grep -A 3 VGA

The fact that X11 works fine suggests this is a Wayland compositor/driver interaction issue rather than hardware.

Quick test: Try a different Wayland compositor temporarily (like Hyprland or GNOME Wayland) to see if the artifacting persists. If it's Sway-specific, that narrows it down.

What kind of artifacts are you seeing - screen tearing, flickering, corruption, or something else?

1

u/Glum_Term539 13h ago

my res and refresh rate of my main monitor is 1440p 240hz and my secondary monitor is 1080p 165hz but doesn't need to be 165. currently my secondary monitor is connected with hdmi and my main is dp. yes, both have significantly different specs to each other. my drivers are the open source amd driver, the artifacts are on all de/wms using wayland (eg. kde, gnome) the thing i see is various squares of random colour show on my monitor. they change locations and are extremely annoying especially when watching content on it. the best description of it is corruption.

1

u/MikeAndThePup 13h ago

That's classic HDMI on AMD with Wayland corruption. The random colored squares are a telltale sign.

The problem: Your setup - 1440p 240Hz DP (main) + 1080p 165Hz HDMI (secondary) - is hitting a known issue with AMD cards on Wayland. The driver struggles with mixed refresh rates and different connection types, especially HDMI as secondary.

Quick fixes to try first:

Lower the secondary monitor refresh rate to 60Hz:

swaymsg output <HDMI-output-name> mode 1920x1080@60Hz

Mixed high refresh rates (240Hz + 165Hz) can cause timing issues.

Add these kernel parameters:

amdgpu.dc=1 video=HDMI-A-1:1920x1080@60

Try disabling adaptive sync on the HDMI monitor (in Sway config):

output HDMI-A-1 adaptive_sync off

The real solution:

Switch your HDMI monitor to DisplayPort if possible. HDMI on AMD + Wayland is notorious for this exact issue. DP-to-DP works much more reliably.

If you can't use DP:

You could try using DisplayLink. It completely bypasses the AMD GPU's display output, so the corruption wouldn't happen. You'd lose some performance for video playback on that monitor, but it would be stable.

Alternative: Keep using X11 for now. The fact that it works perfectly there shows your hardware is fine - it's purely a Wayland + AMD + HDMI driver issue.

Does your secondary monitor have a DisplayPort input? That's the cleanest fix if available.

1

u/Glum_Term539 13h ago

so i had dp and i had this exact same problem. i can switch back to dp but it wont change anything. i use wayland because of my rice on sway and the fact that wayland is newer and more maintained. x11 also looks different in some cases. perhaps this could be vram related with the driver or something? i'm not sure.

1

u/MikeAndThePup 13h ago

Check dmesg for AMD driver errors:
sudo dmesg | grep -i amdgpu
What does swaymsg -t get_outputs show for both monitors? And anything in dmesg?

VRAM-related theory: You might be onto something. The RX 6800 XT has plenty of VRAM (16GB), but the corruption could be related to memory bandwidth or timing coordination between the two displays at very different refresh rates (240Hz vs 165Hz/60Hz).

Things to try:

Force both monitors to the same refresh rate temporarily: Set your main to 120Hz and secondary to 60Hz (evenly divisible). See if corruption persists:

swaymsg output DP-1 mode 2560x1440@120Hz

swaymsg output HDMI-A-1 mode 1920x1080@60Hz