GameStream client for PCs (Windows, Mac, Linux, and Steam Link)
moonlight-qt版本: v6.1.0
🔗更新日志

Download links:

The Windows installer package may require an Internet connection to download the latest Microsoft Visual C++ Runtime if your PC does not already have it installed. If you do not have Internet access during installation, you can pre-install the runtime from Microsoft's website or use the portable version.

To update an existing installation, simply run the latest installer (for Windows) or replace the old app in your Applications folder (for Mac). For the portable Windows version, extract the latest version on top of your old folder.

To install on Steam Link hardware, extract the ZIP file to the root of a FAT32 flash drive, insert it into your Steam Link, then restart the Steam Link. Moonlight can run alongside official Steam Link streaming and other Steam Link apps.

OS Support Changes:

  • Windows 10 (1809), Windows Server 2019, or later is now required
  • 32-bit versions of Windows are no longer supported
  • macOS Big Sur or later is now required
  • macOS Sequoia is now supported

New Features:

  • Experimental YUV 4:4:4 support for improved text clarity during remote desktop usage
  • HDR streaming is now supported with software decoding (requires GPU with Vulkan or Metal support)
  • Bitrate limit can now be increased to 500 Mbps
    • These bitrates are not officially supported but can improve image quality if client and host can handle it (Ethernet strongly recommended).
  • Audio decoding now uses 32-bit floating point format

Bugfixes:

  • Fixed inability to connect to hosts on macOS Sequoia
  • Fixed incorrect color range when streaming with AV1 from a host with an AMD GPU
  • Fixed unexpected Left Control key input when pressing the AltGr key on Windows clients
  • Fixed unexpected tearing artifacts when streaming with Intel Ivy Bridge GPUs
  • Fixed Windows installer failures due to failed firewall exception registration
  • Fixed GUI breakage on Raspberry Pi OS Buster or Ubuntu Bionic
  • Fixed Vulkan video decoding crash with recent Nvidia drivers using the AppImage build
  • Silenced log message spam when streaming HDR using Vulkan Video decoding on Linux
  • Fixed inability to see video output on SpacemiT K1 due to incorrect overlay plane selection
  • Fixed suboptimal pixel format selection with non-hwaccel FFmpeg hardware decoders
  • Fixed incorrect hardware decoding warning on embedded systems that use custom OpenMAX hardware decoding patches
  • Fixed build failure of libplacebo renderer on 32-bit platforms
  • Updated community-contributed translations from Weblate

Dependency Updates:

  • Updated Qt in Windows and macOS builds to 6.7.2
  • Updated OpenSSL to 3.3.2
  • Updated libplacebo to 7.349.0
  • Updated libva in AppImage build to 2.22.0
  • Updated WiX to 5.0.1

Known Issues:

moonlight-qt版本: v6.0.1
🔗更新日志

Download links:

The Windows installer package may require an Internet connection to download the latest Microsoft Visual C++ Runtime if your PC does not already have it installed. If you do not have Internet access during installation, you can pre-install the runtime from Microsoft's website or use the portable version.

To update an existing installation, simply run the latest installer (for Windows) or replace the old app in your Applications folder (for Mac). For the portable Windows version, extract the latest version on top of your old folder.

To install on Steam Link hardware, extract the ZIP file to the root of a FAT32 flash drive, insert it into your Steam Link, then restart the Steam Link. Moonlight can run alongside official Steam Link streaming and other Steam Link apps.

End of Support Notices:

  • Windows: v6.0.x will be the final release series supporting OSes older than Windows 10 1809 and Windows Server 2019
  • Windows: v6.0.x will be the final release series supporting 32-bit versions of Windows
  • macOS: v6.0.x will be the final release series supporting macOS verisons older than Big Sur

New Features:

  • Improved streaming performance and latency on Intel GPUs
  • HDR->SDR tonemapping is now supported by the Vulkan renderer on Linux

