Analysis updated 2026-05-18
Use a spare iPhone or iPad as a real second monitor for your Mac.
Extend your Mac desktop over USB for the lowest latency connection.
Connect wirelessly over WiFi without any cables or extra hardware.
Use the phone screen as a touch input device for macOS.
| peetzweg/opendisplay | sw33tlie/macshot | gontovnik/dgrunkeeperswitch | |
|---|---|---|---|
| Stars | 1,725 | 1,648 | 1,868 |
| Language | Swift | Swift | Swift |
| Last pushed | — | — | 2019-12-11 |
| Maintenance | — | — | Dormant |
| Setup difficulty | moderate | easy | easy |
| Complexity | 2/5 | 1/5 | 2/5 |
| Audience | general | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Needs a Mac app plus an iOS app, and several macOS permissions like Screen Recording and Accessibility.
OpenDisplay lets you turn a spare iPhone or iPad into a real second monitor for your Mac, for free, with no subscription and no extra hardware dongle. The project positions itself against Apple's own Sidecar feature, which only works between devices signed into the same Apple ID and does not support iPhones, and against paid options like Duet Display and Luna Display. OpenDisplay is open source and self hosted, meaning your screen data never passes through anyone else's server. The core feature is that macOS treats the connected phone or tablet as a genuine extra display, so you can drag windows onto it and arrange it in System Settings, rather than just mirroring what is already on your Mac's screen. It works either over a USB cable, which gives the lowest delay, or over WiFi, where the iPhone shows up automatically in a dropdown on the Mac thanks to Bonjour discovery. The image is sharp because the virtual display matches the device's screen resolution pixel for pixel. The phone also acts as a touchscreen, supporting tap to click, drag, and two finger scrolling similar to a trackpad, and the display automatically switches between portrait and landscape when you rotate the device. Under the hood, the Mac captures its virtual display, encodes the video using hardware accelerated H.264, and streams it to the phone over a plain TCP connection, while the phone sends touch and scroll events back the other way as small JSON messages. This relies on a private Apple graphics API for creating virtual displays, which is also why the project cannot be distributed through the App Store and instead lives on GitHub. To use it, you need two apps, one for the Mac and one for iOS. A signed and notarized Mac app is available as a direct download from the project's releases page, and the iPhone app can be installed through TestFlight or built from source in Xcode in a couple of minutes. Building from source requires Xcode 15 or later and a free or paid Apple developer account. Several macOS and iOS permissions, including Screen Recording, Accessibility, and Local Network access, are required for capture, touch input, and WiFi discovery to work, and the README includes a table explaining what breaks if each permission is missing.
Turns a spare iPhone or iPad into a free, open-source second monitor for your Mac over USB or WiFi.
Mainly Swift. The stack also includes Swift, Xcode, VideoToolbox.
No license information is stated in the README excerpt provided.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly general.
This repo across BitVibe Labs
Verify against the repo before relying on details.