Repository navigation
Questions regarding DDC brightness control #5737
weiweihuanghuang
started this conversation in
General
Replies: 2 comments
0 replies
|
Thanks for answering that. I can run |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

Uh oh!
There was an error while loading. Please reload this page.
Summary
After the display wakes from sleep,
set -brightness=…from the CLI has no effect on the physical monitor and returns no error. In the same state,get -hardwareBrightnessreturns the last value BetterDisplay wrote rather than the panel's actual value, so the failure is invisible to a script that verifies its own writes.The state persists across repeated CLI invocations. Dragging the brightness slider in the menubar menu clears it, after which identical CLI commands work again.
Environment
Steps to reproduce
Expected: panel changes to 10%, or the command reports an error.
Actual: panel unchanged, command exits silently. Repeating it has no effect.
getreturns a stale cached valueReproduced directly:
Panel at 75%, set by an earlier successful CLI call.
Changed brightness to 50% using the monitor's hardware OSD buttons.
Queried BetterDisplay:
The panel was at 50% and the OSD confirmed it.
get -hardwareBrightnessreturned the last written value, not the display's current state.Consequence: a script that reads the current value and skips a redundant write will skip precisely when the panel is wrong; a script that writes and verifies via
getsees its own cached write echoed back and concludes success.Context
Driven by a shell script run on wake via
sleepwatcher. It waits 10 seconds after wake and retries the display-presence check three times before proceeding, so this is not the script running before the display enumerates — the display is present andgetresponds, the writes just do not reach it. The same commands typed manually in Terminal well after a wake work reliably.Workaround
Open the menubar menu and drag the brightness slider.
Questions
get -hardwareBrightnessintended to perform a real DDC read, or to return the cached last-written value? If the latter, is there a way to force a read from the display?All reactions