fix: External monitor goes blank at launch#344
Open
lovkrisz wants to merge 1 commit into
Open
Conversation
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.
Addresses #279
Reproduced with Macbook Air M3 with Asus external display (usb type-c - HDMI cable), FineTune: 1.8.0 (homebrew)
Root cause:
On launch FineTune probes external displays over DDC/CI (I2C) so monitor speakers appear as volume-controllable audio outputs. The probe writes to the display's DDC bus. Some USB-C→HDMI / DisplayPort-Alt-Mode adapters mishandle DDC/CI writes and drop the video link → monitor goes dark. A link drop fires
didChangeScreenParametersNotification→ FineTune re-probes after 3s → writes again → monitor stays dark for the whole session. Quitting stops the probes, physically reconnecting the monitor renegotiates the link.Fix:
Add a user setting
ddcVolumeControlEnabled(defaulttrue, preserves existing behavior). When off, no DDC probing/writes happen → no blackout. Exposed as a toggle in Settings → Audio. Runtime toggle starts/stops probing immediately; relaunch recommended after disabling🤖 Generated with Claude Code