No description
Find a file
Cameron Gutman fac4c85133 Revert "Fix toolbar button size on Qt 6.2"
Breaks running with Qt 5.9

This reverts commit 84ea483b4c.
2021-12-03 12:17:25 +03:00
.github Update issue template 2021-03-03 01:39:55 -06:00
AntiHooking Fix unintentionally concatenated strings 2021-11-08 19:47:01 -06:00
app Revert "Fix toolbar button size on Qt 6.2" 2021-12-03 12:17:25 +03:00
config.tests Fix build without FFmpeg and with older EGL 1.5 headers 2020-05-16 13:25:10 -07:00
h264bitstream Add globaldefs.pri for setting qmake values in each project 2019-04-21 11:08:33 -07:00
libs@ecd79f7bbd Update pre-built dependencies 2021-11-04 22:49:30 -05:00
moonlight-common-c Send UTF-8 clipboard text directly rather than emulating keystrokes 2021-12-03 11:32:58 +03:00
qmdnsengine Update qmdnsengine to build with Qt 6.0 2020-10-14 22:40:25 -05:00
scripts Switch to the new Sectigo certificate 2021-07-14 21:09:48 -05:00
soundio Fix default audio output change detection on macOS 2020-12-28 14:37:17 -06:00
wix Update Visual C++ Runtime installers 2021-08-15 12:17:09 -05:00
.gitignore Add config.test generated files to gitignore 2019-01-05 18:10:20 -08:00
.gitmodules Use shallow-cloned submodule for prebuilts 2021-01-31 11:50:41 -06:00
appveyor.yml Update AppImage to libva 2.13 2021-10-06 20:13:05 -05:00
globaldefs.pri Update ASan flags for x64 support in MSVC 16.7 2020-08-22 17:36:16 -07:00
LICENSE Add license and readme 2018-07-07 14:59:48 -07:00
moonlight-qt.pro Don't use AntiHooking.dll or use D3DX9 on ARM64 2020-12-12 13:59:47 -06:00
README.md Remove qt5-devel which doesn't exist in Fedora 34 2021-04-17 11:11:37 -05:00

Moonlight PC

Moonlight PC is an open source implementation of NVIDIA's GameStream, as used by the NVIDIA Shield, but built to run on Windows, Mac, and Linux. This client is the successor to Moonlight Chrome for streaming on PC.

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

  • Hardware accelerated video decoding on Windows, Mac, and Linux
  • Supports streaming at up to 120 FPS (high refresh rate monitor recommended)
  • Supports streaming at 720p, 1080p, 1440p, 4K, and the client PC's native screen resolution
  • 7.1 surround sound audio support
  • Support for both pointer capture (for games) and direct mouse control (for remote desktop)
  • Support for passing system-wide keyboard shortcuts like Alt+Tab to the host
  • Direct touchscreen mouse control
  • HEVC support for better image quality at reduced bandwidth
  • Gamepad support with force feedback for up to 4 players

Downloads

Special Thanks

Hosted By: Cloudsmith

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

Building

Windows Build Requirements

  • Qt 5.15 SDK or later
  • Windows 7 or later
  • Visual Studio 2019 (Community edition is fine)
  • Select MSVC 2019 option during Qt installation. MinGW is not supported.
  • 7-Zip (only if building installers for non-development PCs)
  • WiX Toolset v3.11 or later (only if building installers for non-development PCs)

macOS Build Requirements

  • Qt 5.15 SDK or later
  • macOS High Sierra (10.13) or later
  • Xcode 11
  • create-dmg (only if building DMGs for use on non-development Macs)

Linux/Unix Build Requirements

  • Qt 5.9 SDK or later
  • GCC or Clang
  • Install the required packages:
    • Debian/Ubuntu: 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 qt5-default 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-qtquick2
    • RedHat/Fedora: openssl-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-devel
  • FFmpeg 4.0+ is required to build. If your distro doesn't package FFmpeg 4.0 or later, you can build and install it from source on https://ffmpeg.org/
  • Steam Link SDK cloned on your build system
  • STEAMLINK_SDK_PATH environment variable set to the Steam Link SDK path

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.9.
  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 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.

Contribute

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

Check out our website for project links and information.