Skip to content

Fix DDC detection after display hot-plug - #44

Merged
olujicz merged 1 commit into
mainfrom
fix/ddc-hot-plug-retry
Jul 24, 2026
Merged

Fix DDC detection after display hot-plug#44
olujicz merged 1 commit into
mainfrom
fix/ddc-hot-plug-retry

Conversation

@olujicz

@olujicz olujicz commented Jul 24, 2026

Copy link
Copy Markdown
Owner

Summary

  • retry automatic DDC capability detection after a newly connected display initially appears unsupported
  • bound retries to 250 ms and 1 second, and stop when the display disconnects, hardware control is disabled, or support is detected
  • inject display topology and refresh hooks so the timing behavior can be tested without touching live display state
  • add a regression test for a transient unsupported result followed by successful hardware brightness detection

Root cause

Core Graphics can report a display as active before its DDC/I²C service is ready. Dimmerly cached the first failed hot-plug probe as permanently unsupported, so subsequent display refreshes skipped it. Toggling Hardware Control forced a later probe and detected the display correctly.

Impact

Compatible USB-C/DisplayPort displays should become available for hardware control automatically after hot-plugging, without requiring the Hardware Control setting to be toggled.

Validation

  • just check
  • manual ANMITE USB display hot-plug test confirmed the fix
  • commit hooks: SwiftFormat, SwiftLint, and Gitleaks

@olujicz
olujicz marked this pull request as ready for review July 24, 2026 10:59
@olujicz
olujicz merged commit 80d6093 into main Jul 24, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant