Moonlight
Open source game streaming client

Moonlight — Official Website
Quick Take: Moonlight
Moonlight is the best self-hosted game streaming solution available. It's free, open-source, supports high-quality streaming at up to 4K/120fps, and works with any modern GPU through Sunshine. For Mac users who want to play PC games without dual-booting or buying a gaming laptop, Moonlight transforms any Windows gaming PC into a game streaming server. The setup requires some technical effort (Sunshine installation, network configuration, controller pairing), but the result is PC gaming on any device, anywhere. The 4.5 instead of 5 reflects the unavoidable input latency that affects competitive gaming and the initial setup complexity.
Best For
- •Mac Users Who Want to Play Windows PC Games
- •Gamers Who Want to Play on Their TV Without Moving Their Desktop PC
- •Anyone Who Wants Self-Hosted Cloud Gaming Without Subscription Fees
What is Moonlight?
Moonlight is an open-source game streaming client that lets you play PC games on your Mac by streaming them from a Windows gaming PC over your network. Your gaming PC renders the game at full quality, encodes the video using its NVIDIA GPU (or any GPU with the Sunshine host), and streams the video to your Mac. Your Mac decodes and displays the stream while sending your keyboard, mouse, and controller inputs back to the PC. The result: play AAA PC games on a MacBook, Mac Mini, iPad, or any other device that runs Moonlight. Moonlight started as a third-party implementation of NVIDIA's GameStream protocol. NVIDIA built GameStream into its GeForce Experience software, allowing streaming from NVIDIA GPUs to NVIDIA Shield devices. Moonlight reverse-engineered the protocol and brought it to every platform—macOS, iOS, Android, Linux, Windows, Raspberry Pi, ChromeOS, and more. When NVIDIA discontinued GameStream in early 2023, the community created Sunshine, an open-source host that replaces NVIDIA's server component and works with any GPU (NVIDIA, AMD, Intel). The streaming quality is impressive when your network is good. On a wired gigabit LAN, Moonlight streams 4K at 120fps with hardware-accelerated H.265/HEVC encoding. Input latency is 15-30ms on a local network—noticeable in competitive shooters but perfectly playable for single-player games, RPGs, and most genres. On a 5GHz Wi-Fi connection, quality is good at 1080p/60fps. Over the internet (with proper port forwarding or a VPN), it works but adds latency proportional to your ping to the host PC. For Mac users, Moonlight solves a real problem: most AAA games don't run natively on macOS. Instead of maintaining a separate gaming PC at your desk, you can put the gaming PC in a closet (or use a friend's) and stream games to your Mac wherever you are. Combined with a controller connected to your Mac via Bluetooth, it's a legitimate gaming setup that doesn't require Apple to port games to macOS.
Install with Homebrew
brew install --cask moonlightDeep Dive: How Game Streaming Actually Works
The technical pipeline from PC GPU rendering to playable game on your Mac.
History & Background
NVIDIA launched GameStream in 2013 as a feature of GeForce Experience, designed to stream games from NVIDIA GPUs to NVIDIA Shield devices. The Moonlight project started as a reverse-engineering effort to bring GameStream to other platforms—first Android, then iOS, macOS, Linux, and more. When NVIDIA discontinued GameStream in February 2023 (to push users toward GeForce NOW, their cloud service), the open-source community created Sunshine as a drop-in replacement host. Sunshine works with any GPU, removing the NVIDIA lock-in that limited GameStream. Today, the Moonlight + Sunshine combination is the standard for self-hosted game streaming.
How It Works
The streaming pipeline: (1) The game renders frames on the host GPU. (2) The GPU's hardware encoder (NVENC, AMF, or QuickSync) compresses each frame to H.264 or H.265 in real-time—this takes 1-3ms per frame. (3) The encoded frame is packetized and sent over the network using a low-latency RTP-based protocol. (4) The Moonlight client receives packets, decodes them using hardware video decoding (VideoToolbox on macOS), and displays the frame. (5) Input events (controller buttons, mouse movements, keyboard presses) are sent from the client to the host over a separate low-latency channel. The total pipeline latency (render + encode + network + decode + display) is 15-30ms on a good local network.
Ecosystem & Integrations
Self-hosted game streaming competes with cloud gaming services (GeForce NOW, Xbox Cloud Gaming, PlayStation Plus Cloud Streaming) and local streaming alternatives (Steam Link, Parsec). Moonlight's advantage is cost (free), flexibility (any game, any GPU via Sunshine), and quality (configurable up to 4K/120fps/HDR). Cloud gaming's advantage is no host PC required—just a subscription and internet connection. The two approaches serve different users.
Future Development
Moonlight continues to improve encoding efficiency, reduce latency, and expand platform support. Sunshine is actively adding features: AV1 encoding support (better quality at lower bitrates than H.265), improved AMD and Intel GPU encoding, and simplified setup. The long-term trend in game streaming is toward AV1 encoding and lower-latency protocols. Hardware improvements (Wi-Fi 7, faster GPUs) will continue to narrow the gap between local and streamed gaming.
Key Features
High-Resolution, High-Framerate Streaming
Moonlight supports streaming at up to 4K resolution at 120fps, depending on your host GPU's encoding capabilities and your network bandwidth. On a local network with a modern NVIDIA GPU (RTX 3060 or later), 4K/120 streaming uses NVENC hardware encoding with negligible performance impact on the host. H.265 (HEVC) encoding delivers better quality at lower bitrates than H.264, reducing network bandwidth requirements. Adaptive bitrate adjusts quality in real-time based on network conditions.
HDR Support
Moonlight supports HDR streaming on compatible displays. If your host PC is playing a game in HDR and your Mac's display supports HDR (MacBook Pro with XDR display, or an external HDR monitor), Moonlight can stream the HDR signal. The result is wider color gamut and higher contrast in supported games. HDR streaming requires an NVIDIA GPU with NVENC and Sunshine or GeForce Experience (legacy) as the host.
Controller, Keyboard & Mouse Support
Connect controllers to your Mac via Bluetooth or USB—Xbox Wireless Controller, PS5 DualSense, Nintendo Switch Pro Controller, and MFi controllers all work. Moonlight maps controller inputs to the host PC as if the controller was connected directly. Keyboard and mouse work natively. For trackpad users, Moonlight can emulate mouse input from trackpad gestures. Multi-controller support allows local multiplayer—connect four controllers to your Mac for couch co-op games streamed from your PC.
Sunshine Host Compatibility
After NVIDIA discontinued GameStream, the open-source Sunshine project became the standard host application. Sunshine runs on Windows (any GPU), Linux, and macOS (as a host). It provides hardware-accelerated encoding via NVENC (NVIDIA), AMF (AMD), or QuickSync (Intel). This means you're no longer limited to NVIDIA GPUs—any modern gaming PC can serve as a Moonlight host. Sunshine is actively maintained and adds features faster than NVIDIA's legacy GameStream.
Surround Sound Audio
Moonlight streams audio from the host PC, supporting up to 7.1 surround sound. Audio is compressed using Opus codec for low latency. If your Mac is connected to a surround sound system or spatial audio headphones (AirPods Pro with spatial audio), the surround mix is preserved. Audio sync stays tight with video—latency is typically under 5ms between audio and video streams.
WAN Streaming (Over the Internet)
Moonlight works over the internet, not just local networks. Configure port forwarding on your router (or use a VPN like Tailscale or ZeroTier for easier setup), and you can stream from your home PC to your Mac anywhere with a decent internet connection. A stable 50 Mbps connection supports 1080p/60fps streaming. 100+ Mbps supports 4K. Latency depends on your ping to the host—under 30ms for a good experience, under 50ms for playable.
Who Should Use Moonlight?
1Mac User Who Wants PC Gaming
A developer uses a MacBook Pro for work but wants to play PC games in the evening. They set up a gaming PC (or repurpose an old one with a decent GPU) running Sunshine, connect both machines to their home network, and use Moonlight on the MacBook to stream games. An Xbox controller connects via Bluetooth. They play Elden Ring, Baldur's Gate 3, and Cyberpunk 2077 on their MacBook with controller in hand—games that will never run natively on macOS.
2Couch Gamer
A gamer has a desktop PC in their office but wants to play on the living room TV. They connect a Mac Mini (or Apple TV with Moonlight via TestFlight) to the TV, pair a controller, and stream games from the office PC over their home network. The gaming PC doesn't need to be near the TV—it just needs to be on the same network. The living room becomes a gaming setup without moving hardware.
3Traveler with Cloud Gaming Alternative
A frequent traveler sets up Tailscale VPN on both their gaming PC and MacBook. From a hotel, they connect to their home PC via Tailscale and stream games through Moonlight. The experience depends on hotel internet quality (50+ Mbps recommended), but for turn-based games, RPGs, and anything that doesn't require frame-perfect inputs, it works well. It's a self-hosted alternative to GeForce NOW or Xbox Cloud Gaming.
How to Install Moonlight on Mac
Moonlight requires a host PC running Sunshine (or legacy GeForce Experience with GameStream) and the Moonlight client on your Mac.
Set Up the Host PC
On your Windows gaming PC, download and install Sunshine from github.com/LizardByte/Sunshine. Sunshine runs as a service and provides the streaming host. Alternatively, if you have an NVIDIA GPU, you can use GeForce Experience with GameStream enabled (legacy, being deprecated).
Install Moonlight on Mac
Run `brew install --cask moonlight`. This installs the Moonlight client to your Applications folder.
Pair Your Mac with the Host
Open Moonlight on your Mac. It should discover your host PC on the local network automatically. Click the host and enter the PIN shown on your Mac into the Sunshine web interface (https://localhost:47990 on the host). Pairing is one-time.
Start Streaming
After pairing, your host PC's game library appears in Moonlight. Click a game to launch it. Moonlight starts the game on the host PC and begins streaming video to your Mac. Connect a controller, grab a keyboard and mouse, and play.
Pro Tips
- • Use a wired Ethernet connection on both the host PC and Mac for the lowest latency and most stable stream. 5GHz Wi-Fi works but introduces variability.
- • Set streaming to H.265 (HEVC) in Moonlight settings for better quality at lower bitrates. Most modern NVIDIA GPUs support HEVC encoding with minimal performance impact.
- • For internet streaming, use Tailscale instead of port forwarding—it creates a secure mesh VPN without opening ports on your router.
Configuration Tips
Optimize for Lowest Latency
Use a wired Ethernet connection on both host and client. Set Moonlight to 1080p/120fps instead of 4K—higher framerate reduces perceived input lag more than higher resolution improves visuals. Set bitrate to 40-60 Mbps for 1080p/120. Enable 'Frame pacing' in Moonlight settings for smoother frame delivery.
Set Up Tailscale for Internet Streaming
Install Tailscale on both your gaming PC and Mac. Both devices join the same Tailscale network. In Moonlight, add your gaming PC's Tailscale IP as a manual host. This avoids port forwarding, works through NAT, and provides encrypted streaming. Tailscale is free for personal use with up to 100 devices.
Alternatives to Moonlight
Game streaming options include both self-hosted and cloud-based services.
Steam Link
Valve's official streaming app that streams from Steam on your gaming PC to any device. Steam Link uses Steam's streaming protocol and is limited to Steam games (other launchers require workarounds). Moonlight supports streaming any application, not just Steam games, and generally achieves lower latency with NVENC encoding. Steam Link is easier to set up but less flexible.
GeForce NOW
NVIDIA's cloud gaming service streams games from NVIDIA's data centers—no gaming PC required. It supports hundreds of games you already own on Steam, Epic, and Ubisoft Connect. The advantage: no host PC needed. The disadvantages: $9.99-19.99/month subscription, game library is limited to supported titles, and latency depends on your distance to NVIDIA's servers. Moonlight is free with full library access but requires your own hardware.
Parsec
A commercial game streaming service with a focus on low latency and desktop sharing. Parsec works well for both gaming and remote desktop. The free tier supports personal use with limited resolution. Parsec uses H.265 encoding and claims lower latency than Moonlight in some configurations. The main advantage is easier setup—Parsec handles NAT traversal automatically without port forwarding.
Pricing
Moonlight is completely free and open-source under the GPL v3 license. Sunshine (the host application) is also free and open-source. There are no subscription fees, no premium tiers, and no per-device charges. The entire game streaming setup costs nothing beyond the hardware you already own.
Pros
- ✓Completely free and open-source — no subscription fees
- ✓Supports up to 4K/120fps streaming with HDR on capable hardware
- ✓Works with any GPU via Sunshine (not just NVIDIA)
- ✓Multi-platform client — Mac, iOS, Android, Linux, Raspberry Pi
- ✓Controller support for Xbox, PlayStation, Switch Pro, and MFi
- ✓Internet streaming works with Tailscale or port forwarding
- ✓Active open-source community with regular updates
Cons
- ✗Requires a Windows gaming PC as the host (can't stream from consoles)
- ✗Network quality directly impacts gaming experience
- ✗Input latency (15-30ms LAN, 50-100ms+ WAN) makes competitive gaming difficult
- ✗Initial setup (Sunshine installation, pairing, network configuration) has a learning curve
- ✗Wi-Fi streaming is less reliable than wired Ethernet
- ✗HDR streaming requires specific display and GPU combinations
Community & Support
Moonlight is maintained by Cameron Gutman and contributors on GitHub (moonlight-stream). The project has 10,000+ stars and an active issue tracker. The Moonlight Discord server is the primary community hub—users share configurations, troubleshoot streaming issues, and discuss optimal settings. The Sunshine project (LizardByte/Sunshine) has its own active Discord and GitHub community. Reddit's r/cloudygamer, r/moonlight, and r/gamestreaming communities discuss Moonlight setups, network optimization, and hardware recommendations. Documentation on the Moonlight wiki covers setup guides for every platform.
Video Tutorials
Getting Started with Moonlight
More Tutorials
Sunshine+Moonlight Setup #cloudgaming #linuxgaming #steamdeck #moonlightgaming
TheBlackDon • 123.7K views
Setting up Moonlight Streaming for MacOSX
Michael Fuller • 21.8K views
Goodbye Sunshine & Moonlight, Hello Apollo & Artemis (Setup Guide)
Joey's Retro Handhelds • 496.0K views
Frequently Asked Questions about Moonlight
Our Verdict
Moonlight is the best self-hosted game streaming solution available. It's free, open-source, supports high-quality streaming at up to 4K/120fps, and works with any modern GPU through Sunshine. For Mac users who want to play PC games without dual-booting or buying a gaming laptop, Moonlight transforms any Windows gaming PC into a game streaming server. The setup requires some technical effort (Sunshine installation, network configuration, controller pairing), but the result is PC gaming on any device, anywhere. The 4.5 instead of 5 reflects the unavoidable input latency that affects competitive gaming and the initial setup complexity.
About the Author
Creative Software Expert
Related Technologies & Concepts
Related Topics
Sources & References
Fact-CheckedLast verified: Feb 23, 2026
- 1Moonlight Game Streaming
Accessed Feb 23, 2026
- 2Sunshine — Self-hosted Game Stream Host
Accessed Feb 23, 2026
Research queries: Moonlight game streaming Mac 2026