{"id":50889358,"url":"https://github.com/paulhkang94/acuity","last_synced_at":"2026-06-15T20:02:34.607Z","repository":{"id":361877920,"uuid":"1181406302","full_name":"paulhkang94/acuity","owner":"paulhkang94","description":"Native HiDPI scaling for external monitors on macOS. No SIP. No private entitlements.","archived":false,"fork":false,"pushed_at":"2026-06-01T15:51:40.000Z","size":27572,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-01T17:24:02.224Z","etag":null,"topics":["display","external-monitor","hidpi","macos","retina","swift"],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paulhkang94.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-14T05:10:18.000Z","updated_at":"2026-06-01T16:05:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/paulhkang94/acuity","commit_stats":null,"previous_names":["paulhkang94/acuity"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/paulhkang94/acuity","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulhkang94%2Facuity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulhkang94%2Facuity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulhkang94%2Facuity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulhkang94%2Facuity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paulhkang94","download_url":"https://codeload.github.com/paulhkang94/acuity/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulhkang94%2Facuity/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34377983,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["display","external-monitor","hidpi","macos","retina","swift"],"created_at":"2026-06-15T20:02:34.038Z","updated_at":"2026-06-15T20:02:34.602Z","avatar_url":"https://github.com/paulhkang94.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Acuity\n\n\u003e **Active.** Acuity provides supersampled HiDPI for standard-density QHD external monitors. It remembers your chosen \"looks like\" size per display and re-applies it on reconnect and at login via a small open-source LaunchAgent - no SIP disable, no private entitlements. The daemon is a plain plist you can inspect, edit, or remove.\n\nNative HiDPI scaling for external monitors on macOS. No SIP. No private entitlements. Open source.\n\n![Swift 5.9+](https://img.shields.io/badge/Swift-5.9+-orange)\n![macOS 13+](https://img.shields.io/badge/macOS-13%2B-blue)\n![MIT](https://img.shields.io/badge/license-MIT-green)\n\n## Why\n\nmacOS enables HiDPI (\"Retina\") scaling based on a display's **pixel density, not its brand**. High-density panels — 4K/5K and anything near ~220 PPI, or where a clean 2× integer scale applies — get HiDPI scaled modes automatically, Apple-branded or not. But a standard-density external monitor, such as a 27\" QHD (2560×1440, ~109 PPI), gets no useful HiDPI scaled modes by default: you're left with native 1× (sharp but small UI) or blurry non-integer scaling.\n\nThe fix is the long-established EDID-override technique: write a plist to `/Library/Displays/Contents/Resources/Overrides/` that macOS reads at boot to expose additional **supersampled** HiDPI modes (rendered at 2× and downsampled to the panel). No SIP disable, no kernel extensions, no private entitlements.\n\nAcuity automates the override generation, switches modes live via public CoreGraphics APIs, and remembers your chosen mode so a LaunchAgent re-applies it on reconnect and at login. The menubar and CLI are resolution-focused.\n\n\u003e **Sharpness ceiling.** HiDPI improves anti-aliasing but cannot exceed the panel's physical pixel density. On a ~109 PPI panel it's clearly smoother than blurry scaling, but it is not true Retina — that requires a denser panel (4K ≈ 163 PPI, 5K ≈ 218 PPI), which then needs no override at all. Acuity helps most on sub-Retina panels where you want larger-but-sharp UI.\n\n## Requirements\n\n- macOS 13 (Ventura) or later\n- Apple Silicon or Intel Mac\n- A standard-density external display with an EDID (tested on the Dell S2721DGF, 27\" QHD 2560×1440)\n\n## Install\n\n### Homebrew (recommended)\n\n```bash\nbrew install --cask paulhkang94/acuity/acuity\n```\n\n### From source\n\n```bash\ngit clone https://github.com/paulhkang94/acuity.git\ncd acuity\n./scripts/install.sh\n```\n\n## Setup\n\nOnce installed, enable HiDPI and start the daemon:\n\n```bash\n# 1. Enable HiDPI for all connected external displays (writes override plists; needs sudo)\nsudo acuity enable --all --preset all\n\n# 2. Reboot so macOS picks up the new display modes\nsudo reboot\n\n# 3. Install the daemon so overrides re-apply automatically on reconnect and at login\nacuity install\n```\n\nOnly the `enable` and `reboot` steps need `sudo`. Switching resolutions live with `acuity set-resolution` and installing the daemon with `acuity install` do not.\n\n## Commands\n\n| Command | Description |\n| --- | --- |\n| `acuity list` | List connected external displays and HiDPI status |\n| `acuity status` | Show override + current-mode status for each display |\n| `acuity enable --all` | Write HiDPI override plists for all external displays (default: 2× preset) |\n| `acuity enable --all --preset 2x` | 2× scaling (half-native, e.g. 1280×720 @2× on 2560×1440) |\n| `acuity enable --all --preset 1.5x` | 1.5× scaling |\n| `acuity enable --all --preset all` | Full resolution ladder |\n| `acuity enable --display 0xVID:0xPID` | Enable for a specific display |\n| `acuity disable --all` | Remove override plists |\n| `acuity set-resolution --all --width W --height H` | Switch live to a HiDPI \"looks like\" size — no reboot, no sudo |\n| `acuity set-resolution --all --width W --height H --no-hidpi` | Switch to the 1× (soft) variant — shows the difference HiDPI makes |\n| `acuity set-resolution --list` | List available HiDPI \"looks like\" sizes with zoom % |\n| `acuity install` | Install the LaunchAgent (menubar app, auto-restarts) |\n| `acuity uninstall` | Remove the LaunchAgent |\n| `acuity uninstall --clean` | Remove daemon and all override plists |\n\n## Demo\n\n```\n$ acuity list\n\nConnected external displays:\n\n  1. Display 10ac:41da\n     ID         : 0x10AC:0x41DA\n     Native     : 2560×1440\n     Connection : Unknown\n     Status     : HiDPI ✓\n\n$ acuity status\n\nDisplay 10ac:41da [10ac:41da] — Unknown\n  Resolution:  2560×1440 @ 144Hz\n  HiDPI plist: ✓ installed\n  Current mode: ✓ HiDPI active (1680×945 @2× @ 144Hz)\n```\n\n## How it works\n\nmacOS exposes HiDPI modes when it finds a matching override plist under `/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-\u003cvid\u003e/DisplayProductID-\u003cpid\u003e`. The plist contains a `scale-resolutions` array of binary-encoded logical resolutions.\n\nAcuity generates these entries for standard scaled resolutions (2×, 1.5×, and a full ladder), writes them to the correct path, and sets the `DisplayResolutionEnabled` WindowServer default. On reboot, macOS picks up the new modes.\n\n`acuity set-resolution` then switches between the unlocked modes at runtime using public CoreGraphics APIs (`CGBeginDisplayConfiguration` / `CGConfigureDisplayWithDisplayMode` / `CGCompleteDisplayConfiguration`) — no reboot, no sudo. Note this can only *select* modes that already exist; *creating* HiDPI modes still requires the override (or a reboot to pick up newly written ones).\n\nThe LaunchAgent runs the menubar app (`acuity start`) and uses `CGDisplayRegisterReconfigurationCallback` to re-apply the HiDPI mode when a known display reconnects — useful for docks and KVM switches.\n\n## Supported displays\n\nAny external monitor with an EDID. Tested on:\n\n- Dell S2721DGF (QHD 2560×1440, 27\", ~109 PPI)\n\nIf your display is not recognized or produces unexpected results, open an issue with the output of `acuity list --json`.\n\n## Contributing\n\n1. Fork and clone the repo\n2. `swift build` to build, `swift test` to run tests\n3. Open a pull request with a description of what changed and why\n\nBug reports with `acuity list --json` output and macOS version are appreciated.\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulhkang94%2Facuity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaulhkang94%2Facuity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulhkang94%2Facuity/lists"}