Skip to content
devmabPublic

About

Display resolution switcher for EVE Online on Mac

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

setres

Built-in display resolution switcher for MacBooks. Built to replace SwitchResX for one job: run the built-in panel at 1920x1080 so EVE Online's overview layout survives launching on the road (no externals) vs. at the desk (external 1080p display).

macOS only exposes 16:10 modes on built-in panels (max 1920x1200 in System Settings). setres adds the missing mode via a display override (/Library/Displays/.../Overrides, scaled resolutions — the same mechanism SwitchResX used, and the one thing Apple Silicon does allow, unlike custom timings), plus a small Swift CLI to switch modes. Public CoreGraphics API only, nothing third-party.

Install

Needs Xcode Command Line Tools (swiftc + python3) and sudo for the override.

./install.sh [WxH]      # default 1920x1080
# reboot
setres list 1920x1080   # the new mode(s) should show up

install.sh does three things:

  • builds the CLI to ~/.local/bin/setres
  • writes a default config to ~/.config/setres/config with the chosen resolution (an existing config is left untouched)
  • auto-detects the built-in panel's vendor/product IDs and installs the display override adding the scaled modes (generated plist kept in override/ for reference; an existing override for the panel is backed up to *.bak)

The override only takes effect after a reboot. If the target mode is already in the mode list, the override step is skipped — re-running the installer is safe.

Usage

setres                              # switch to configured target
setres reset                        # back to what it was
setres WxH                          # one-off target
setres set [WxH] [--hidpi] [--hz N] # full form
setres list [WxH]                   # all modes, hidden ones included
setres status                       # current mode / saved / EVE / externals / target
setres watch [WxH] [--hidpi]        # daemon mode, see below

Low-res (1:1 pixel) modes are the default — for a game that means true target pixels, exactly like an external 1080p display, and less GPU heat. --hidpi (or hidpi=true in config) picks the HiDPI variant instead: crisper desktop, but macOS composites a doubled framebuffer, and the mode may not even survive the panel's supersampling cap — check setres list WxH after reboot.

The refresh rate is preserved: switching picks the target mode closest to the display's current refresh (60Hz stays 60Hz, ProMotion 120Hz stays 120Hz). --hz N or hz= in config overrides that.

Config

~/.config/setres/config — key=value lines, # comments. Used by argless setres and by watch; CLI arguments override it.

resolution=1920x1080
hidpi=false
# hz=60

Auto-switch on EVE launch

setres watch runs as a daemon, strictly edge-triggered:

  • EVE launcher or client launches (com.ccpgames.eve-online-launcher, com.ccpgames.eveonline) and no external displays are connected → switch built-in panel to the configured target.
  • All EVE processes quit → reset to the previous mode.
  • Nothing else: display plug/unplug is deliberately ignored, and a watcher starting while EVE is already running leaves the resolution alone.

Enable at login:

cp com.entropiadev.setres.plist ~/Library/LaunchAgents/
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.entropiadev.setres.plist

Disable:

launchctl bootout gui/$(id -u)/com.entropiadev.setres
rm ~/Library/LaunchAgents/com.entropiadev.setres.plist

Log: ~/Library/Logs/setres.log. Saved-mode state: ~/.config/setres/saved-mode.

Uninstall

# remove the override (installer prints the exact path)
sudo rm /Library/Displays/Contents/Resources/Overrides/DisplayVendorID-610/DisplayProductID-a04f
# CLI + config
rm ~/.local/bin/setres
rm -rf ~/.config/setres
# watcher, if enabled
launchctl bootout gui/$(id -u)/com.entropiadev.setres
rm ~/Library/LaunchAgents/com.entropiadev.setres.plist
# reboot

created by entropiadev.com

About

Display resolution switcher for EVE Online on Mac

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages