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.9.
Run git submodule update --init --recursive from within moonlight-qt/
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 WiX and 7-Zip binary directories are in 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, run qmake moonlight-qt.pro then make debug or make release
To create an embedded build for a single-purpose device, use qmake "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 GL performance, add "CONFIG+=glslow" to prefer direct KMSDRM rendering over EGL/GLES renderers. Direct KMSDRM rendering can use dedicated YUV/RGB conversion and scaling hardware rather than slower GPU shaders for these operations.
Contribute
Fork us
Write code
Send Pull Requests
Check out our website for project links and information.
Moonlight PC
Moonlight PC is an open source PC client for NVIDIA GameStream, as used by the NVIDIA Shield.
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.
Features
Downloads
Special Thanks
Hosting for Moonlight’s Raspberry Pi and L4T package repositories is graciously provided for free by Cloudsmith.
Building
Windows Build Requirements
macOS Build Requirements
Linux/Unix Build Requirements
libegl1-mesa-dev libgl1-mesa-dev libopus-dev libqt5svg5-dev libsdl2-dev libsdl2-ttf-dev libssl-dev libavcodec-dev libva-dev libvdpau-dev libxkbcommon-dev qtwayland5 qt5-qmake qtbase5-dev qtdeclarative5-dev qtquickcontrols2-5-dev wayland-protocols qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtquick-window2 qml-module-qtquick2openssl-devel SDL2-devel SDL2_ttf-devel ffmpeg-devel qt5-qtsvg-devel qt5-qtquickcontrols2-devel libva-devel libvdpau-devel opus-devel pulseaudio-libs-devel alsa-lib-develSteam Link Build Requirements
Build Setup Steps
brew install qt --with-debugto be able to create debug builds of Moonlight.git submodule update --init --recursivefrom withinmoonlight-qt/scriptsfolder.scripts\build-arch.batandscripts\generate-bundle.bat. Execute these scripts from the root of the repository within a Qt command prompt. Ensure WiX and 7-Zip binary directories are in your%PATH%.scripts/generate-dmg.sh. Execute this script from the root of the repository and ensure Qt’sbinfolder is in your$PATH.scripts/build-steamlink-app.shfrom the root of the repository.qmake moonlight-qt.prothenmake debugormake releaseqmake "CONFIG+=embedded" moonlight-qt.proand build normally."CONFIG+=glslow"to prefer direct KMSDRM rendering over EGL/GLES renderers. Direct KMSDRM rendering can use dedicated YUV/RGB conversion and scaling hardware rather than slower GPU shaders for these operations.Contribute
Check out our website for project links and information.