7900 XTX Slow change or hang while trying to change display settings with kernel 6.1
Hardware description:
- CPU: AMD 5950x
- GPU: 0a:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX] [1002:744c] (rev c8) Sapphire Nitro+
- System Memory: 32GB DDR4
- Display(s): DELL 27" 2560x1440@144 DisplayPort and SAMSUNG 75" 3840x2160@120 HDMI
System Info:
- Debian 12 bookworm/testing
- Kernel: 6.1.0-7-amd64 #1 (closed) SMP PREEMPT_DYNAMIC Debian 6.1.20-2 (2023-04-08) x86_64 GNU/Linux
- DE: KDE Plasma 5.27.2 Wayland
Hi, while working on testing for #2315 (comment 1874705), I have encountered several times the following strange issue:
After changing the display resolution or refresh rates, or enabling/disabling a display or VRR policy, the display hangs (mouse cursor does not move anymore) or turns black (if trying to disable/enable for example).
After some time (some seconds) it might recover and then work, and I get the "Display settings changed" dialog with Keep / Abort options from Plasma.
from dmesg, when recovered:
Apr 20 11:47:58 andreidesk kernel: [drm:dc_dmub_srv_wait_idle [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
Apr 20 11:48:10 andreidesk kernel: [drm:dc_dmub_srv_p_state_delegate [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
Attempted to change the SAMSUNG display refresh rate from 60 to 100 and then 120 from dmesg:
[Do Apr 20 12:15:26 2023] [drm:dc_dmub_srv_wait_idle [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[Do Apr 20 12:15:31 2023] [drm:dc_dmub_srv_p_state_delegate [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[Do Apr 20 12:15:31 2023] [drm:dc_dmub_setup_subvp_dmub_command [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[Do Apr 20 12:15:31 2023] [drm:dc_dmub_setup_subvp_dmub_command [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[Do Apr 20 12:16:22 2023] [drm:dc_dmub_srv_p_state_delegate [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[Do Apr 20 12:16:27 2023] [drm:dc_dmub_srv_wait_idle [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[Do Apr 20 12:16:27 2023] [drm:dc_dmub_srv_wait_idle [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[Do Apr 20 12:16:27 2023] [drm:dc_dmub_srv_wait_idle [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[Do Apr 20 12:16:27 2023] [drm:dc_dmub_srv_wait_idle [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[Do Apr 20 12:16:28 2023] [drm:dc_dmub_srv_wait_idle [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[Do Apr 20 12:16:28 2023] [drm:dc_dmub_srv_wait_idle [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[Do Apr 20 12:16:28 2023] [drm:dc_dmub_srv_wait_idle [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[Do Apr 20 12:16:33 2023] [drm:dc_dmub_setup_subvp_dmub_command [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[Do Apr 20 12:16:33 2023] [drm:dc_dmub_srv_wait_idle [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[Do Apr 20 12:16:38 2023] [drm:dc_dmub_srv_p_state_delegate [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[Do Apr 20 12:16:38 2023] [drm:dc_dmub_setup_subvp_dmub_command [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[Do Apr 20 12:16:39 2023] [drm:dc_dmub_setup_subvp_dmub_command [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
Or, it might hang completely and then I cannot do anything, expect maybe ssh in and try to terminate processes or reboot etc. dmesg Log: amdgpu_dmesg_ref2.txt
I can't seem to reliably reproduce it, so far I think it may be related to how fast I am attempting these display changes, without waiting in between the steps. Mostly I have tried changing the refresh rates and disabling/enabling displays:
Example: Step1: Change Display1 refresh rate 60 Step2: Change Display1 refresh rate 100
Using Kernel 6.2.11-x64v3-xanmod1 #0~20230413.456bb167, it seems changing the Display settings is more robust and I can not reproduce the issue.