A lightweight macOS menu bar utility that unlocks crisp HiDPI (Retina) scaling on Samsung Odyssey G9 and other large monitors.
Free and open source - if you find it useful, consider buying me a coffee!
macOS only enables HiDPI rendering on displays meeting certain pixel density thresholds. Large monitors like the Samsung Odyssey G9 (57" or 49") don't qualify, forcing you to choose between:
- Native resolution with text too small to read comfortably
- Scaled resolution with blurry, non-Retina rendering
G9 Helper creates a virtual display with HiDPI enabled at your preferred resolution, then mirrors it to your monitor. macOS renders everything at 2x into the virtual framebuffer, giving you sharp, Retina-quality text on any display.
| Monitor | Native Resolution | Recommended Setting |
|---|---|---|
| Samsung Odyssey G9 57" | 7680x2160 | 5120x1440 HiDPI |
| Samsung Odyssey G9 49" | 5120x1440 | 3840x1080 HiDPI |
| 34" Ultrawide | 3440x1440 | 2560x1080 HiDPI |
| 4K Displays | 3840x2160 | 2560x1440 HiDPI |
- Download
G9.Helper-v1.0.6.dmgfrom Releases - Open the DMG and drag G9 Helper to Applications
- Launch from Applications or Spotlight
- Look for the display icon in your menu bar
git clone https://github.com/knightynite/HiDPIVirtualDisplay.git
cd HiDPIVirtualDisplay/App
./build.sh
cp -r "build/G9 Helper.app" /Applications/macOS may block the app on first run. Right-click the app, select "Open", then click "Open" in the dialog.
- Click the display icon in your menu bar
- Select your monitor type from the submenu
- Choose a resolution preset
- Wait a few seconds for the configuration to apply
To disable, click the menu bar icon and select Disable HiDPI.
| Preset | Effective Resolution | Notes |
|---|---|---|
| Native 2x | 3840x1080 | Largest UI, sharpest text |
| 5120x1440 | 5120x1440 | Best balance (recommended) |
| 4800x1350 | 4800x1350 | Slightly larger UI |
| 4480x1260 | 4480x1260 | Larger UI elements |
| Preset | Effective Resolution |
|---|---|
| 3840x1080 | 3840x1080 (recommended) |
| Native 2x | 2560x720 |
The app includes built-in crash recovery. If enabled, your HiDPI settings will automatically restore after a crash or system restart.
cd /path/to/HiDPIVirtualDisplay/App
./install-launchd.sh installThis will:
- Start G9 Helper automatically at login
- Auto-restart if the app crashes
- Automatically restore your last HiDPI preset
./install-launchd.sh uninstall./install-launchd.sh status- macOS 12.0 Monterey or later
- Apple Silicon recommended (M1/M2/M3/M4)
- Base chips support up to 6144px horizontal
- Pro/Max/Ultra support 7680px+ horizontal
- Intel Macs may work with limitations
The app uses private macOS APIs for virtual display creation. These APIs have internal memory management that can occasionally cause crashes. The app is designed to handle this gracefully:
- Auto-restart: With the launch agent installed, crashes restart automatically within seconds
- State preservation: Your preset is saved and restored on restart
- Transparent recovery: Most users won't notice the brief restart
This is a known limitation of using private APIs. The display configuration persists through crashes.
- Refresh rate depends on resolution and hardware configuration
- HDR may not function in mirrored mode
- May require re-enabling after sleep/wake cycles
- Uses private macOS APIs (may break with future updates)
- Remove auto-start (if enabled):
./install-launchd.sh uninstall
- Click the G9 Helper menu bar icon and select Quit
- Drag G9 Helper.app from Applications to Trash
- Empty Trash
HiDPIVirtualDisplay/
├── App/ # Menu bar GUI application
│ ├── Sources/ # Swift & Objective-C source
│ │ ├── HiDPIDisplayApp.swift # Main app with SwiftUI
│ │ ├── VirtualDisplayManager.m # Display management (no-ARC)
│ │ └── CGVirtualDisplayPrivate.h # Private API declarations
│ ├── Resources/ # App icon
│ ├── launch-agent/ # launchd auto-start plist
│ ├── build.sh # Build script
│ ├── install-launchd.sh # Auto-start installer
│ └── Info.plist # App bundle config
├── Sources/ # Command-line tool (alternative)
│ ├── main.swift # CLI entry point
│ └── VirtualDisplayManager.* # Shared display management
├── Makefile # CLI build system
└── README.md
App won't open: Right-click and select "Open", then confirm in the security dialog.
Resolution doesn't apply: Disable HiDPI first, wait a few seconds, then try again.
Display issues after changing monitor settings: Quit and relaunch the app.
Virtual display persists after quit: Restart your Mac to clear orphaned displays.
Frequent crashes: Install the launch agent for automatic recovery:
./install-launchd.sh installThe app leverages macOS private APIs to create virtual displays with custom properties:
- Creates a virtual display with HiDPI flag and 2x framebuffer
- Configures display mirroring from virtual to physical display
- macOS renders at 2x resolution into the virtual framebuffer
- The framebuffer is scaled to your monitor's native resolution
- Built with Swift (UI) and Objective-C (display management)
- VirtualDisplayManager compiled without ARC (
-fno-objc-arc) for manual memory control - Window tracking to prevent framework-related crashes
- UserDefaults for state persistence across crashes
If G9 Helper improves your workflow, consider supporting development:
MIT License - Free software, use at your own risk.
This software uses undocumented macOS APIs that may change or break with future updates.
Created with ❤️ by AL in Dallas