Random screen flickering on LG 38GN950-B monitor
Brief summary of the problem:
After upgrading to a new monitor (3840x1600 @ 144Hz with Freesync) I get random flickering on the desktop. It basically looks like the whole screen flashing white for a single frame or so and only happens sporadically (roughly 10-20 min apart). It only happens on the desktop but not when running fullscreen games. It does not cause any log entries to appear in dmesg, journalctl or Xorg.log.0.
I have tried using a different Display Port cable which made no difference. I also tried using a different non Amd GPU and the problem did not occur there.
From my own findings the problem appears to be related to MCLK switching. After doing echo "3" > /sys/class/drm/card0/device/pp_dpm_mclk
to force MCLK to always run at the highest frequency the problem is completely gone. This would also fit with it not happening during gaming as MCLK probably stays on max clock during that on its own.
Hardware description:
- CPU: AMD Ryzen 7 5800X3D 8-Core Processor
- GPU: 6900 XT
0b:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] [1002:73bf] (rev c0)
- System Memory: 32GB DDR4 3200 CL14
- Display(s): LG 38GN950-B (3840x1600 @ 144Hz with Freesync enabled)
- Type of Display Connection: Display Port
System information:
- Distro name and Version: Arch Linux (Rolling Release)
- Kernel version: 5.17.4-zen1-1-zen (Downgrading to 5.16 did not fix it)
- Custom kernel: N/A
- AMD official driver version: N/A
- Desktop: Cinnamon 5.2 on Xorg 21.1.3
How to reproduce the issue:
Assuming the same hardware setup just browsing or general desktop work will occasionally cause it to show.