I use RX550 and when I wake the PC from sleep, the screen becomes flickering.
Brief summary of the problem:
When I wake the PC from sleep, my monitor will keep flickering.
- CPU: AMD Ryzen 9 3900X 12-Core Processor
- GPU: Sapphire Radeon RX 560
- System Memory: 32GBs
- Display(s): Acer VG271UP
- Type of Diplay Connection: HDMI
- Distro name and Version: Manjaro 21.1.0
- Kernel version: 5.13.0
- Custom kernel: No, official kernel
- AMD package version:
How to reproduce the issue:
Wake the PC from sleep.
The following methods mentioned in ArchWiki can temporarily solve the fault:
It is also possible to forbid the driver so switch to certain P-states, e.g. to workaround problems with deep powersaving P-states like flickering artifacts or stutter. To force the highest VRAM P-state on a Polaris RX 5xx card, while still allowing the GPU itself to run with lower clocks, run:
# echo "manual" > /sys/class/drm/card0/device/power_dpm_force_performance_level # echo "2" > /sys/class/drm/card0/device/pp_dpm_mclk
But it seems that I will lose GPU automatic power adjustment?And when I wake up from sleep again, my screen will still flicker.
The flicker caused by waking up from sleep is very similar to the flicker caused by using a command to quickly switch the VRAM frequency.
Sometimes I use the cat command to check the status of pp_dpm_mclk and find that the value of pp_dpm_mclk does change several times in one second.
This looks pretty wrong, doesn't it?