Sunshine README

The project's README from github.com/LizardByte/Sunshine. As one markdown file: README.md.

Sunshine icon

Sunshine

Self-hosted game stream host for Moonlight.

GitHub stars GitHub Releases Docker GHCR Flathub installs Flathub Version Winget Version GitHub Workflow Status (CI) GitHub Workflow Status (localize) Codecov SonarCloud

ℹ️ About

Sunshine is a self-hosted game stream host for Moonlight. Offering low-latency, cloud gaming server capabilities with support for AMD, Intel, and Nvidia GPUs for hardware encoding. Software encoding is also available. You can connect to Sunshine from any Moonlight client on a variety of devices. A web UI is provided to allow configuration, and client pairing, from your favorite web browser. Pair from the local server or any mobile device.

LizardByte has the full documentation hosted on Read the Docs

🎮 Feature Compatibility

Gamepad Emulation
Feature FreeBSD Linux macOS Windows
What type of gamepads can be emulated on the host.
Clients may support other gamepads.
Generic 🟡1 ✅ ❌ ✅
DualShock / DS4 (PlayStation 4) 🟡1 ✅ ❌ ✅
DualSense / DS5 (PlayStation 5) 🟡1 ✅ ❌ ✅
Nintendo Switch Pro 🟡1 ✅ ❌ ✅
Xbox 360 🟡1 ✅ ❌ ✅
Xbox One 🟡1 ✅ ❌ ✅
Xbox Series 🟡1 ✅ ❌ ✅

[!NOTE] 1 Missing motion, touchpad input, battery state, RGB LEDs, adaptive triggers, and raw HID output reports.

Encoding API
Encoding API GPU Vendor FreeBSD Linux macOS Windows
AMF AMD ➖ ➖ ➖ ✅
Media Foundation Qualcomm ➖ ➖ ➖ ✅
NVENC NVIDIA ➖ ✅ ➖ ✅
QuickSync Intel ➖ ➖ ➖ ✅
VAAPI AMD ✅ ✅ ➖ ➖
Intel ✅ ✅ ➖ ➖
NVIDIA ➖ ✅ ➖ ➖
Video Toolbox Apple ➖ ➖ ✅ ➖
Intel ➖ ➖ ✅ ➖
Vulkan Video AMD 🟡 ✅ ➖ ➖
Intel 🟡 🟡 ➖ ➖
NVIDIA ➖ 🟡 ➖ ➖
Software Any ✅ ✅ ✅ ✅
Screen Capture
Capture Method FreeBSD Linux macOS Windows
DXGI Desktop Duplication ➖ ➖ ➖ ✅
KMS/DRM ✅ ✅ ➖ ➖
NvFBC (X11 only) ➖ ✅ ➖ ➖
ScreenCaptureKit ➖ ➖ ✅ ➖
Wayland (wlroots) ✅ ✅ ➖ ➖
Windows.Graphics.Capture ➖ ➖ ➖ 🟡
  ↳ Portable ➖ ➖ ➖ ✅
  ↳ Service ➖ ➖ ➖ ❌
X11 ✅ ✅ ➖ ➖
XDG Desktop Portal ✅ ✅ ➖ ➖
KWin Screencast ✅ ✅ ➖ ➖
Capture → Encoding Compatibility (Linux/FreeBSD)
Capture Method VAAPI Vulkan Video NVENC (CUDA) Software
KMS/DRM ✅ ✅ ✅ ✅
NvFBC ❌ ❌ ✅ ❌
Wayland (wlroots) ✅ ❌ ✅ ✅
X11 ✅ ❌ ✅ ✅
XDG Desktop Portal ✅ ✅ ✅ ✅
KWin Screencast ✅ ✅ ✅ ✅

Legend: ✅ Supported | 🟡 Partial Support | ❌ Not Yet Supported | ➖ Not Applicable

🖥️ System Requirements

[!WARNING] These tables are a work in progress. Do not purchase hardware based on this information.

Minimum Requirements
Component Requirement
GPU AMD: VCE 1.0 or higher, see: obs-amd hardware support
Intel:
  FreeBSD/Linux: VAAPI-compatible, see: VAAPI hardware support
  Windows: Skylake or newer with QuickSync encoding support
