Display corruption on Zen 4 desktop iGPU (Raphael) when using AMD P-state driver
Brief summary of the problem:
When using the AMD P-state driver (amd_pstate.shared_mem=1 amd_pstate=passive
as kernel parameters, with ondemand governor), and while the system is largely idle, there is display corruption (flickering incorrect rendering/smearing) of the Zen 4 desktop iGPU. This does not happen when the system is under load (even when using the AMD P-state driver), or when not using the AMD P-state driver (even when idle).
This is a separate issue unrelated to #2354 (closed), though that issue also affects me, so I also have amdgpu.sg_display=0
in my kernel parameters.
Hardware description:
- CPU: 7950X3D
- GPU: 16:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev c9)
- System Memory: 2x32GB DDR5-6000
- Display(s): 1x 1080p/60Hz
- Type of Display Connection: HDMI
System information:
- Distro name and Version: Manjaro
- Kernel version:
Linux titanite 6.2.16-1-MANJARO #1 SMP PREEMPT_DYNAMIC Wed May 17 17:02:01 UTC 2023 x86_64 GNU/Linux
- driver version: mesa 23.0.3-1
How to reproduce the issue:
- Enable the AMD P-state driver with kernel parameters
amd_pstate=passive initcall_blacklist=acpi_cpufreq_init
(and presumably also apply other fixes when necessary, e.g.amdgpu.sg_display=0
) and the ondemand governor. - Log into your WM/DE (I'm using MATE & X.org)
- Do something that would cause display corruption while leaving the PC largely idle; I've found the best way to do this is to just open up a browser (I use Firefox) and then Discord (within the browser). Then, start typing text in a channel/DM and display corruption should occur.
Screenshots/video files
If necessary I can probably take a video of the issue, but ideally you can reproduce it on your end so I don't have to.