About this project

Moonlight PC is the desktop client of the Moonlight project, an open-source implementation of NVIDIA's GameStream protocol. It connects to a host PC running NVIDIA GameStream or the community Sunshine server and streams games or the desktop to the local machine. Mobile clients for Android and iOS exist separately. Key capabilities described in the README: - Hardware-accelerated video decoding on Windows, macOS and Linux. - H.264, HEVC and AV1 codecs; AV1 requires Sunshine and a supported host GPU. - YUV 4:4:4 chroma support (Sunshine only) and HDR streaming. - 7.1 surround sound audio. - 10-point multitouch input (Sunshine only). - Gamepad support with force feedback and motion controls for up to 16 players. - Pointer capture for games plus direct mouse control for remote desktop use. - Forwarding system-wide keyboard shortcuts such as Alt+Tab to the host. Distribution options include Windows, macOS and Steam Link builds, Snap and Flatpak packages, AppImage, Raspberry Pi 4/5 instructions, generic ARM Debian packages, experimental RISC-V packages, and NVIDIA Jetson / Nintendo Switch (Ubuntu L4T) builds. Nightly builds are also published. Debian and L4T package repositories are hosted by Cloudsmith. Building requires Qt (Qt 6.11 or later recommended, Qt 5.12+ supported on Linux), plus platform toolchains: Visual Studio on Windows, Xcode on macOS, and GCC/Clang with FFmpeg 4.0+ on Linux. The Vulkan renderer needs libplacebo 7.349.0+ and FFmpeg 6.1+. Steam Link builds use Valve's Steam Link SDK and are limited to 1080p, 60 FPS, 40 Mbps, without HDR on original hardware. Docker-based packaging containers are referenced for cross-architecture builds. An embedded build configuration is available for single-purpose devices, with an optional gpuslow mode preferring direct KMSDRM rendering. Translation is coordinated through Weblate, and development discussion happens on the project's Discord server.