TargetBridge-SenderTargetBridge-Receiver
cd TargetBridge-Sender
./scripts/build_targetbridge_sender_app.shProduced app:
build/TargetBridge.app
Before building, install the required dependencies on the iMac:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install ffmpeg sdl2 pkgconfThen build:
Note: The build script automatically bundles FFmpeg and SDL2 inside the .app — no Homebrew is needed at runtime.
cd TargetBridge-Receiver
./scripts/build_tbreceiver_c_app.shProduced app:
build/TargetBridge Receiver.app
Note:
- On an Intel iMac, build the receiver directly on that iMac so the resulting binary is
x86_64.
Open:
build/TargetBridge.app
On first launch, grant:
Screen Recordingpermission.
Open:
build/TargetBridge Receiver.app
Write down the IP address shown in the startup window.
- Start
TargetBridge Receiveron the iMac first - Read the Thunderbolt Bridge IP shown by the receiver
- Open
TargetBridgeon the MacBook - Choose
Extended displayto use the iMac as a separate desktop, orMirror MacBookto duplicate the MacBook screen - Enter that IP in the
Receiver IPfield - Press
Connect
When the first frame arrives, the receiver switches to fullscreen automatically.
For extended desktop, open macOS System Settings → Displays → Arrange on the sender Mac after connecting. Place the external TargetBridge display where you want it, then select that display in Display Settings and choose the matching resolution if the iMac does not fill correctly. For the 27-inch 5K path, use the 5K stream profile with the external display set to the matching 5120 × 2880 / 2560 × 1440 HiDPI mode.
-
Standard · 2560 × 1440- conservative baseline
- highest compatibility
-
Smooth · 2560 × 1440 @ 60- lower latency motion
-
Smooth+ · 3200 × 1800 @ 60- sharper motion profile
-
Crisp · 3840 × 2160 @ 48- clearer text
- uses
HEVC - lighter than native 5K
-
5K · 5120 × 2880 @ 48- native iMac 5K stream
- uses
HEVC - highest load
To start the receiver automatically at user login on the iMac:
cd TargetBridge-Receiver
./scripts/install_tbreceiverc_launch_agent.shTo remove it:
cd TargetBridge-Receiver
./scripts/uninstall_tbreceiverc_launch_agent.sh- the receiver should be started before the sender
- extended desktop requires arranging the new display in macOS Display Settings on the sender
- the sender can show or hide its top bar icon
- if 5K is not responsive enough, switch back to
CrisporSmooth+ - the sender build script uses a local DerivedData folder at
TargetBridge-Sender/.build/DerivedData