Vagalume: control the brightness of all your displays on macOS (open source)

Neto Pompeu —

Brightness on a Mac is trickier than it looks

On macOS, adjusting brightness seems trivial: two keys and you're done. In reality, the moment you plug in an external display or own a MacBook Pro with an XDR panel, the experience falls apart.

  • The F1/F2 keys only control the built-in display. Plug in an external monitor and they do nothing to it.
  • External displays have no native brightness control on macOS. You're stuck digging through the monitor's physical (OSD) buttons.
  • On MacBook Pro Liquid Retina XDR panels, macOS caps SDR brightness at ~500 nits, even though the panel can go much higher.

To fix this without the bloat (no profiles, no cloud account, no subscription), we built Vagalume — a small, free, open-source app that lives in your menu bar.

What Vagalume does

  • A global slider for all displays, plus a slider per display.
  • DDC/CI hardware control of external monitors: Vagalume talks directly to the monitor over the I2C bus to set its real brightness.
  • Software dimming as a fallback when DDC isn't available (docks, adapters, some monitors).
  • Sub-zero mode: go below the hardware minimum for night sessions, without a fully black screen.
  • XDR Boost (experimental): push past Apple's ~500-nit cap on XDR panels, using an EDR overlay in multiply compositing that preserves colors (blacks stay black, color ratios are kept).
  • Support for the sun / F1-F2 keys, with an Option + arrows fallback.
  • Per-display nits estimates, live detection of connected/disconnected displays, and automatic updates.

The tech stack

Vagalume is a 100% native app, built to stay light (~80 MB RAM, 0% CPU at idle):

  • Swift + SwiftUI with MenuBarExtra for the menu-bar UI, no Dock icon.
  • IOKit / I2C to send DDC/CI commands to external monitors (reading and writing the brightness VCP at the monitor's real scale — not a fixed 0–100 scale).
  • AppleSiliconDDC for reliable DDC detection on Apple Silicon.
  • Metal + EDR (CAMetalLayer, wantsExtendedDynamicRangeContent, multiply compositing) for XDR Boost — the same technique as Lunar or Vivid, but preserving color accuracy.
  • DisplayServices (private framework) to drive the built-in display smoothly, without the ugly step at 20%.
  • Sparkle for signed automatic updates, distributed through GitHub Releases.
  • A build that is Developer ID signed and notarized by Apple, so it opens with no Gatekeeper warning.

The brightness logic (clamping, dimming curves, nits estimates, DDC scaling) is covered by unit tests to prevent visual regressions.

Why open source

Vagalume collects no data: no analytics, no telemetry, no account. The code is open (MIT license) because an app that touches the low-level driving of your display deserves to be auditable. It's also our way, at Primo Studio, of giving back to the community of tools we use every day from the Amazon.

Download

Vagalume is free, signed and notarized. Download the latest version, unzip it, drag Vagalume.app to /Applications, and launch it.

Requires macOS 14 (Sonoma) or later, on an Apple Silicon Mac.