Self-Host Game Streaming (Sunshine + Moonlight)
Sunshine, Moonlight, Parsec, Steam Remote Play, Steam Link — stream games from your own GPU.
The "I have a gaming PC, I want to play it on the couch / Steam Deck / iPad" stack. The free-software alternative to Cloud gaming. For the broader live-streaming-to-Twitch case (different problem) see Live Streaming Software. For broader real-time video / WebRTC building blocks see Real-time Video. For Steam Deck integration see Linux / SteamOS / Deck. For local-coop "share my screen with a friend remotely" see Local & co-op multiplayer.
The 2024–26 reality: Sunshine + Moonlight is the answer. NVIDIA killed legacy GameStream in early 2023; the community immediately filled the gap with Sunshine (host) + Moonlight (client), and the combination now beats GameStream on features (HDR, AV1, multi-monitor, non-NVIDIA GPUs).
The stack
- ★ ★ Sunshine — GPL-3.0 OSS; Win/Mac/Linux. The self-hosted game-stream host. Runs on the gaming PC and exposes its display + GPU to Moonlight clients. Works with NVIDIA / AMD / Intel; HEVC and AV1 hardware encoding (NVENC / AMF / QSV); HDR; multi-monitor; per-app launching; web admin UI. The killer app of self-host gaming. Originally created by LizardByte after NVIDIA EOL'd GameStream.
- ★ ★ Moonlight — GPL-3.0 OSS; Win/Mac/Linux/Android/iOS/TV/Steam Deck/Pi. The client. Pairs with Sunshine (or legacy GeForce Experience installs that still have GameStream). Sub-10ms latency on a wired LAN; plays AAA games at 4K HDR 120Hz over LAN; usable across the internet with a tailscale-shape mesh VPN.
- Moonlight Embedded — Pi / embedded fork.
- MoonDeck (Decky plugin) — Steam Deck integration; one-tap launch a Sunshine host game from Game Mode. See Linux / SteamOS / Deck.
- Apollo — Sunshine fork with additional features (per-client virtual display, etc.).
Steam-native
- ★ Steam Remote Play — free; built into Steam. Stream Steam games to another device running Steam. Limited to Steam library titles. Decent on LAN, variable over internet.
- Steam Link app — free; iOS / Android / TV / Pi. Steam Remote Play client.
- Steam Link hardware — discontinued; second-hand only.
- ★ Steam Remote Play Together — free; "share local-coop game with a remote friend." See Local & co-op multiplayer.
Commercial / closed
- Parsec — free + paid Pro / Teams / Warp; closed source; Win/Mac/Linux/Android/iOS/web. The original sub-50ms remote-desktop-for-gaming. Free tier covers personal use. Honest flag: acquired by Unity in 2022; some former-FOSS-adjacent users have moved to Sunshine.
- NVIDIA GeForce Experience GameStream (legacy) — closed; discontinued for new installs in 2023. Moonlight still works against legacy installations. Sunshine is the modern path.
Outside-the-LAN: making it reach
- Tailscale — free + paid; mesh VPN that gives every device an in-LAN-shape WireGuard IP. The default for "stream from my gaming PC to my Deck on hotel Wi-Fi." Free tier is generous for personal use.
- ZeroTier — free + paid; mesh VPN alternative. Predates Tailscale, more configurable, less polished UX.
- NetBird / Headscale — free OSS; self-hosted Tailscale-shape control planes if you don't want SaaS.
- Plain port-forward — works but exposes Sunshine's web port and stream port to the public; pair with a strong PIN and ideally a reverse proxy with auth.
Network notes
- LAN, wired: sub-10ms is normal at 4K HDR 120 with NVENC HEVC.
- LAN, 5GHz Wi-Fi 6: usually fine for 1080p60-120; HDR over Wi-Fi gets dicey on long sessions.
- Internet, mesh VPN: depends on your upload bandwidth. 25-30 Mbps up = 1080p60 on most ISPs. AV1 encoding (Sunshine 2024+ on RTX 40 / RDNA3 / Arc) cuts bitrate ~30%.
- Codec preference (2026): AV1 > HEVC > H.264 if your hardware supports it both ends.
Pick this if…
- Default self-host stream: Sunshine + Moonlight.
- You only stream Steam games: Steam Remote Play (no setup).
- Reach across the internet: add Tailscale on top of Sunshine + Moonlight.
- Friends and remote co-op: Parsec or Steam Remote Play Together.
- You miss GameStream: Moonlight + Sunshine literally replaces it and is better.