Hi all, I’d like to provide a final update on this regression affecting AMD Radeon R9 380 (Tonga), which I bisected earlier between Linux 6.3 (good) and 6.4 (bad). After further investigation, I was able to isolate the issue more precisely and identify a reliable workaround. 🔍 Summary: After suspend/resume under X11:
* HDMI monitor is physically connected and EDID is valid * Kernel (DRM) correctly detects the HDMI connector * However, X11 ends up with an inconsistent display state Observed behavior: * HDMI-A-0 is active at correct resolution (1920x1080) * A phantom output (DVI-D-1) appears as connected * DVI-D-1 is incorrectly set as primary at 640x480 * Desktop becomes corrupted (missing panels, apps failing, incorrect layout) xrandr example after resume: HDMI-A-0 connected 1920x1080+0+0 DVI-D-1 connected primary 640x480+1920+116 🧠 Key finding: The issue is not EDID or link training. EDID is readable and valid. This appears to be a failure in atomic modeset / connector-to-CRTC mapping during resume, leading to an incorrect fallback output being selected as primary. 💡 Workaround (100% reproducible fix): Running the following immediately restores the system: xrandr --output DVI-D-1 --off xrandr --output HDMI-A-0 --primary --mode 1920x1080 This strongly suggests that the correct state exists but is not applied automatically after resume. ⚙️ Additional observations: * Wayland does not exhibit the same failure (likely due to dynamic state handling) * Issue reproducible only on 6.4+ * s2idle reduces severity but does not fix the issue * amdgpu.dc=0 makes the system fully unusable after resume 🧪 Bisect: First bad commit: b3c98052d46948a8d65d2778c7f306ff38366aac (KVM merge) This likely indicates an indirect trigger (timing/order change during resume), not a direct amdgpu change. 📎 Logs and details available upon request. 🙏 I’m happy to test patches or provide additional debug information. Thanks for your time and for maintaining amdgpu. Best regards, Danilo ________________________________ De: Danilo Machado <[email protected]> Enviado: domingo, 29 de março de 2026 10:36 Para: [email protected] <[email protected]> Cc: Alex Deucher <[email protected]>; [email protected] <[email protected]> Assunto: RE: Additional testing: [REGRESSION][bisected] amdgpu/tonga: HDMI no signal after suspend/resume Also reported on GitLab: https://gitlab.freedesktop.org/drm/amd/-/work_items/5123 ________________________________ De: Danilo Machado <[email protected]> Enviado: domingo, 29 de março de 2026 09:42 Para: [email protected] <[email protected]> Cc: Alex Deucher <[email protected]>; [email protected] <[email protected]> Assunto: RE: Additional testing: [REGRESSION][bisected] amdgpu/tonga: HDMI no signal after suspend/resume Additional testing: I tested with amdgpu.dc=0 to disable Display Core. Result: - system becomes completely unresponsive after resume - black screen, no input response This suggests the issue is not limited to Display Core (DC), but likely affects the core GPU resume path. With DC enabled: - partial recovery (corrupted display, EDID failure) With DC disabled: - complete failure This reinforces that the regression is deeper in the amdgpu resume sequence. ________________________________ De: Danilo Machado <[email protected]> Enviado: sexta-feira, 27 de março de 2026 20:36 Para: [email protected] <[email protected]> Cc: Alex Deucher <[email protected]>; [email protected] <[email protected]> Assunto: RE: [REGRESSION][bisected] amdgpu/tonga: HDMI no signal after suspend/resume Additional data (resume failure analysis) Hardware: - GPU: AMD Radeon R9 380 (Tonga, GCN 3) - CPU: AMD Ryzen 5 5500 - RAM: 16 GB - Display: HDMI Software: - Kernel: 6.8.0-106-generic - Driver: amdgpu - Display server: X11 (issue reproducible), Wayland (no hard failure) --- Summary: After suspend/resume, HDMI output is not restored and the system may freeze under X11. The issue is reproducible and was not present in Linux 6.3. --- Key observation: During resume, the driver fails to read EDID: amdgpu 0000:01:00.0: [drm] *ERROR* No EDID read. This appears to explain why HDMI output is not restored. --- Relevant DRM / AMDGPU log excerpt: [drm] Display Core v3.2.266 initialized on DCE 10.0 amdgpu 0000:01:00.0: [drm] *ERROR* No EDID read. [drm] Initialized amdgpu 3.57.0 20150101 for 0000:01:00.0 --- Analysis: - The failure occurs during display reinitialization after resume - EDID read failure prevents proper HDMI modeset - This aligns with the observed "no signal" condition Behavior differences: - deep sleep: - full GPU/display reinitialization - leads to EDID failure and system instability - s2idle: - partial resume - avoids full lockup but display may still be inconsistent This suggests the issue is in the display resume path, possibly involving: - DC state restore - HDMI link training - DDC/EDID communication - atomic modeset reconstruction --- Conclusion: This is likely a regression in the AMDGPU display resume path, where EDID read fails after resume, preventing HDMI output from being restored. --- Additional notes: This issue was bisected between Linux 6.3 (good) and 6.4 (bad), with the transition point identified as a KVM merge commit. While not directly related to AMDGPU, it may have indirectly exposed this issue via timing/order changes. --- If needed, I can provide: - full journalctl logs - full bisect log - additional testing (kernel params, debug options) ________________________________ De: Danilo Machado <[email protected]> Enviado: quinta-feira, 26 de março de 2026 20:38 Para: [email protected] <[email protected]> Cc: Alex Deucher <[email protected]>; [email protected] <[email protected]> Assunto: [REGRESSION][bisected] amdgpu/tonga: HDMI no signal after suspend/resume Hi all, Thanks again for your feedback. I took a closer look at the bisect results and system behavior, and I’d like to provide a more complete and consolidated report. ________________________________ Hardware: * GPU: AMD Radeon R9 380 (Tonga, GCN 3) * CPU: AMD Ryzen 5 5500 * RAM: 16 GB * Display: HDMI Software: * Driver: amdgpu * Kernel range tested: 6.3 (good) → 6.4 (bad) ________________________________ Summary: This is a reproducible suspend/resume regression affecting HDMI output. * Linux 6.3 → working correctly * Linux 6.4+ → regression present ________________________________ Behavior: After suspend/resume: * HDMI output does not recover ("no signal") * System may freeze under X11 * Wayland does not show the same hard failure Additionally: * Using "deep" sleep: * full system lockup after resume * Using "s2idle": * system resumes without hard lock * however, graphical session may return in a partially broken state ________________________________ Bisect result: A full git bisect was performed between Linux 6.3 and 6.4. First bad commit: b3c98052d46948a8d65d2778c7f306ff38366aac ("Merge tag 'kvm-x86-vmx-6.4'") All intermediate commits in that range were consistently tested as GOOD. ________________________________ Analysis: Although the bisected commit is in KVM and unlikely to directly affect AMDGPU, the transition point is consistent and reproducible. This suggests the regression may be indirectly triggered (e.g. timing or ordering changes during resume), rather than caused directly by that merge. Based on observed behavior, this appears related to the display resume path, possibly involving: * DC state restore after resume * HDMI link training * EDID re-read * atomic modeset state reconstruction The difference between "deep" and "s2idle" also suggests a failure during full GPU/display reinitialization. ________________________________ Conclusion: This appears to be a latent issue exposed by changes introduced during the 6.4 merge window, rather than a direct regression in the bisected commit itself. ________________________________ If helpful, I can assist further by: * providing full bisect logs * capturing detailed dmesg/journalctl before and after resume * testing patches or debug options * narrowing the range further if needed I really appreciate the work on AMDGPU and would be glad to help within my limits to investigate this further. Thanks again for your time. Best regards, Danilo Note: I had some email client configuration issues earlier, which may have caused duplicate messages or formatting problems. These have now been resolved — apologies for any inconvenience.