Nvidia: NVENC enabled cards, see: nvenc support matrix
CPU AMD: Ryzen 3 or higher
Intel: Core i3 or higher
RAM 4GB or more
OS FreeBSD: 15.1+
Linux/Debian: 13+ (trixie)
Linux/Fedora: 43+
Linux/Ubuntu: 22.04+ (jammy)
macOS: 14.2+
Windows: 11+
Network Host: 5GHz, 802.11ac
Client: 5GHz, 802.11ac
4k Suggestions
Component Requirement
GPU AMD: Video Coding Engine 3.1 or higher
Intel:
  FreeBSD/Linux: HD Graphics 510 or higher
  Windows: Skylake or newer with QuickSync encoding support
Nvidia:
  FreeBSD/Linux: GeForce RTX 2000 series or higher
  Windows: Geforce GTX 1080 or higher
CPU AMD: Ryzen 5 or higher
Intel: Core i5 or higher
Network Host: CAT5e ethernet or better
Client: CAT5e ethernet or better
HDR Suggestions
Component Requirement
GPU AMD: Video Coding Engine 3.4 or higher
Intel: HD Graphics 730 or higher
Nvidia: Pascal-based GPU (GTX 10-series) or higher
CPU AMD: Ryzen 5 or higher
Intel: Core i5 or higher
Network Host: CAT5e ethernet or better
Client: CAT5e ethernet or better

❓ Support

Our support methods are listed in our LizardByte Docs.

💲 Sponsors and Supporters

Sponsors

👥 Contributors

Thank you to all the contributors who have helped make Sunshine better!

GitHub

GitHub contributors

CrowdIn

CrowdIn contributors

Previous Next
Getting Started
[TOC]

Sunshine (LizardByte/Sunshine)

Searching Database…

42.3K ·GitHub
What is this?Sunshine is a self-hosted game streaming host that lets you play PC games remotely using any Moonlight client, with hardware-accelerated encoding on AMD, Intel, or Nvidia GPUs (or software encoding as a fallback).
Do I install this on my gaming PC, or on the device I'm playing from?Sunshine runs on the PC you want to stream games from (the host); you then connect to it from a separate device using any Moonlight client app.
How do I get Sunshine running?There's no single install command in the README; full setup instructions, including platform-specific packages, are maintained on LizardByte's Read the Docs site.
Does gamepad emulation work the same way on every OS?No — full gamepad emulation (Xbox, DualShock, Switch Pro, etc.) works on Windows, is only partially supported on FreeBSD/Linux (missing motion, touchpad, battery, RGB, and adaptive trigger data), and isn't supported at all on macOS.
Which operating systems and versions does Sunshine support?Minimum supported versions are FreeBSD 15.1+, Debian 13 (trixie), Fedora 43, Ubuntu 22.04 (jammy), macOS 14.2+, and Windows 11+.
Do I need a specific graphics card for hardware encoding?Sunshine supports hardware encoding via AMF on AMD, QuickSync on Intel, and NVENC on Nvidia GPUs (plus VAAPI and Vulkan Video on Linux), but it also falls back to software encoding on any hardware if no compatible GPU is found.
How do I pair a Moonlight client with Sunshine?Sunshine includes a web UI for configuration that also handles client pairing — you can pair from the local server itself or from any mobile device's browser.
Can Sunshine stream in 4K or HDR?Yes, but it needs stronger hardware: 4K is recommended with a Ryzen 5/Core i5 and a GTX 1080-class GPU or better, while HDR needs a GPU like a Pascal-based Nvidia card (GTX 10-series) or an equivalent AMD/Intel encoder.
What screen-capture methods does it use on Linux?On Linux, Sunshine can capture the screen via KMS/DRM, X11, Wayland (wlroots), the XDG Desktop Portal, or KWin Screencast, with KMS/DRM offering the widest compatibility across all encoding backends.
Creator
LizardByte
Size
515.6 MB
Stars
42.3K
Age
4y
Commits · 90 Days