moonlight-stream / moonlight-qt

GameStream client for PCs (Windows, Mac, Linux, and Steam Link)
GNU General Public License v3.0
9.19k stars 543 forks source link
gamestream linux-app macos-app moonlight nvidia qt sdl2 steam-link windows-app

Moonlight PC

Moonlight PC is an open source PC client for NVIDIA GameStream and Sunshine.

Moonlight also has mobile versions for Android and iOS.

You can follow development on our Discord server and help translate Moonlight into your language on Weblate.

AppVeyor Build Status Downloads Translation Status

Features

Downloads

Special Thanks

Hosted By: Cloudsmith

Hosting for Moonlight's Debian and L4T package repositories is graciously provided for free by Cloudsmith.

Building

Windows Build Requirements

macOS Build Requirements

Linux/Unix Build Requirements

Steam Link Build Requirements

Build Setup Steps

  1. Install the latest Qt SDK (and optionally, the Qt Creator IDE) from https://www.qt.io/download
    • You can install Qt via Homebrew on macOS, but you will need to use brew install qt --with-debug to be able to create debug builds of Moonlight.
    • You may also use your Linux distro's package manager for the Qt SDK as long as the packages are Qt 5.9 or later.
    • This step is not required for building on Steam Link, because the Steam Link SDK includes Qt 5.14.
  2. Run git submodule update --init --recursive from within moonlight-qt/
  3. Open the project in Qt Creator or build from qmake on the command line.
    • To build a binary for use on non-development machines, use the scripts in the scripts folder.
      • For Windows builds, use scripts\build-arch.bat and scripts\generate-bundle.bat. Execute these scripts from the root of the repository within a Qt command prompt. Ensure 7-Zip binary directory is on your %PATH%.
      • For macOS builds, use scripts/generate-dmg.sh. Execute this script from the root of the repository and ensure Qt's bin folder is in your $PATH.
      • For Steam Link builds, run scripts/build-steamlink-app.sh from the root of the repository.
    • To build from the command line for development use on macOS or Linux, run qmake6 moonlight-qt.pro then make debug or make release
    • To create an embedded build for a single-purpose device, use qmake6 "CONFIG+=embedded" moonlight-qt.pro and build normally.
      • This build will lack windowed mode, Discord/Help links, and other features that don't make sense on an embedded device.
      • For platforms with poor GPU performance, add "CONFIG+=gpuslow" to prefer direct KMSDRM rendering over GL/Vulkan renderers. Direct KMSDRM rendering can use dedicated YUV/RGB conversion and scaling hardware rather than slower GPU shaders for these operations.

Contribute

  1. Fork us
  2. Write code
  3. Send Pull Requests

Check out our website for project links and information.