Sunshine
Self-hosted game stream host for Moonlight. Low latency cloud gaming with AMD, Intel, and Nvidia GPU support.
Self-hosted game streaming, honestly reviewed. No marketing fluff — just what you get when you run it on your own hardware.
TL;DR
- What it is: GPL-3.0 open-source game streaming server — turn your gaming PC into a personal cloud gaming host, stream to virtually any device via Moonlight [2].
- Who it’s for: Gamers who want low-latency remote play without monthly fees to NVIDIA, Xbox Cloud, or Parsec. Also the natural upgrade path for anyone who lost NVIDIA GameStream when NVIDIA killed it [2].
- Cost savings: NVIDIA GeForce Now Ultimate runs $19.99/mo; Parsec Teams $15/user/mo. Sunshine costs $0 in software licenses and runs on hardware you already own [2].
- Key strength: Genuinely low latency with hardware-accelerated encoding on AMD, Intel, and NVIDIA GPUs. Supports Moonlight clients on nearly every platform imaginable — Android, iOS, Windows, macOS, Linux, Raspberry Pi, Xbox, PS Vita, Nintendo Switch, Wii U, and LG webOS TV [website][2].
- Key weakness: More setup complexity than commercial alternatives. Pairing, firewall rules, and ZeroTier configuration for internet streaming aren’t beginner-friendly. No native client — Moonlight is the required companion app [1][2].
What is Sunshine
Sunshine is a self-hosted game streaming server that pairs with the Moonlight client. You install it on your gaming PC, and it does three things: captures your screen, encodes the video using your GPU, and streams it over the network to a Moonlight client on whatever device you’re playing from. The encoded stream goes one way; keyboard, mouse, and controller inputs come back the other way.
The project was built as a community-maintained successor to NVIDIA’s GameStream — a feature built into GeForce Experience that let NVIDIA GPU owners stream to SHIELD devices. NVIDIA quietly killed GameStream in early 2023. Sunshine filled that void and then went further: it works with AMD and Intel GPUs too, runs on Windows, Linux, and macOS, and supports an expanding list of client devices that goes well beyond what GameStream ever offered [2].
As of this review it sits at 35,344 GitHub stars, which for a gaming utility is substantial. The project is maintained by LizardByte, a small open-source collective rather than a venture-backed company. That matters for expectations in both directions — the software is genuinely community-driven with no commercial agenda, but support and roadmap predictability are different from a funded startup.
The technical pitch from the README is accurate: “low-latency, cloud gaming server capabilities with support for AMD, Intel, and Nvidia GPUs for hardware encoding. Software encoding is also available.” The web UI handles configuration and client pairing, and works from any browser on the same network or a mobile device [README].
Why people choose it
The case for Sunshine comes down to three things: cost, ownership, and the death of GameStream.
NVIDIA killed the competition. Before Sunshine, the dominant option for self-hosted game streaming was NVIDIA GameStream via a SHIELD device. When NVIDIA discontinued it, a significant number of users needed a drop-in replacement. Sunshine was already there. For anyone already running Moonlight as a client, switching the host from GameStream to Sunshine required minimal changes [2].
Cloud gaming subscriptions are monthly forever. GeForce Now, Xbox Cloud Gaming, and Parsec are all usage fees on top of games you already paid for. If you have a gaming PC sitting at home and want to play on a laptop, TV, or tablet, you’re paying a subscription to use hardware you don’t control, running games from a library you’d already own locally. Sunshine eliminates that logic entirely [2].
Hardware you already own, working harder. A PC that games at 1440p@144fps locally can stream at 4K@60fps to another device on the same network. The hardware isn’t idle anymore when you’re not at your desk. For a founder or developer who has a capable desktop and travels with a lighter laptop, the value proposition is clear [2].
The XDA Developers guide [1] treats Sunshine as the obvious default choice for anyone setting up remote gaming — no commercial alternative even gets a serious mention. The framing isn’t “Sunshine is surprisingly good,” it’s “here’s how you set up the standard tool.”
Where Sunshine loses: setup complexity is real. Pairing requires manually entering a four-digit PIN in the web UI [1]. Getting it to work over the internet — rather than just a local network — requires either port forwarding or a VPN solution like ZeroTier [1]. None of that is hard for someone comfortable with networking, but it’s a genuine barrier for users who’ve never configured a firewall rule.
Features
Based on the official website, README, and the two technical reviews:
Encoding and performance:
- Hardware encoding via NVIDIA NVENC, AMD AMF, and Intel Quick Sync [2]
- Software encoding as fallback for systems without dedicated GPUs [README]
- Low-latency encoding designed for real-time gameplay rather than video archival [2]
- 4K resolution and high-FPS support depending on host GPU capability [2]
- Encrypted streaming sessions [2]
Client support: Moonlight clients are available on: Android (Google Play, Amazon, F-Droid), iOS and Apple TV (App Store), Windows, macOS, Linux, Raspberry Pi, Xbox One/Series (community), PS Vita (community), Nintendo Switch (community), Wii U (community), Nintendo 3DS (community), LG webOS TV (community) [website]
Input handling:
- Xbox, PlayStation, and Nintendo Switch controller emulation [website]
- Nintendo Switch emulation is Linux-only [website]
- Gamepad emulation not available on macOS [website]
- Keyboard and mouse passthrough [2]
- Multiple simultaneous gamepad support [2]
Configuration:
- Web-based UI for all configuration, accessible from a browser on any device [README]
- Custom game launchers — add Steam, Epic, emulators, or any executable [2]
- ViGEmBus driver support for virtual controller creation (optional, Windows) [1]
- ZeroTier integration for internet streaming [1]
Platform support (host):
- Windows, Linux, macOS [2]
- Docker deployment available [merged profile]
Pricing: SaaS vs self-hosted math
The merged profile lists no SaaS competitor for Sunshine directly, because the comparison isn’t “Sunshine vs one product” — it’s “Sunshine vs the category of cloud gaming subscriptions.”
What you’d pay for alternatives:
- NVIDIA GeForce Now: Free tier (1-hour sessions, queue waits), Priority $9.99/mo, Ultimate $19.99/mo
- Parsec: Free personal tier, Teams $15/user/mo
- Xbox Cloud Gaming: Included in Xbox Game Pass Ultimate at $19.99/mo
- Steam Link: Free software, but only streams from a local network and requires Steam
Sunshine self-hosted:
- Software: $0 (GPL-3.0)
- Hardware: $0 if you already have a gaming PC
- Electricity: marginal cost of running a PC that you’d otherwise turn off
- Time: 1–4 hours for initial setup depending on your network configuration
Concrete scenario: You have a gaming PC at home and want to play on a MacBook while traveling. You’re currently paying $19.99/mo for GeForce Now Ultimate to stream games you already own. With Sunshine, that bill goes to zero. Over a year: $240 saved. Over three years: $720. The hardware cost is already paid.
The caveat is that Sunshine streams from your PC — the games need to be installed there, and your PC needs to be on and reachable. GeForce Now runs on NVIDIA’s data centers and doesn’t depend on home hardware. If your home internet upload bandwidth is poor (under 10 Mbps), self-hosted streaming will struggle regardless of what Sunshine does on its end.
Deployment reality check
The XDA guide [1] walks through the setup process in enough detail to be useful here. The honest summary:
What the setup involves:
- Download Sunshine from the GitHub releases page, extract, run as administrator (Windows)
- Access the web UI at the address shown in the terminal window
- Create login credentials (username + password)
- Open Moonlight on the client device — the host appears automatically if on the same network
- Enter the four-digit pairing PIN from Moonlight into Sunshine’s web UI
- Optionally install ViGEmBus for virtual controller support
Firewall: Windows will prompt to allow Moonlight through the firewall — approve it or configure manually. Sunshine listens on specific ports that may need to be opened [1].
Internet streaming: For access outside your home network, the recommended path is ZeroTier — a virtual LAN that makes remote devices appear local [1]. Port forwarding is the other option, but comes with security tradeoffs. Neither is automatic.
What can go wrong:
- Corporate or carrier-grade NAT blocks port forwarding — ZeroTier typically handles this but adds another setup step [1]
- Hardware encoding issues on some AMD configurations — software encoding is the fallback but increases CPU load
- macOS support is real but more limited: no gamepad emulation, some features lagging behind the Windows implementation [website]
- Linux requires specific capabilities for virtual input devices — kernel module dependencies vary by distro
Realistic time estimates:
- Same-network streaming on Windows: 30–60 minutes including client setup [1]
- Internet streaming via ZeroTier: add 30–60 minutes
- Linux host: 1–3 hours depending on distro and hardware
- Non-technical user following a guide: 2–4 hours, expect one round of firewall troubleshooting
The software itself is well-documented. LizardByte maintains a proper ReadTheDocs site and a support center. This isn’t a project that requires reading GitHub issues to find basic setup instructions.
Pros and Cons
Pros
- Free, no subscriptions, no usage limits. The only ongoing cost is electricity for the host PC [2].
- Genuine low latency. Hardware encoding on all three major GPU vendors is a real differentiator from software-only solutions — the experience on a good LAN approaches playing locally [2].
- Broadest client coverage in the category. Moonlight clients cover more platforms than any commercial alternative. PS Vita, Nintendo Switch, Wii U, 3DS — these platforms have no commercial cloud gaming options at all [website].
- GPL-3.0 license. Fully open source, no “fair-code” restrictions. You can inspect everything, modify it, and no vendor can pull the rug [2].
- Drop-in replacement for NVIDIA GameStream. If you were already using Moonlight, transitioning to Sunshine is mostly a server swap [2].
- Cross-platform host. Windows, Linux, macOS — the host isn’t tied to a specific OS [2].
- Active community and regular releases. 35,344 GitHub stars indicates a healthy user base, not an abandoned project.
- Custom game launchers. Add any application — emulators, non-Steam games, anything with an executable [2].
Cons
- No self-contained client. Sunshine is useless without Moonlight. You’re always setting up two things [1].
- Requires home hardware to be running. Can’t stream if the PC is off or unreachable. No fallback to cloud infrastructure.
- Internet setup is non-trivial. Local network streaming is easy; internet streaming requires ZeroTier or port forwarding and firewall configuration [1].
- macOS host is second-class. No gamepad emulation, some feature gaps compared to the Windows version [website].
- Small team. LizardByte is a volunteer collective, not a funded company. Long-term maintenance depends on community continuity.
- No mobile-friendly config UI. The web UI works from a browser, but initial setup on a remote device before pairing is awkward [1].
- Upload bandwidth dependent. Your home internet’s upload speed is the ceiling. Typical home connections handle 1080p@60fps comfortably; 4K streaming requires solid upload bandwidth that many home ISPs don’t deliver [2].
Who should use this / who shouldn’t
Use Sunshine if:
- You have a gaming PC that sits idle while you’re elsewhere.
- You’re paying for GeForce Now or Parsec to play games you already own locally.
- You want to play on a device that commercial cloud gaming doesn’t support — old phones, PS Vita, Nintendo Switch.
- You’re comfortable with a one-time setup involving firewall rules or ZeroTier.
- You were a NVIDIA GameStream user and want a maintained replacement.
Skip it if:
- You don’t have a capable gaming PC at home — Sunshine streams from your hardware, not a data center.
- Your home internet upload is under 10 Mbps reliably — the streaming quality will disappoint.
- You want zero-setup plug-and-play — commercial services win on onboarding.
- You game primarily on mobile and a simple Steam Link setup would cover your use case.
- You need reliable remote access from corporate networks with restrictive firewalls — ZeroTier helps but isn’t guaranteed.
Alternatives worth considering
- Moonlight (client-only): Moonlight is the client to Sunshine’s server. You need both, and they’re designed for each other. No comparison necessary — they’re a pair.
- Parsec: Commercial, cross-platform, easier setup, free personal tier. Trades self-hosting for lower friction. Teams pricing is $15/user/mo [2].
- Steam Link: Free, simple, but limited to Steam games and less flexible than Sunshine’s custom launcher support. Local network only without additional configuration.
- NVIDIA GeForce Now: Cloud-based, no home hardware required, $9.99–$19.99/mo. Better for users without a capable home PC.
- Xbox Cloud Gaming: Included with Game Pass Ultimate at $19.99/mo, Xbox-only library, no local game support.
- RustDesk / AnyDesk: Remote desktop tools, not game-streaming optimized. Latency and frame rates won’t match Sunshine for gaming use cases.
For the target user — someone who already has a gaming PC and wants to extend it to other devices — the realistic comparison is Sunshine vs Parsec. Parsec wins on setup speed and polish; Sunshine wins on cost, openness, and client breadth.
Bottom line
Sunshine is the mature, maintained, and genuinely capable answer to “I have a gaming PC and want to use it from anywhere.” It’s not a workaround or a hobbyist experiment — 35,000+ stars and an active LizardByte community back a tool that people depend on daily. The trade-off is honest: setup takes real effort, internet streaming requires networking knowledge, and the host PC has to stay on. But once it’s running, you’ve replaced a $20/mo subscription with hardware you already own. For a non-technical founder who values owning their infrastructure, the value is obvious. For someone who wants zero setup, Parsec exists. For someone who wants to stop paying monthly for games they already bought and has one afternoon to spend — Sunshine is the answer.
Sources
- Ayush Pande, XDA Developers — “How to Set Up Remote Game Streaming Using Moonlight and Sunshine” (Updated Dec 21, 2024). https://www.xda-developers.com/set-up-remote-game-streaming/
- Heba Soffar, Online Sciences — “Sunshine: A Complete Overview of the Open-Source Game Streaming Host, Sunshine vs Moonlight” (Updated Jan 7, 2026). https://www.online-sciences.com/technology/sunshine-a-complete-overview-of-the-open-source-game-streaming-host-sunshine-vs-moonlight/
Primary sources:
- GitHub repository and README: https://github.com/lizardbyte/sunshine (35,344 stars, GPL-3.0 license)
- Official website: http://app.lizardbyte.dev/Sunshine
- Documentation: https://docs.lizardbyte.dev/projects/sunshine
Related Gaming & Entertainment Tools
View all 57 →Godot
108KFree, open-source 2D and 3D game engine with a unique node-based architecture — no royalties, no strings attached.
Mindustry
27KA free, open-source factory-defense game blending Factorio-style automation with tower defense — cross-platform with bundled self-hosted multiplayer.
GDevelop
21KSelf-hosted gaming & entertainment tool that creates and publish games effortlessly.
Lila
18KFree online chess server. Play chess in a clean interface. No registration, no ads, no plugin required
Luanti
12KSelf-hosted gaming & entertainment tool that provides voxel game engine (formerly Minetest). Play one of our many games.
Pterodactyl
8.7KPterodactyl is a PHP-based application that provides management panel for game servers, with an intuitive UI for end users.