Skip to content

robotina10/BrightnessControl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BrightnessControl

Free, open-source brightness control for macOS — forever. No subscriptions, no paid tiers, no license keys.

A lightweight menu-bar app that controls the brightness of all your displays — the built-in panel, Apple external displays, and third-party monitors over DDC/CI — with an XDR boost that pushes MacBook Pro miniLED panels past their SDR cap toward the full 1600 nits, for free.

Think of it as a minimal, no-strings alternative to the brightness features of Lunar, Vivid, or BetterDisplay: one job (brightness), done well, MIT-licensed.

Features

  • 🖥 Per-display sliders in a menu-bar popover, with an honest badge showing how each display is controlled:
    • Hardware — real backlight control (built-in panel, Studio Display, Pro Display XDR, LG UltraFine)
    • DDC — real monitor brightness over DDC/CI I2C (third-party externals, Apple Silicon)
    • Software dimming — gamma fallback, clearly labeled, only when hardware control is impossible
  • ☀️ XDR boost up to ~1600 nits on miniLED MacBook Pros (M1 Pro/Max and later): a second slider fills the panel's HDR headroom using an EDR overlay — the same technique as paid apps, using only public Metal APIs. Thermal-aware: it follows macOS's live headroom instead of fighting it.
  • ⌨️ F1 / F2 brightness keys for any display — they control the display holding your focused window (watching YouTube on the external? F1/F2 drive that screen). Past 100% on the built-in panel, F2 keeps climbing into the XDR zone.
  • 💡 Custom on-screen HUD on the target display, including a yellow boost zone and a nits readout that the native bezel can't show.
  • 🔁 Sync all displays mode with a single master slider.
  • 🚀 Launch at login, per-display persistence, and automatic restore after sleep/wake and monitor reconnect.
  • 🪶 No Dock icon, no Electron, no analytics, no network access. ~1,500 lines of Swift.

Install

Build from source (requires Xcode and XcodeGen):

git clone https://github.com/robotina10/BrightnessControl.git
cd BrightnessControl
xcodegen generate
xcodebuild -project BrightnessControl.xcodeproj -scheme BrightnessControl -configuration Release build

Copy the built BrightnessControl.app from the build products folder into /Applications and launch it. Or grab a pre-built app from Releases — it's unsigned (no $99 Apple developer subscription behind this project), so on first launch either right-click → Open, or run:

xattr -d com.apple.quarantine /Applications/BrightnessControl.app

Permissions — what and why

  • No permissions needed for the sliders, DDC control, XDR boost, or launch at login.
  • Accessibility (optional) — only for "Intercept system brightness keys": on Apple keyboards F1/F2 emit system media-key events that only an event tap can receive. Grant it in System Settings → Privacy & Security → Accessibility and the app activates automatically. If you'd rather not, enable "Use F1, F2, etc. keys as standard function keys" in System Settings → Keyboard instead — then no permission is needed at all.
  • If you build from source: rebuilding invalidates a previously granted Accessibility permission (ad-hoc code signing), so re-toggle it after updating.

How it works (and why it's not on the App Store)

macOS has no public API for hardware brightness on external displays. Like every serious tool in this space, BrightnessControl uses:

  • the private DisplayServices framework for Apple panels,
  • raw DDC/CI over IOAVService I2C for third-party monitors (Apple Silicon),
  • gamma tables (public API) for the software fallback,
  • an extended-dynamic-range Metal overlay (public API) for the XDR boost.

All private symbols are resolved at runtime and probed with dlsym before use — if Apple removes one in a future macOS, the app degrades gracefully instead of crashing. These techniques are App Store-disallowed, which is why this app (and MonitorControl, Lunar, BetterDisplay) ships outside it.

Compatibility

  • macOS 13 Ventura or later (tested through macOS 26 Tahoe), Apple Silicon.
  • Intel Macs: builds and runs; DDC for external monitors is not implemented yet (DDCIntelBrightness.swift documents the IOFramebuffer path — PRs welcome).
  • Known platform limits: displays on some Macs' built-in HDMI port can't receive DDC (the port's converter chip drops I2C — detected automatically, falls back to software dimming). DisplayLink, AirPlay, Sidecar, and most TVs are software-dimming only.

Credits

Standing on the shoulders of open source: the DDC/CI and display-matching techniques were studied from MonitorControl and m1ddc, the XDR/EDR overlay approach from BrightIntosh and BrightXDR, and the excellent reverse-engineering write-ups by Alin Panaitiu (Lunar).

License

MIT — free forever, for everyone. If someone is charging you for this exact app, you're being scammed.

About

Free & open-source macOS menu-bar brightness control — built-in, Apple & external displays (DDC/CI), XDR boost to 1600 nits, F1/F2 hotkeys. No subscriptions, no paywalls, ever. MIT.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors