A tiny, free, open-source macOS menu-bar app that pushes compatible XDR displays past the SDR ceiling using Apple's native EDR pipeline — then dims below the OS's 0% floor with the same overlay. No gamma hacks or private APIs.
Free alternative to Vivid, BrightIntosh, and Lunar's XDR mode.
Free · No sign-up · macOS 14 Sonoma or later · Universal (Apple Silicon + Intel)
These links always point to the newest version: Witz-Lyte.zip · Witz-Lyte.dmg · signed & notarized by Apple
Crafted by ZipLyne
Install · Requirements · How it works · Safety · FAQ
- Click here to download Witz-Lyte.zip
- Open the downloaded zip — it unpacks to Witz Lyte.app.
- Drag Witz Lyte.app into your Applications folder and open it. It opens straight away — every release is code-signed and notarized by Apple, so macOS shows no warnings.
- Look for the ☀️ sun icon in your menu bar (top-right of your screen).
- Click the icon → Enable Witz Lyte, then drag the slider to make your screen brighter (or dimmer). Open Dashboard… from the same menu to manage every setting in one window.
That's it. No account, no payment, no subscription, nothing to configure. Updates install themselves — when a new version ships, Witz Lyte offers it in-app (signed Sparkle auto-update; you never have to come back here).
git clone https://github.com/ZipLyne-Agency/WitzLyte.git
cd WitzLyte
./build.sh
mv "dist/Witz Lyte.app" /Applications/
open "/Applications/Witz Lyte.app"Requires Xcode Command Line Tools (xcode-select --install). Swift Package Manager downloads the pinned Sparkle dependency automatically.
TL;DR — XDR hardware gets the brightness boost. Other displays still get sub-zero dimming, but may report no boost headroom.
| Requirement | Minimum |
|---|---|
| Mac chip | Apple Silicon or Intel (the release is universal; EDR boost depends on the connected display) |
| macOS | 14.0 Sonoma or later |
| Display | Any display reporting EDR headroom > 1.0 (boost level varies — see table below) |
The brightness boost you get depends entirely on your display's EDR headroom. macOS reports this at runtime — Witz Lyte reads it and hard-clamps the slider so you can never exceed hardware spec.
| Display | Mac Required | Peak Brightness | Boost Level | Notes |
|---|---|---|---|---|
| MacBook Pro with Liquid Retina XDR | Any supported model | Up to the panel/OS limit | Full when macOS reports XDR headroom | Best-supported built-in display |
| Apple Pro Display XDR | Compatible Mac | Up to the display/OS limit | Full when macOS reports XDR headroom | Capability is read at runtime |
| Standard built-in Apple display | Any supported Mac | Varies | Usually dim-only | Boost is unavailable when reported headroom is 1.0 |
| Apple Studio Display | Compatible Mac | Display-limited | Dim-only when reported headroom is 1.0 |
The app never invents boost headroom |
| Third-party HDR monitor | Compatible Mac | Varies | Varies | Works only when macOS reports headroom above 1.0 |
How to check your headroom: Open Terminal and run:
swift -e "import Cocoa; NSScreen.screens.forEach { print($0.localizedName, $0.maximumPotentialExtendedDynamicRangeColorComponentValue) }"Any value above
1.0means Witz Lyte will work on that display.3.2is full XDR.1.0means no boost possible.
macOS caps your 1600-nit XDR panel to ~500 nits for normal desktop content. Beautiful for color-accurate work in a dim studio — brutal outdoors, in a sunlit café, or anywhere your retinas need to overpower the environment. And if you're up at 2am, the OS brightness floor is still too bright.
Witz Lyte uses a single EDR-backed overlay to solve both problems. One slider — slide left to dim below the OS floor, slide right to boost past the SDR cap — powered by Apple's own rendering stack.
| One unified slider | Dim ← → Boost. Identity (1.0) in the middle snaps magnetically like macOS volume |
| Full EDR boost | Up to your display's reported headroom — no gamma tricks |
| Sub-zero dim | Goes below macOS's 0% brightness floor using multiply blend mode |
| Global hotkeys | ⌘⌥⇧B toggles the overlay · ⌘⌥⇧0 resets to Normal |
| Multi-display aware | One overlay per screen, each independently clamped to that display's reported headroom |
| Battery protection | Optional auto-disable on battery power |
| Thermal protection | Optional auto-disable on .serious / .critical thermal state |
| Auto-off timer | 15m · 30m · 1h · 2h |
| Launch at login | Wired to SMAppService — real macOS login item |
| Nits estimate | Live tooltip shows approximate nit output |
| Small native app | Swift/AppKit/Metal with Sparkle for signed automatic updates |
Each screen gets a borderless, click-through, full-screen NSWindow at .screenSaver level with an NSView hosting a manually-configured CAMetalLayer:
metalLayer.pixelFormat = .rgba16Float
metalLayer.wantsExtendedDynamicRangeContent = true
metalLayer.colorspace = CGColorSpace(name: .extendedLinearDisplayP3)
metalLayer.compositingFilter = "multiplyBlendMode"The layer clears to (v, v, v, 1.0) in extended linear Display P3. With multiplyBlendMode, the compositor does:
final_pixel = overlay_rgb × underlying_rgb
v = 1.0 is identity (invisible). v = 2.0 doubles brightness of every pixel straight into the display's reserved XDR headroom. v = 0.5 halves every pixel — genuine sub-zero dimming below the OS brightness floor. Atomic present (commit → waitUntilScheduled → present) prevents compositor flashes. 1 Hz keep-alive stops macOS from disengaging EDR on idle.
No LUT manipulation, no private APIs, no SPI, no IOKit trickery.
Witz Lyte uses public macOS display and Metal APIs, and clamps each screen to the EDR headroom macOS reports. That does not make maximum brightness consequence-free:
- Higher brightness = more power and more heat. The thermal-protection toggle handles spikes.
- The app does not override the panel's firmware or macOS display limits.
- Peak HDR brightness is not the same as indefinitely sustained full-screen brightness; the display and macOS may reduce output as conditions change.
I got a warning that the app is from an unidentified developer — is it safe?
Official GitHub releases are Developer ID signed and notarized by Apple. Verify that you downloaded from this repository's Releases page; if macOS still blocks the app, report an issue instead of bypassing Gatekeeper.
Does it work with nano-texture MacBook Pro displays?
Nano-texture does not change the app's mechanism. The actual multiplier is still limited to the headroom macOS reports for that display.
Why does a non-XDR display get less boost than a MacBook Pro?
Witz Lyte does not assume a multiplier from the Mac model. It reads the display's reported EDR headroom; if that value is 1.0, boost is unavailable and only dimming applies.
Does it work with the Studio Display?
Witz Lyte can still dim the display. Brightness boost is unavailable when macOS reports EDR headroom of 1.0.
Does it work on Intel Macs?
The release includes both arm64 and x86_64. Boost capability is display-dependent and is not guaranteed on every Intel setup; check reported headroom with the command above.
How do I uninstall?
Click the ☀️ icon → Quit Witz Lyte, then drag Witz Lyte.app from /Applications to the Trash. That's it.
WitzLyte/
├── Package.swift
├── build.sh # builds + bundles .app
├── Resources/
│ └── Info.plist
└── Sources/WitzLyte/
├── main.swift
├── AppDelegate.swift
├── DashboardWindow.swift
├── Settings.swift # UserDefaults wrapper
├── BrightnessController.swift
├── IntensityPolicy.swift # tested clamping/snap rules
├── OverlayWindow.swift # NSWindow subclass, per-screen
├── EDRMetalView.swift # the actual brightness trick
├── MenuBarController.swift
├── PowerMonitor.swift # battery + thermal auto-off
├── PowerPolicy.swift # tested safety decision rules
└── UpdateManager.swift # Sparkle integration
└── Tests/WitzLyteTests/ # XCTest regression suite
swift test
swift build
./build.shCI runs the XCTest suite and a universal release build. ./build.sh produces an ad-hoc-signed local app at dist/Witz Lyte.app; official GitHub releases use the separate Developer ID signing and notarization workflow.
Security-sensitive reports should use GitHub's private Security → Report a vulnerability flow. Use public issues for ordinary bugs and feature requests.
MIT © 2026 ZipLyne.
Built with care by ZipLyne
We design and engineer software products.
ziplyne.agency