Turn your Linux machine into a low-latency secondary display for macOS.
OpenSecondDisplay is a lightweight, open-source tool that uses FFmpeg and Python to stream your macOS desktop to a Linux device over a local network (LAN). No proprietary SDKs, no cloud servers, just pure raw TCP streaming.
- Low Latency: Optimized FFmpeg logic (
ultrafastpreset,zerolatencytune). - Cross-Platform: macOS Sender -> Linux/Windows Receiver.
- GUI Launchers: Easy-to-use interface (no terminal required).
- Zero Bloat: No Electron, no web servers. just
python3andffmpeg.
- Download: Go to Releases and download
OpenSecondDisplay-Sender.dmg. - Install: Open the DMG and drag the app to your Applications folder.
- Run: Open "OpenSecondDisplay Sender". You may need to "Right Click > Open" the first time if not notarized.
- Connect: Enter the Receiver's IP and click Start Stream.
- Download: Go to Releases and download
openseconddisplay-receiver_1.1.3_amd64.deb. - Install:
sudo dpkg -i openseconddisplay-receiver_1.1.3_amd64.deb sudo apt-get install -f # Fix dependencies if needed - Run:
- Via Terminal: Run
openseconddisplay-receiver. - Via Menu: Search for "OpenSecondDisplay" in your app drawer.
- Via Terminal: Run
- Download: Download
OpenSecondDisplay-Receiver.exe. - Run: Double-click to start.
- Firewall: Allow the app through Windows Firewall if prompted.
- FFmpeg/FFplay: Usually available in standard repos.
sudo apt update && sudo apt install ffmpeg python3 python3-tk- Clone:
git clone https://github.com/sameerthedeveloper/OpenSecondDisplay.git - Run:
python3 receiver/gui.py
- Homebrew:
brew install ffmpeg python3 python-tk - Clone:
git clone ... - Run:
python3 sender/gui.py
- Audio: Video only (MVP).
- Latency: Dependent on network. WiFi may have jitter. Ethernet is <60ms.
- Privacy: The stream is unencrypted TCP. Use only on trusted LANs.
- Audio Forwarding
- SRT Protocol Support (for lossy Networks)
- Wayland Native Client (currently uses XWayland via FFplay)
MIT License. See LICENSE for details.