6,181
stars
+0+15
417
forks
18
watchers
–
prs
–
issues
55
releases
–
discussions
README
[!NOTE]
🌴 Away until November 17
Thank you for all the issues and pull requests. They're what make OpenDisplay
better. I'm offline for three weeks, so replies, reviews, and releases will be
slow. Since the app has access to your screen and input, I only merge changes
I've tested myself, so pull requests will wait too.
Nothing is abandoned. Please keep the reports coming and go easy on the
project while it's quiet. I'll be back to keep making it better.
OpenDisplay
Turn your spare devices into second monitors for your Mac — free, open source, no subscription.
iPhone, iPad, spare Macs, and Android (beta); a Linux sender and receiver are in beta too. A self-hosted
alternative to Apple Sidecar, Duet Display, and Luna Display: true extended
display (not just mirroring), Retina-sharp, over USB or WiFi, with touch and
scroll input.
Website · Quick start · How it works · FAQ · Contributing
---
Why OpenDisplay exists
Turning an iPhone or iPad into an external display for a Mac is a solved
problem — but every existing option has a catch:
- Apple Sidecar is free but requires both devices on the same Apple ID,
doesn't support iPhones at all, and only works on supported hardware pairs.
- Duet Display moved to a subscription.
- Luna Display requires a hardware dongle.
OpenDisplay is the missing option: a free, open-source, no-account,
no-dongle way to use the iOS device you already own as a true second
display. If you were about to write your own — don't! Contribute here
instead; the hard parts (virtual display creation, low-latency H.264
pipeline, USB transport, input injection) are already working.
Features
- 🖥️ True display extension — macOS treats the device as a real second
monitor (drag windows to it, arrange it in System Settings), not a mirror.
Mirroring is also available as a mode.
- 🔌 USB-wired for lowest latency — streams over the Lightning/USB-C
cable via macOS's built-in usbmuxd; plug in and go, no network, no
WiFi jitter, no helper tools.
- 📶 WiFi with zero config — the iPhone advertises itself via Bonjour;
pick it from a dropdown on the Mac.
- 🔍 Retina / HiDPI — the virtual display matches the device panel
pixel-for-pixel (@2x), so text is sharp.
- 👆 Touch input built in — your iPhone becomes a touchscreen for macOS:
tap to click, drag to drag, and two-finger scroll that feels
like a trackpad. (Apple Pencil support is on the roadmap.)
- 🔄 Portrait or landscape — rotate the device and the virtual display
rebuilds itself as a vertical monitor at native resolution.
- ⚡ Low-latency pipeline — hardware H.264 or HEVC encode (VideoToolbox,
real-time mode, no B-frames), TCP_NODELAY, frame-drop backpressure with
keyframe recovery, decode-and-render via AVSampleBufferDisplayLayer.
- 💻 A spare Mac as a display — install the small OpenDisplay
Receiver app (macOS 12+) on an old Mac and any other Mac extends onto it
over WiFi or a Thunderbolt/Ethernet cable, at native Retina resolut