🟢 Beginner–Intermediate ⚙️ Type: Game Streaming Server 💸 Free & Open Source (GPL-3.0) ⭐ Trending on GitHub
What is Sunshine?
Sunshine (developed by LizardByte) is a self-hosted, ultra-low-latency game streaming server designed to act as a custom host for Moonlight clients. In simple terms, it turns your powerful gaming PC into your own personal cloud gaming server, allowing you to play your PC games on your phone, TV, laptop, or handheld console from anywhere in your house or across the internet.
Historically, PC gamers used “NVIDIA GameStream” to achieve this, but after NVIDIA officially discontinued the feature, the open-source community rallied behind Sunshine. Today, Sunshine is widely considered vastly superior to its predecessor. Unlike NVIDIA’s locked-down ecosystem, Sunshine works flawlessly across all major graphics cards—including AMD, Intel, and NVIDIA—and can be installed on Windows, macOS, and Linux.
It encodes your gameplay in real-time using hardware acceleration and beams it to the Moonlight app on your receiving device, often achieving latency so low that you cannot even tell you are playing a game over a network.
Who is it for?
- Couch Gamers who want to play graphically demanding PC titles like Cyberpunk 2077 on their living room TV without physically moving their heavy desktop computer.
- Handheld Console Owners (Steam Deck, ASUS ROG Ally, Retroid Pocket, Nintendo Switch) who want to preserve their device’s battery life by offloading the heavy rendering to their main PC.
- Mac and Linux Users who have a dedicated Windows gaming rig in another room but prefer to game from their daily-driver laptop or workstation.
- Homelabbers looking to build a headless, centralized gaming server that multiple people in the house can access remotely.
What makes it special?
- Universal Hardware Support — It isn’t locked to NVIDIA. It natively leverages hardware video encoders on AMD (VCE/AMF), Intel (QuickSync/VAAPI), and NVIDIA (NVENC) to ensure zero performance hit on your games.
- Flawless Controller Emulation — Sunshine intercepts inputs from your remote Moonlight client and emulates an Xbox 360, Xbox One, PS4, or Nintendo Switch controller directly on the host PC. Your games will instantly recognize the controller as if it were plugged right in.
- Web-Based GUI — Instead of editing confusing text files, Sunshine hosts a clean, modern web dashboard on your local network where you can configure bitrates, add custom game shortcuts, and pair devices with a single click.
- Cross-Platform Host — While most people use Windows as the gaming host, Sunshine works perfectly on Linux (supporting X11 and Wayland) and macOS, making it a true cross-platform powerhouse.
Requirements before you start
To achieve a smooth, stutter-free streaming experience, you need the right hardware setup:
- A Capable Host PC — Your gaming PC needs a dedicated GPU with hardware encoding capabilities (NVIDIA GTX 10-series+, AMD Video Coding Engine 3.1+, or Intel HD 510+).
- A Solid Network — Your Host PC should ideally be connected to your router via an Ethernet cable. Your client device (phone, laptop) should be on a 5GHz Wi-Fi network (802.11ac or better).
- The Moonlight Client App — You must install the Moonlight app on whatever device you want to play the games on (available on Android, iOS, Apple TV, Android TV, Windows, Mac, and Linux).
Step-by-step installation
Step 1 — Download and Install Sunshine
Go to the host computer (the powerful PC that will run the games). Navigate to the Sunshine GitHub Releases page.
- Windows: Download and run the
sunshine-windows-installer.exe. - macOS: Download the
.dmgfile and drag it to your Applications folder. - Linux: Download the appropriate package (Flatpak,
.deb, or.rpm) for your distribution.
Step 2 — Access the Web Dashboard
Once Sunshine is running, you need to configure it. Open a web browser on your Host PC and navigate to:
https://localhost:47990
(Note: Because Sunshine uses self-signed SSL certificates, your browser will likely show a “Your connection is not private” warning. Click Advanced and then Proceed to localhost (unsafe) to bypass it.)
On your first visit, you will be prompted to create an administrator username and password. Memorize these, as you will need them to log in to the dashboard.
Step 3 — Add Your Games (Optional)
By default, Sunshine will stream your entire desktop. If you want a Netflix-style menu of games to pop up on your client device:
- In the Sunshine Web UI, click the Applications tab.
- Click + Add New.
- Give it a name (e.g., “Steam Big Picture”).
- In the Command field, point it to the game’s executable (e.g.,
C:\Program Files (x86)\Steam\steam.exe -bigpicture). - Save the configuration.
Step 4 — Pair Your Client Device
- Download and open the Moonlight app on your receiving device (phone, TV, laptop).
- Moonlight should automatically detect the Sunshine server on your local network. Click on it.
- Moonlight will generate a 4-digit PIN code.
- Go back to your Host PC’s Sunshine Web UI, click the PIN tab at the top, enter the 4 digits, and hit Enter.
You are now paired! Click the “Desktop” or “Steam” icon in your Moonlight app to instantly start streaming.
Common errors and fixes
| Error | What it means | How to fix it |
|---|---|---|
| Cannot connect to PC / Moonlight doesn’t see the server | Your Windows Firewall is blocking the required ports (47984-47990) that Sunshine uses to communicate with Moonlight. | Ensure your network profile is set to “Private” in Windows settings. The Sunshine Windows installer usually adds the firewall rules automatically, but if it failed, you must manually allow the sunshine.exe app through Windows Defender Firewall. |
| High latency, stuttering, or pixelated video | Your network cannot handle the bitrate you are trying to push, or you are using 2.4GHz Wi-Fi instead of 5GHz. | First, plug your Host PC directly into the router with an Ethernet cable. Second, open the Moonlight app settings on your client device and lower the streaming bitrate (e.g., from 50 Mbps down to 20 Mbps) until the stuttering stops. |
| Controller inputs aren’t registering in the game | The virtual controller driver on the Host PC failed to load, or the game doesn’t recognize emulated Xbox controllers. | Restart Sunshine as an Administrator. Ensure you do not have Steam’s “Desktop Configuration” hijacking the controller inputs. Sometimes, adding the game to Steam as a “Non-Steam Game” and launching it through Steam Big Picture fixes input hooks. |
Free vs Paid comparison
| Feature | Sunshine (Free Open Source) | Parsec (Commercial Software) |
|---|---|---|
| Cost | $0 (Free Forever) | Free tier available, $9.99/mo for Pro features (like 4:4:4 color) |
| Local Network Play | ✅ Perfect (Requires zero internet connection) | ❌ Requires online authentication to start the stream |
| Client Device Support | 🟢 Incredible (Smart TVs, iOS, Android, Switch, Vita) | 🟡 Good (Mainly PC, Mac, and Android) |
| Playing Outside the House | ⚠️ Requires manual port forwarding or a VPN (like Tailscale) | ✅ Works out of the box through their servers |
Bottom line: Sunshine is the undisputed king of local network game streaming. Combined with Moonlight, it provides the highest quality, lowest latency video stream available, completely free of charge. However, if your primary goal is to share your desktop over the internet with friends for remote co-op gaming, a tool like Parsec is easier to use because it handles the complex networking and port forwarding for you.
Alternatives — 3 similar tools
1. Steam Remote Play
Valve’s built-in streaming solution. It requires zero setup since it is baked directly into the Steam client. It is incredibly convenient if you only play Steam games, but it generally suffers from higher latency, worse visual artifacting, and poorer non-Steam game support compared to the raw horsepower of the Sunshine/Moonlight combo.
🔗 store.steampowered.com/remoteplay
2. Parsec
The best commercial alternative. Parsec excels at desktop sharing and remote collaboration. It is highly optimized for over-the-internet streaming and remote multiplayer (letting friends connect to your PC to play local co-op games). It is fantastic for remote work, but locks features like multi-monitor support and high-fidelity color behind a monthly paywall.
3. Moonlight (The Client)
While often confused as an alternative, Moonlight is actually the client application you must use with Sunshine. Originally, Moonlight was built specifically to connect to NVIDIA’s proprietary GameStream service. Now that NVIDIA has killed GameStream, Sunshine serves as the open-source replacement host, while Moonlight remains the open-source client viewer.
🚀 Want more free AI tools like this?
We find, test, and write setup guides for the best free and open-source AI tools — so you don’t have to dig through GitHub yourself.Browse Free AI Tools at globalaiforce.com/shop →
📸 Follow us for daily AI tool tips and tutorials: instagram.com/globalaiforce