The path
How LinkLite drives a DisplayLink dock
Updated
LinkLite creates one macOS virtual display per dock monitor, reads the parts of that display that changed, encodes them with the DisplayLink wavelet codec, and sends them over an encrypted USB session. The dock draws the pointer from a few bytes of position data. The pixels go to the dock. They do not go to a server.
The steps
- A USB 3 link to a DisplayLink dock. LinkLite does not install a kernel extension.
- One virtual display per monitor, created with CoreGraphics’ private virtual-display classes. There is no public display-driver framework on Apple silicon.
- ScreenCaptureKit reads changed areas of those virtual displays. That is why macOS asks for Screen Recording.
- Changed 64×16 tiles are encoded and sent on the encrypted session. Settled areas are not resent every frame.
- The dock draws the picture and the pointer.
The protocol work comes from Vino, the open-source DisplayLink protocol research by Mike Lothian and contributors, used under GPL-2.0-or-later. LinkLite adds the macOS side: virtual displays, capture, pointer tracking, and the menu-bar app. Vino’s write-up.
Why Screen Recording is required
macOS will not let an ordinary app publish a display. Display kernel extensions no longer work on Apple silicon. Every USB-display app on current macOS, DisplayLink Manager included, creates a virtual display and reads its pixels back. ScreenCaptureKit is behind the Screen Recording permission. The system prompt says Screen & System Audio Recording. LinkLite does not capture audio. The prompt is the system’s name for the permission.
The permission, once granted, lets the process read any display. The app’s own check is what limits the stream. LinkLite refuses to start capture on the built-in display, or on a dock display that is mirroring it. If a dock monitor is cloned from the laptop screen, turn mirroring off in System Settings. Captured pixels are compressed in memory and sent over USB. They are not written to disk.
The global mouse monitor reports pointer position. It does not read keystrokes. The privacy page is the full account of what stays on the Mac.
What a dock is allowed to be
Connect a dock you trust to receive the pixels on its monitors. The HDCP 2.2 handshake checks that the receiver has a key. It does not check that key against a manufacturer certificate. It is not proof of who made the device. Protected video playback is not supported either.
A monitor timing outside 480–5120 pixels on a side, or outside 1–240 Hz, is not programmed and does not become a virtual display. Names the monitor reports are reduced to printable ASCII before they are shown or logged.
Docks
Tried another dock? File a dock report, whether it worked or not.
What it will not do
- Run on Intel.
- Share the dock with DisplayLink Manager.
- Play HDCP or other protected video.
- Prove the dock’s manufacturer.
- Send the picture, or a system profile, to the maintainer.
LinkLite