Behavior Changes:

  • Old DX9/DX10 GPUs will use the DirectX 9 renderer instead of DirectX 11 to avoid compatibility issues with old GPU drivers
  • Full-screen mode on macOS will now draw under the display notch again like in versions of Moonlight prior to v6.0.0
  • More time is now provided for PCs to wake up before displaying an error when starting a stream from the CLI
  • Moonlight will no longer try to guess VA driver names when running libva 2.20 or later
  • CUDA decoding is disabled on AppImage builds to address crashes

Bugfixes:

  • Fixed crash when the Vulkan renderer executed on a system with no Vulkan devices
  • Fixed video rendering failure after the window is resized when using software decoding on Windows
  • Fixed video flicker on some embedded devices
  • Fixed delayed display of the first frame of video on some embedded devices
  • Fixed plane selection logic to avoid picking a plane with a zpos below the primary plane
  • Fixed colorspace selection to take into account available values for the COLOR_ENCODING plane property
  • Fixed excessive log output while streaming on Raspberry Pi
  • Updated community-contributed translations from Weblate

Known Issues:

moonlight-qt版本: v6.0.0
🔗更新日志

Download links:

The Windows installer package may require an Internet connection to download the latest Microsoft Visual C++ Runtime if your PC does not already have it installed. If you do not have Internet access during installation, you can pre-install the runtime from Microsoft's website or use the portable version.

To update an existing installation, simply run the latest installer (for Windows) or replace the old app in your Applications folder (for Mac). For the portable Windows version, extract the latest version on top of your old folder.

To install on Steam Link hardware, extract the ZIP file to the root of a FAT32 flash drive, insert it into your Steam Link, then restart the Steam Link. Moonlight can run alongside official Steam Link streaming and other Steam Link apps.

End of Support Notices:

  • Windows: v6.0.x will be the final release series supporting OSes older than Windows 10 1809 and Windows Server 2019
  • Windows: v6.0.x will be the final release series supporting 32-bit versions of Windows
  • macOS: v6.0.x will be the final release series supporting macOS verisons older than Big Sur

New Features:

  • HDR is now supported on Steam Deck and other HDR-capable Linux systems using a new Vulkan-based renderer
    • By default, the new Vulkan renderer is only used for HDR streaming, but it can be used all the time by setting the PREFER_VULKAN=1 environment variable
  • Vulkan Video decoding of H.264, HEVC, and AV1 is now supported using the new Vulkan renderer on Linux
  • A new Metal-based renderer is now used on most macOS systems for increased streaming performance and reduced latency
  • Both notched and notch-free native resolution options are now provided on Apple Silicon Macs
  • Full E2E stream encryption is now supported when streaming from Sunshine v0.22 or later
  • Initiating a stream via the command-line will now automatically wake the target machine if it is sleeping
  • Error codes are now displayed in the connection termination dialog
  • Detailed PC state information is now available via the new "View Details" context menu option (similar to the Android client)
  • The performance overlay can now be configured to appear by default when starting a stream

