explaingit

lizardbyte/sunshine

Analysis updated 2026-06-20

36,723C++Audience · generalComplexity · 3/5Setup · moderate

TLDR

Sunshine is a self-hosted game streaming server that streams your PC's screen to phones, tablets, or TVs via the Moonlight app, a free, open-source replacement for NVIDIA's discontinued GameStream that works with any GPU.

Mindmap

mindmap
  root((Sunshine))
    What it does
      Game streaming server
      Remote desktop access
      Any GPU supported
    How it works
      Screen capture
      GPU video encoding
      Moonlight client
    GPU support
      NVIDIA NVENC
      AMD AMF
      Intel QuickSync
      Apple VideoToolbox
    Platforms
      Windows
      Linux
      macOS
      FreeBSD
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Stream PC games from a powerful desktop to an iPad or Android tablet from anywhere in the house.

USE CASE 2

Set up a game streaming box connected to your living room TV using a device running the Moonlight app.

USE CASE 3

Use as a general remote desktop solution to access your home PC from another room or device.

What is it built with?

C++CMakeDockerFlatpak

How does it compare?

lizardbyte/sunshineaseprite/asepriteqbittorrent/qbittorrent
Stars36,72336,86237,224
LanguageC++C++C++
Setup difficultymoderateeasyeasy
Complexity3/52/52/5
Audiencegeneraldesignergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a gaming PC as the host and the Moonlight app installed on the client device.

In plain English

Sunshine is a self-hosted game streaming server that lets you play PC games remotely on other devices using the Moonlight client. The problem it solves is the same one NVIDIA's GeForce Experience (GameStream) was built for, streaming your gaming PC's screen over the network to a phone, tablet, TV, or another computer, but as a fully open-source, self-hosted alternative that works with any GPU, not just NVIDIA hardware. When NVIDIA discontinued GameStream, Sunshine became the primary community-supported replacement. The way it works is that Sunshine runs on your gaming PC (the "host") and captures the screen, encodes the video using your GPU's hardware encoder, and streams it over the network in real time at very low latency. Clients connect using the Moonlight app, which is available on iOS, Android, smart TVs, and other platforms. The encoding hardware used depends on your GPU: NVIDIA cards use NVENC, AMD uses AMF (on Windows), Intel uses QuickSync or VAAPI, and Apple silicon Macs use VideoToolbox. A browser-based configuration panel lets you manage the app list and pair client devices without touching the command line. Gamepad input from the client is emulated on the host, so the game sees a real controller. Keyboard and mouse input from the remote device is also forwarded. You would use Sunshine when you want to play games from your powerful desktop PC while sitting somewhere else in the house, on a couch connected to a TV via a streaming device, on an iPad, or on a laptop. It is also used for general remote desktop access, not just games. The tech stack is C++ with CMake, runs on Windows, Linux, macOS, and FreeBSD, and is available as a Docker image, Flatpak, or native installer.

Copy-paste prompts

Prompt 1
I have Sunshine installed on my Windows gaming PC. Walk me through pairing the Moonlight app on my Android phone and streaming a game.
Prompt 2
How do I add a non-Steam game or custom app to my Sunshine app list so it appears in Moonlight?
Prompt 3
My Sunshine stream has high latency. What encoder settings should I adjust in the Sunshine web panel for a smoother experience?
Prompt 4
How do I install Sunshine on Linux using the Flatpak, and what permissions does it need to capture the screen?

Frequently asked questions

What is sunshine?

Sunshine is a self-hosted game streaming server that streams your PC's screen to phones, tablets, or TVs via the Moonlight app, a free, open-source replacement for NVIDIA's discontinued GameStream that works with any GPU.

What language is sunshine written in?

Mainly C++. The stack also includes C++, CMake, Docker.

How hard is sunshine to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is sunshine for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub lizardbyte on gitmyhub

Verify against the repo before relying on details.