You are not logged in.
Not sure if this should go in the Kernel subforum or stay here.
I recently went through my first Arch installation from scratch. Everything is working perfectly, except for a severe GUI flickering issue with my AMD GPU. Just to rule out hardware damage, my Radeon RX 6700 XT operates absolutely fine on my Windows 11 dual boot.
The Problem
I am running KDE Plasma (Wayland). Immediately after booting, the screen flickers heavily. I noticed it reduces when less is changing on the screen; if everything is static, the flicker essentially goes away. I also noticed this mostly happens at higher monitor refresh rates (over 120Hz over HDMI). Modes below 120Hz operate with little to no flicker even in automatic mode.
I tracked the issue down to the amdgpu driver dynamically changing VRAM clocks depending on the load. What fixed the issue was a hacky script to lock the clocks, like this:
echo manual > /sys/class/drm/card1/device/power_dpm_force_performance_level
echo 3 > /sys/class/drm/card1/device/pp_dpm_mclk
My current workaround
I installed LACT to manage the GPU states. Testing different values from its GUI revealed that locking it to "low" (lowest clocks) or "high" (highest clocks) works perfectly and stops the flickering. The only problem is the "automatic" mode - because it changes clocks on the fly, it causes constant GUI flicker.
I can survive manually swapping profiles when I need to, but this doesn't work for the login screen. I am using plasma-login-manager (SDDM), and when the system initially launches, the login screen flickers wildly. Note that this also happens on the original SDDM.
It appears the profile I set in LACT is reset on reboots and won't be applied until after I log in and the daemon fully launches.
What I'm looking for:
- Is there a native fix or kernel parameter for the amdgpu "automatic" mode so it stops flickering at 144Hz?
- If not, is there a clean way to force the GPU into a "low" or "high" profile on boot so that SDDM doesn't flicker before user-space daemons like LACT start?
System Specs:
Operating System: Arch Linux
KDE Plasma Version: 6.6.2
KDE Frameworks Version: 6.23.0
Qt Version: 6.10.2
Kernel Version: 6.19.6-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 16 × 12th Gen Intel® Core™ i5-12600K
Memory: 64 GiB of RAM (62.6 GiB usable)
Graphics Processor: AMD Radeon RX 6700 XT
Manufacturer: Micro-Star International Co., Ltd.
Product Name: MS-7E02
System Version: 1.0
Last edited by telionfondrad (2026-03-11 21:48:31)
Offline
Isn't it VRR flicker? For me anything above 120Hz causes VRR flicker, so I either disable VRR altogether or keep max frequency at 120Hz.
Try disabling VRR in kde settings to see if it makes a difference.
Also, if possible, try a displayport cable. HDMI sometimes has issues with linux, especially at high refresh rates...
Last edited by LuxFerre (2026-03-10 19:33:08)
Offline
Thanks for the quick reply!
I forgot to mention this. The "Adaptive sync" is disabled entirely. Is that the one you're talking about?
Also, if possible, try a displayport cable. HDMI sometimes has issues with linux, especially at high refresh rates...
I actually ordered one because of this. I will try as soon as I get it.
Offline
Yea it is adaptive sync, for me it only works well with 120Hz, not higher. It's not the same problem for you though.
As a suggestion, why not use 120Hz if as you say the problem goes away? From 120Hz to 144 the difference is not really noticeable, especially in desktop use there's nothing to gain and in games you would probably need a better GPU to get enough frames.
Offline
I'd be totally fine with sticking to 120Hz, but the problem is the issue doesn't resolve entirely - at least not in my case. Even at 60Hz, I'm not completely safe. I think I’ve recorded at least one instance of it happening on 60hz, too. Honestly, even a tiny bit of flickering is annoying enough to be a dealbreaker.
The good news (or bad news?) is that I replaced the HDMI with a DisplayPort cable, and everything started working perfectly immediately. I’m actually really surprised that the cable was the culprit! I spent too much time over this for it to reveal to be something this trivial.
This issue is resolved.
Offline