Introduction
Sunshine is an open-source, self-hosted game streaming host compatible with NVIDIA GameStream and Moonlight clients. It lets you stream games and applications from your PC to phones, tablets, TVs, and other computers on your local network or over the internet with minimal latency. Unlike NVIDIA GameStream, Sunshine works with any GPU vendor including AMD and Intel.
What Sunshine Does
- Streams games and desktop applications to any Moonlight client device
- Supports hardware encoding via NVIDIA NVENC, AMD AMF, Intel QSV, and software encoding
- Provides a web-based configuration UI on port 47990
- Handles controller, keyboard, and mouse input from remote clients
- Supports HDR passthrough, surround sound, and up to 4K resolution streaming
Architecture Overview
Sunshine runs as a background service on the host machine, capturing the screen and encoding video frames in real-time using available hardware encoders. It implements the GameStream protocol over RTSP and ENet, establishing a secure pairing with Moonlight clients via PIN exchange. The video pipeline captures frames from the display, encodes them with H.264 or HEVC, and transmits them over UDP for low-latency delivery while receiving input events from clients.
Self-Hosting & Configuration
- Install from pre-built packages for Windows, macOS, Ubuntu, Fedora, or Arch Linux
- Access the web UI at https://localhost:47990 for initial setup and configuration
- Configure applications and games to appear in the Moonlight client launcher
- Set encoder preferences and bitrate limits based on your network bandwidth
- Enable UPnP or configure port forwarding (TCP 47984-47990, UDP 47998-48010) for remote access
Key Features
- Works with AMD, Intel, and NVIDIA GPUs unlike the discontinued NVIDIA GameStream
- Hardware-accelerated encoding keeps CPU usage low during streaming
- Multi-platform host support across Windows, Linux, and macOS
- Web-based admin interface for configuration without editing files
- Active community with frequent releases and broad hardware compatibility
Comparison with Similar Tools
- NVIDIA GameStream — discontinued and NVIDIA-only; Sunshine is its open-source successor
- Steam Remote Play — tied to Steam library; Sunshine streams any application
- Parsec — proprietary with usage limits on free tier; Sunshine is fully open-source
- Moonlight — the client counterpart; Sunshine is the host that Moonlight connects to
- VNC/RDP — general remote desktop with higher latency; Sunshine is optimized for gaming
FAQ
Q: Do I need an NVIDIA GPU to use Sunshine? A: No. Sunshine supports AMD, Intel, and NVIDIA GPUs, as well as software encoding as a fallback.
Q: Can I stream over the internet, not just LAN? A: Yes. Configure port forwarding or use a VPN like Tailscale, then connect your Moonlight client to your public IP or VPN address.
Q: What clients work with Sunshine? A: Any Moonlight client works, including apps for Android, iOS, Windows, macOS, Linux, ChromeOS, and embedded devices.
Q: Does Sunshine support multiple simultaneous streams? A: Sunshine handles one active session at a time per host. For multiple streams, run separate Sunshine instances on different machines.