Repository navigation
feat(redshift): dim backlight via acpilight/ddcci on day/night cycle - #6621
Merged
perrin4869 merged 7 commits intoSep 10, 2026
Merged
Conversation
Pulls in acpilight (deps/acpilight) as a backward-compatible xbacklight replacement driving brightness through /sys/class/backlight instead of X11 RandR, and wires it to redshift via a period-changed hook so displays dim on the day/night cycle and restore full brightness when redshift is disabled. Works uniformly on a native ACPI panel or, once ddcci-driver-linux is loaded, a DDC/CI-controlled external monitor.
brightness-day (RandR's Brightness property, distinct from Gamma) and temp-day apply uniformly across every monitor via software gamma scaling, unlike the hardware-backlight hook which only reaches DDC/CI-capable displays -- so this covers the two LGs that ddcci can't control. Backed off the hook's own brightness_day to 100 now that daytime dimming is handled here, avoiding the two effects compounding on the Philips.
A desktop can have multiple independently-registered ddcci displays (discovered while debugging the two LG monitors on this box). Loop over every ddcci* backlight device instead of stopping at the first match found under /sys/class/backlight. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… all monitors brightness-day was compensating for the two LGs having no hardware backlight path at all. Now that both register correctly on their AUX i2c bus, real DDC/CI hardware dimming reaches every monitor, which is strictly better than gamma scaling (no color/banding degradation, actual backlight power reduction). Moved the daytime dim target back into the hook's own brightness_day. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
perrin4869
force-pushed
the
feat/redshift/support-setting-brightness-via-ddcci
branch
from
September 9, 2026 10:43
b7e7678 to
b715457
Compare
Writing to new_device is a synchronous sysfs call that blocks until the driver's real I2C handshake with that monitor finishes -- doing this for several monitors serially, un-backgrounded, measurably slows down boot. modprobe alone is instant and doesn't need it, only the per-monitor loop does. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Git already tracks the file's mode as 100755, so a checkout produces an executable script with no chmod needed. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Trim mk/build.mk's acpilight comment to match the file's terser style (the udev-rule caveat it dropped is still covered in the README). Move the "why backgrounded" explanation from README prose into an inline shell comment next to the code it explains, add DP/HDMI branch labels, and genericize "/etc/rc.d/rc.local" to "your system's startup" for portability to non-Slackware systems. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.
Pulls in acpilight (deps/acpilight) as a backward-compatible xbacklight replacement driving brightness through /sys/class/backlight instead of X11 RandR, and wires it to redshift via a period-changed hook so displays dim on the day/night cycle and restore full brightness when redshift is disabled. Works uniformly on a native ACPI panel or, once ddcci-driver-linux is loaded, a DDC/CI-controlled external monitor.