peetzweg /opendisplay

Use an iPhone, iPad, or spare Mac as a true second display for your Mac without restrictions.

★ 6,181⑂ 417👁 18▤ 55
RustCreated 2026-06-10opendisplay.app
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

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON