Use your Windows PC as a second monitor for your Mac.
Renderd adds a real extra display to macOS and streams it to a Windows 10 or 11 PC on your network. Peer to peer, hardware video on both ends, no account, no cloud.
Free and open source, MIT licence. Version 1.0.0, released 5 October 2026.
- 1A Hostyour Mac, Apple Silicon, macOS 13 or later
- 1C One window, two screensdrag it across like any monitor
- 1B Renderd Displaya real second display; arrange it in System Settings
- 1D Viewera Windows 10 or 11 PC and its screen
- 1E The linkyour own Wi-Fi or Ethernet, and nothing else
Download
Nº 1.0.0
5 October 2026
- Mac Apple Silicon, macOS 13 or later renderd-host-v1.0.0-aarch64-apple-darwin.tar.gz 2.2 MB
- Windows x64, Windows 10 or 11 renderd-viewer-v1.0.0-x86_64-pc-windows-msvc.zip 2.3 MB
- Windows ARM64, Windows 10 or 11 renderd-viewer-v1.0.0-aarch64-pc-windows-msvc.zip 2.1 MB
SHA256SUMS.txt to check the files. Release notes. Older versions on GitHub.
First run, in four steps
- 1On the Mac, unpack the download and start the host in Terminal.
tar -xzf renderd-host-v1.0.0-aarch64-apple-darwin.tar.gz cd renderd-host-v1.0.0-aarch64-apple-darwin ./renderd-host - 2Allow Screen Recording when macOS asks, then start
renderd-hostagain. macOS only applies the permission after a restart. - 3On the PC, unzip and run
renderd-viewer.exe. It finds the Mac on its own. If it does not, give it the address the Mac printed:renderd-viewer --host 192.168.1.20:4433 - 4Type the PIN. The Mac shows a six-digit PIN once. Type it on the PC and the two are paired.
One frame, taken apart.
Sixty times a second, this happens to the picture on Renderd Display. Everything runs on hardware that both computers already have.
- 2ACaptureScreenCaptureKitThe Mac hands over each new picture of Renderd Display straight from the GPU, without a copy.capture.rs
- 2BEncodeVideoToolbox, HEVC or H.264The Mac's media engine compresses it, so the CPU stays free for your work.encode.rs
- 2CSendQUIC datagramsThe frame goes out in pieces, each with a 16-byte header that says where it belongs.header.rs
- 2DRecoverNack, in orderIf a piece goes missing, the PC asks for that piece again instead of waiting for a whole new keyframe.receive.rs
- 2EDecodeMedia Foundation, DXVAThe PC's GPU unpacks the video. A CPU path takes over on a GPU that cannot.mf_decode.rs
- 2FPresentDirect3D 11The picture goes on screen the moment it is ready, not at the next paint.d3d11_presenter.rs
What you get
- 3AA real display, not a mirror
- macOS sees a new display called Renderd Display. Arrange it, pick its resolution, drag windows onto it. If macOS will not make one, Renderd mirrors your main screen instead.1
- 3BHardware video at both ends
- Encoded on the Mac's media engine, decoded on the PC's GPU, at 60 frames a second by default.2
- 3CPeer to peer
- Frames go straight from your Mac to your PC. There is no relay server, no account and nothing to sign in to.
- 3DPaired with a PIN
- You type a six-digit PIN once. After that the keys live in Keychain on the Mac and in Credential Manager on the PC.
- 3EHolds up on poor Wi-Fi
- The bitrate backs off when queues build, lost pieces are sent again, and the picture drops to 896, 720 or 544 lines only while the link is unstable. Sharp by default;
--smoothif you would rather keep motion fluid.3 - 3FFree, and you can read it
- MIT licence. Written in Rust. Every part of the pipeline is in the repository.
Yours, and only yours.
Pairing uses SPAKE2+ (RFC 9382), so the PIN proves both computers are yours without the PIN, or anything made from it, crossing the network. Every session then runs over TLS 1.3 inside QUIC, with keys kept in Keychain and Credential Manager. There is no Renderd server, so none of your screen ever passes through one.5
Other ways to get a second screen.
Some are better for some people. Here is the short version.
- Renderd
- Free and open source. Turns a Windows PC into a real second display for a Mac, over your own network.
- Sidecar
- Built into macOS and very polished, but the second screen has to be an iPad.
- Luna Display
- Paid hardware: a small adapter that plugs into the Mac. Good if you want a plug-in device.
- Duet Display
- Paid app on many platforms, with an account and a subscription.
- spacedesk
- Free for personal use, but the main computer has to run Windows, so it cannot extend a Mac.
- Deskreen
- Open source and works in any web browser. A true extra display needs a dummy display plug.
A note from the person who made it
My Mac and my Windows PC sit on the same desk, and for a long time the PC's screen stayed dark while I worked on the Mac. Sidecar wants an iPad. The apps that could do it wanted an account, a subscription, or a trip through somebody's server.
So I wrote Renderd. The Mac makes a real display, the PC shows it, and the pictures go over my own network and nowhere else. It is the tool I wanted. If it does not work for you, open an issue and tell me what happened.
Adithgithub.com/Ad1th
Questions people ask.
Does it work over the internet?
Not yet. Both computers must be on the same local network, wired or Wi-Fi. Use across the internet is on the list.
Which Macs and PCs does it support?
Macs with Apple Silicon (M1 or later) on macOS 13 Ventura or later. PCs with Windows 10 or 11, on x64 or ARM64. Intel Macs are not supported.
Is it an extended display, or a mirror?
Extended. macOS gets a new display called Renderd Display that you can arrange like any monitor. If macOS will not create it, Renderd falls back to mirroring your main screen.
How much delay is there?
We have not published a measured number yet, and we will not guess one. The test tool is in the repository (tools/latency-bench), and results go on this page once they are measured on real hardware.
Can I use the PC's mouse and keyboard?
Not yet. For now the PC is a screen, and you work with the Mac's own mouse and keyboard. Input from the PC is on the list.
Does it cost anything?
No. Renderd is free and open source under the MIT licence, with no account and no subscription.
Notes and sources
- Virtual display and mirror fallback: renderd-host/src/app.rs. ↩
- Default frame rate:
target_fps = 60in renderd-host.default.toml. ↩ - Adaptive bitrate, resend and resolution steps: CHANGELOG.md, version 1.0.0 and Unreleased. ↩
- Roadmap: README, Project Feature Roadmap. ↩
- Pairing and keys: renderd-crypto, SECURITY.md, CRYPTO-AUDIT.md. ↩