fix(asahi): add experimental HDMI reconnect recovery - #406
Open
avillagran wants to merge 1 commit into
Open
Conversation
avillagran
marked this pull request as ready for review
September 11, 2026 19:17
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
AsahiLinux/linuxcommitce9f2eba72c061a50b2d790450e90af3439d8c24.docs/asahi-hdmi-reconnect.md.Ready for maintainer review as an experimental, opt-in patch; not proposed for automatic deployment. No installer/update integration, package installation, GRUB changes, or reboots are performed by this PR. No raw journals, personal configuration, or prebuilt kernel package are included.
Validation
bash test/shell.d/asahi-hdmi-reconnect-test.sh.python3 test/asahi/reconnect.py: pinned baseline SHA-256 checks and patch applicability; baseline C seam produces exactly 11 expected assertion failures; patched seam reports zero failures; both source regression tests pass. The expected baseline RED is a regression check, not a full-suite pass.bin/omarchy commands --checkpasses (465 commands).git diff --checkexits 2 on the embedded.patchfile's required context-line prefixes (space before kernel tabs and space-only context lines). The patch is deliberately preserved byte-for-byte; the applied kernel-source diff passes its whitespace check in the focused regression runner.dbf332ead80ad84d5fb681fe83fc92c89cb88e0d4e416142acbb80565aacedcf, identical to the hardware-tested functional patch.7.1.13-1-1-ARCH-hdmi-recover, 2560×1440 at 75 Hz. User confirmed initial image and three complete unplug/replug cycles, without compositor/session restart. Retained captures through the third reconnect had noflip_done timed out,commit wait timed out, Oops, BUG, or panic matches. An initial-boot swallowed-swap message also existed in baseline; this is not a claim of a completely clean boot log../test/allrun exited 1. Its local log contains locale-sensitive benchmark arithmetic, jq parsing, and awk syntax diagnostics. Baseline comparison was interrupted, so these failures have not been established as pre-existing or unrelated. The local failure is retained for transparency; both GitHub suite jobs subsequently passed.Remaining validation and maintainer review items
Review scope
The staged patch, build/package path, tests and documentation received a separate publication review. No new functional kernel edits were made after the hardware campaign. Concurrency/liveness and packaging end-to-end validation remain explicit limitations for maintainer review rather than being represented as solved by the unit seam. This candidate does not implement USB-C DisplayPort or M3 enablement.
Extended runtime follow-up
The user reported another reconnection hours later. A read-only check found the same recovery kernel running after approximately 11 hours 46 minutes of uptime, with zero
flip_done timed out,commit wait timed out,DCP has crashed, orset_digital_out_mode timed outmatches in the retained current-boot journal. The journal includes a later reconnect with power-on and successful mode completion at monotonic time 15244 seconds. HDMI was disconnected when inspected, so this is not an independent confirmation of a currently visible image. Additional swallowed-swap messages exist in the extended journal; no claim of an entirely error-free log is made. The post-fix stock rollback reboot and broader race/stress coverage remain untested.