Behavior Changes:

  • The selected bitrate is no longer silently adjusted by Moonlight based upon the video codec or HDR mode
    • You may need to adjust your bitrate setting slightly to get the same effective bitrate as prior Moonlight versions
  • The selected mouse mode when starting a stream no longer influences the acceleration curve when the mouse mode is toggled using the Ctrl+Alt+Shift+M key combo while streaming
  • The compatibility block on Nvidia Optimus has been lifted, so Moonlight will now run on the discrete GPU if configured to in Nvidia Control Panel
  • Game Mode is disabled due to various reports of macOS Sonoma bugs affecting Moonlight and limited performance benefit (#1170 and #1297)
  • The D3D11 renderer is now preferred over D3D9 for all streaming scenarios on Windows 10 or later
  • Per-session keys (rikey and rikeyid values) are now automatically stripped from logs
  • Log messages on Linux will now be logged to stderr rather than stdout
  • Log messages on Windows will print to stderr instead of a separate log file if stderr has been redirected
  • Hardcoded fallback paths for VAAPI and VDPAU drivers are now only used by the AppImage package
  • EGL is now always used instead of GLX for loading OpenGL in X11 environments on non-x86 platforms for improved compatibility with some embedded devices

Platform Support Improvements:

  • Linux4Tegra packages are now provided for Ubuntu 22.04 and 24.04
  • Debian Bookworm and Ubuntu Jammy/Noble packages are now built with Wayland support
  • The CONFIG+=vulkanslow qmake option is now provided for embedded systems with a slow Vulkan implementation to prefer hardware YUV-RGB conversion and scaling rather than using Vulkan
  • For systems where GPU scaling and color conversion is slow regardless of which API is used, CONFIG+=gpuslow is equivalent to CONFIG+=vulkanslow CONFIG+=glslow

Bugfixes:

  • Improved reliability of streaming during momentary drops of WiFi connections
  • Improved performance with high polling rate mice
  • Improved input latency when a gamepad is connected
  • Improved detection of VPNs when streaming
  • Added missing command-line options to control HDR and AV1 codec usage
  • Added dri-nonfree and dri-freeworld paths to the AppImage's VAAPI driver path list for Fedora 40
  • Fixed failure to launch from outside a desktop environment on Raspberry Pi 5 devices
  • Fixed instant connection termination error when streaming over the Internet behind certain Carrier-Grade NAT devices
  • Fixed several bugs with full-screen mode on macOS
  • Fixed incorrect MTU detection when streaming over the Internet without a VPN
  • Fixed recovery of audio when no audio output device is present when the stream starts
  • Fixed inability to redirect stdout and stderr when launching from the command line on Windows
  • Fixed compatibility with Rockchip MPP FFmpeg decoder
  • Fixed handling incompatible SDL_VIDEODRIVER settings when using EGLFS or LinuxFB Qt platform backends
  • Fixed merging of gamepad state when multi-controller mode is disabled
  • Fixed indefinitely resending mDNS queries when a host could not be resolved
  • Fixed Steam Controller detection on Steam Link
  • Fixed inability to pair when the host is not using a RSA-2048 key
  • Updated included gamepad mappings
  • Updated community-contributed translations from Weblate

Dependency Updates:

  • Updated Windows installer to WiX v5
  • Updated to libva 2.21 in AppImage builds
  • Updated SDL2
  • Updated to FFmpeg 7.0.1
  • Updated to dav1d 1.4.2
  • Updated to SDL2-ttf 2.22.0
  • Updated to Qt 6.7.1 for Windows ARM64 builds

Known Issues:

moonlight-qt版本: v5.0.1
🔗更新日志

Download links:

The Windows installer package may require an Internet connection to download the latest Microsoft Visual C++ Runtime if your PC does not already have it installed. If you do not have Internet access during installation, you can pre-install the runtime from Microsoft's website or use the portable version.

To update an existing installation, simply run the latest installer (for Windows) or replace the old app in your Applications folder (for Mac). For the portable Windows version, extract the latest version on top of your old folder.

To install on Steam Link hardware, extract the ZIP file to the root of a FAT32 flash drive, insert it into your Steam Link, then restart the Steam Link. To do a full restart, unplug and reinsert the power cable from the Steam Link. Moonlight can run alongside official Steam Link streaming and other Steam Link apps.

Bugfixes:

  • Fixed connection issue streaming from some hosts running GeForce Experience or Sunshine v0.20 and earlier
  • Fixed failure to launch on macOS Big Sur and earlier
  • Fixed dark mode not changing the titlebar theme on Windows ARM64
  • Fixed incorrect detection of libva-drm library on Linux
  • Fixed PS4/PS5 controller features not working on Raspberry Pi OS
  • Updated community-contributed translations from Weblate

Known Issues:

moonlight-qt版本: v5.0.0
🔗更新日志

Download links:

The Windows installer package may require an Internet connection to download the latest Microsoft Visual C++ Runtime if your PC does not already have it installed. If you do not have Internet access during installation, you can pre-install the runtime from Microsoft's website or use the portable version.

To update an existing installation, simply run the latest installer (for Windows) or replace the old app in your Applications folder (for Mac). For the portable Windows version, extract the latest version on top of your old folder.

To install on Steam Link hardware, extract the ZIP file to the root of a FAT32 flash drive, insert it into your Steam Link, then restart the Steam Link. Moonlight can run alongside official Steam Link streaming and other Steam Link apps.

New Features:

  • Custom FPS values
  • Streaming using the AV1 codec from Sunshine hosts
  • Horizontal scrolling with Sunshine hosts
  • Native multi-touch input with Sunshine hosts*
  • Controller type information is passed to Sunshine for controller type autoselection*
  • Extended features of PS4/PS5 controllers (touchpad, battery state, gyro/accelerometer motion, and RGB LED) are natively passed to Sunshine hosts*
  • Support for up to 16 gamepads with Sunshine hosts
  • Frame pacing support on Wayland
  • Host-side processing latency is now displayed in the performance overlay with Sunshine hosts
  • Window title now includes the PC name when streaming
  • Alphabetical sorting of the PC list
  • Dynamic decoder detection for improved support of custom FFmpeg builds
  • Updated Play and Stop button design to improve contrast with app box art
  • Older log files are automatically cleaned up
  • The settings page automatically scrolls to the selected element when using keyboard or gamepad navigation
  • Pressing Share+PS buttons on PS4/PS5 controllers can be used to emulate a clickpad press
  • Improved audio quality when streaming with a high bitrate from remote hosts
  • Increased mouse polling rate

Items above marked with * require Sunshine v0.21 or later and may not all be implemented across all supported Sunshine platforms yet.

Platform Support Improvements:

  • Generic Debian packages (armhf/aarch64) are now available for ARM-based single-board computers that provide standard V4L2 H.264/HEVC decoders
  • Experimental Debian Sid packages are now available for RISC-V platforms, such as the VisionFive 2 with the Wave5 V4L2 driver loaded
  • Embedded systems with poor OpenGL performance can use the new CONFIG+=glslow qmake option to prefer performing YUV->RGB and scaling in dedicated hardware rather than OpenGL on the GPU
  • Unwanted library dependencies may now be disabled at compile-time using CONFIG+=disable-<FEATURE> options (such as CONFIG+=disable-wayland, CONFIG+=disable-libvdpau, etc.)

Behavior Changes:

  • IPv6 addresses must be provided in URL-escaped form. Example: [2001:db8::1234:5678] or [2001:db8::1234:5678]:47989
  • D3D11VA is used by default on multi-GPU systems and full-screen exclusive mode when V-Sync is off
  • Default bitrate logic has been adjusted to behave better with custom resolutions and frame rates
  • Due to the update to Qt 6.5, the Windows ARM64 build has a slightly different theme than other builds

Bugfixes:

  • Reduced the frequency of audio underruns (clicks and pops) by increasing audio buffer size
  • Fixed "Quitting App" message never dismissing in some cases
  • Fixed parsing IPv6 literals with port numbers
  • Fixed unnecessary WiFi activity causing stream disruptions
  • Fixed paired hosts being forgotten if Moonlight terminates while writing hosts to disk
  • Fixed freeze when closing the stream on Windows with some software that uses DX11 hooks
  • Fixed freeze when closing the stream on macOS when streaming in fullscreen mode on Apple Silicon Macs
  • Fixed HDR with external displays on macOS Sonoma
  • Fixed washed out HDR video on the Raspberry Pi 4
  • Fixed KMSDRM renderer on devices that only have NV12 primary planes
  • Fixed incorrect colors using the KMSDRM renderer on devices that don't support the Rec.601 COLOR_ENCODING value
  • Fixed delayed PC wake when activating Wake-On-LAN feature
  • Fixed Wake-on-LAN when Sunshine is running on alternate ports
  • Fixed leak of /dev/dri fds when trying to initialize VAAPI decoder
  • Fixed support for the Applications/Menu key
  • Fixed automatic language detection for Simplified Chinese and Traditional Chinese
  • Fixed streaming from Sunshine when the client PC has multiple network interfaces or IPv6 privacy extensions enabled
  • Fixed rare random disconnections with some wireless adapters on Windows
  • Fixed small receive buffer causing video packet loss on some systems
  • Fixed theme overrides causing the UI to be unusable on some systems
  • Fixed tearing with V-Sync enabled on macOS and Linux when using the SDL renderer (software decoding and some hardware decoders)
  • Fixed stateful V4L2 hardware decoding using h264_v4l2m2m and hevc_v4l2m2m decoders
  • Fixed poor performance in AppImage builds due to lack of working EGL support
  • Fixed automatic VA driver selection with libva 2.20
  • Fixed build error with Musl C library
  • Fixed CVE-2023-42801
  • Updated included gamepad mappings
  • Updated community-contributed translations from Weblate

Dependency Updates:

  • Updated AppImage to Ubuntu 20.04 base
  • Updated AppImage to libva 2.20 for improved VAAPI driver compatibility
  • Updated Windows installer to WiX v4
  • Updated SDL2
  • Updated to OpenSSL 1.1.1w (Windows and macOS)
  • Updated to FFmpeg 6.0
  • Updated to SDL2-ttf 2.20.2
  • Updated to Qt 6.5.3 for Windows ARM64 builds
  • Updated to Qt 6.4.3 for macOS builds

Known Issues:

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

  • Hardware accelerated video decoding on Windows, Mac, and Linux
  • H.264, HEVC, and AV1 codec support (AV1 requires Sunshine and a supported host GPU)
  • YUV 4:4:4 support (Sunshine only)
  • HDR streaming support
  • 7.1 surround sound audio support
  • 10-point multitouch support (Sunshine only)
  • Gamepad support with force feedback and motion controls for up to 16 players
  • 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

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

  • Qt 6.7 SDK or later (earlier versions may work but are not officially supported)
  • Visual Studio 2022 (Community edition is fine)
  • Select MSVC option during Qt installation. MinGW is not supported.
  • 7-Zip (only if building installers for non-development PCs)
  • Graphics Tools (only if running debug builds)
    • Install "Graphics Tools" in the Optional Features page of the Windows Settings app.
    • Alternatively, run dism /online /add-capability /capabilityname:Tools.Graphics.DirectX~~~~0.0.1.0 and reboot.

macOS Build Requirements

  • Qt 6.7 SDK or later (earlier versions may work but are not officially supported)
  • Xcode 14 or later (earlier versions may work but are not officially supported)
  • create-dmg (only if building DMGs for use on non-development Macs)

Linux/Unix Build Requirements

  • Qt 6 is recommended, but Qt 5.9 or later is also supported (replace qmake6 with qmake when using Qt 5).
  • GCC or Clang
  • FFmpeg 4.0 or later
  • Install the required packages:
    • Debian/Ubuntu:
      • Base Requirements: libegl1-mesa-dev libgl1-mesa-dev libopus-dev libsdl2-dev libsdl2-ttf-dev libssl-dev libavcodec-dev libavformat-dev libswscale-dev libva-dev libvdpau-dev libxkbcommon-dev wayland-protocols libdrm-dev
      • Qt 6 (Recommended): qt6-base-dev qt6-declarative-dev libqt6svg6-dev qml6-module-qtquick-controls qml6-module-qtquick-templates qml6-module-qtquick-layouts qml6-module-qtqml-workerscript qml6-module-qtquick-window qml6-module-qtquick
      • Qt 5: qtbase5-dev qt5-qmake qtdeclarative5-dev qtquickcontrols2-5-dev qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtquick-window2 qml-module-qtquick2 qtwayland5
    • RedHat/Fedora (RPM Fusion repo required):
      • Base Requirements: openssl-devel SDL2-devel SDL2_ttf-devel ffmpeg-devel libva-devel libvdpau-devel opus-devel pulseaudio-libs-devel alsa-lib-devel libdrm-devel
      • Qt 6 (Recommended): qt6-qtsvg-devel qt6-qtdeclarative-devel
      • Qt 5: qt5-qtsvg-devel qt5-qtquickcontrols2-devel
  • Building the Vulkan renderer requires a libplacebo-dev/libplacebo-devel version of at least v7.349.0 and FFmpeg 6.1 or later.

Steam Link Build Requirements

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