explaingit

moonlight-stream/moonlight-qt

Analysis updated 2026-06-24

17,089C++Audience · generalComplexity · 3/5Setup · moderate

TLDR

Open-source desktop client that streams games and desktop from a gaming PC running NVIDIA GameStream or Sunshine to another device over LAN or the internet.

Mindmap

mindmap
  root((moonlight-qt))
    Inputs
      Host PC video feed
      Controller input
      Keyboard and mouse
    Outputs
      Hardware decoded video
      HDR display
      7.1 surround audio
    Use Cases
      Stream PC games to a TV
      Play from a low power laptop
      Self host cloud gaming
    Tech Stack
      C++
      Qt
      Sunshine
      NVIDIA GameStream
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 gaming rig to a TV in another room

USE CASE 2

Play your Steam library from a laptop while traveling on your home network

USE CASE 3

Run a self-hosted cloud gaming setup using Sunshine as the host server

What is it built with?

C++QtSunshineFFmpeg

How does it compare?

moonlight-stream/moonlight-qtdoitsujin/dxvkzlmediakit/zlmediakit
Stars17,08917,11717,030
LanguageC++C++C++
Setup difficultymoderatemoderatehard
Complexity3/53/54/5
Audiencegeneralgeneraldeveloper

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

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires a host PC running Sunshine or NVIDIA GameStream and a stable wired or fast Wi-Fi link.

In plain English

Moonlight PC is an open-source client application that lets you stream games and your desktop from a powerful gaming computer to another device over your local network or the internet. Think of it as a self-hosted version of cloud gaming, instead of paying a service to stream games from their servers, you stream from your own machine. It works by connecting to NVIDIA GameStream (a feature built into NVIDIA graphics cards) or Sunshine, an open-source alternative that works with any GPU. Your gaming PC does all the heavy work of running and rendering the game, then sends the video feed over the network to the Moonlight client on a less powerful machine. You play from there with a controller, keyboard, or mouse, and your inputs are sent back to the host. Moonlight PC supports hardware-accelerated video decoding, which means decoding the incoming video stream uses your GPU rather than your CPU, keeping performance smooth. It handles multiple video formats, HDR (high dynamic range for richer colors), 7.1 surround sound, and up to 16 simultaneous gamepads with force feedback and motion controls. The client runs on Windows, macOS, Linux, and Steam Link (a Valve streaming device). Mobile versions exist for Android and iOS as separate projects. The software is built in C++ using the Qt framework. You would use Moonlight if you want to play your gaming PC's library on a TV in another room, a laptop away from your desk, or any device that could not otherwise run demanding games on its own.

Copy-paste prompts

Prompt 1
Walk me through installing Sunshine on my Windows gaming PC and pairing Moonlight from a Mac
Prompt 2
Diagnose stutter and input lag when streaming Moonlight over Wi-Fi and list fixes to try
Prompt 3
Configure Moonlight to stream HDR at 4K 120Hz with 7.1 surround sound to my LG OLED
Prompt 4
Set up Moonlight on a Steam Deck to stream from my desktop and bind the controller correctly

Frequently asked questions

What is moonlight-qt?

Open-source desktop client that streams games and desktop from a gaming PC running NVIDIA GameStream or Sunshine to another device over LAN or the internet.

What language is moonlight-qt written in?

Mainly C++. The stack also includes C++, Qt, Sunshine.

How hard is moonlight-qt to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is moonlight-qt for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub moonlight-stream on gitmyhub

Verify against the repo before relying on details.