github Nonary/moonlight-qt v6.1.0-vrr18
v6.1.0-vrr18 - PyroWave, wireless DualSense on Linux, and smoother VRR

2 days ago

v6.1.0-vrr18: PyroWave, wireless DualSense on Linux, and smoother VRR

VRR18 is the new stable release. It adds two headline features, the PyroWave low-latency codec (Windows and Linux) and wireless DualSense support on Linux, and it makes VRR pacing steadier through frame-rate changes, slow scenes, and 4K high-refresh streams.

Timing presets are unchanged from VRR17. Host capture stalls, network interruptions, and game-driven frame-rate changes can still be visible.

What's New

PyroWave (Windows and Linux)

  • New intra-coded video codec. Every frame decodes on its own on the GPU, so a lost packet never damages the frames after it and there is no reference chain to recover. It is meant for wired or very good networks where you want minimal decode latency, and it needs a matching Vibeshine host.
  • Decodes on the GPU on both platforms. Windows decodes into Direct3D 11 surfaces and Linux decodes into libplacebo Vulkan surfaces, on async compute, with no copy back to system memory.
  • Damaged frames still display. Lost packets are marked and the affected detail is blurred instead of dropping the whole frame. The host's critical packets and record-start flags are used so the coarsest image data survives.
  • Stays current under load. Frames that fall too far behind are skipped before decoding, so a startup burst or a brief stall no longer builds a long decode backlog.
  • Bitrate and hardware calibration. Settings can sweep resolutions, chroma modes, and bit depths on your GPU, and it now measures host-to-client throughput so recommended 4K and 4:4:4 bitrates fit what your network can actually carry. It warns when a chosen bitrate exceeds the route's safe budget.
  • Network health fixes. Moonlight detects and helps fix an undersized Linux receive buffer and an undersized Windows network adapter receive ring, both common causes of PyroWave loss.

Wireless DualSense on Linux

  • Bluetooth DualSense and DualSense Edge haptics on Linux. Native haptic waveforms from a matching Vibeshine host play on the controller over Bluetooth, with bounded playback and safe handling of disconnects. Other clients and controllers keep ordinary rumble.

VRR improvements

  • Steadier pacing through slowdowns and FPS changes. Extra buffer bought during a slow scene is released once the source returns to its earlier rate instead of being held for minutes.
  • More accurate startup. Each session starts at the delay the previous matching session settled at, and the one-time renderer setup cost no longer inflates the first targets.
  • Lower Linux VRR latency. The Vulkan swapchain image is now acquired only at present time. On a Steam Deck at 4K 4:4:4, present-to-flip fell from 3.9 ms to 2.0 ms at the median.
  • Fewer tearing and cadence artifacts on Windows. Presents wait for the vertical blank before tearing, tears that would land inside the previous scanout are latched, and Reduce judder covers quantized and drifting game cadence. The synchronized-flip experiment was reverted because it added latency, so per-frame tearing presents remain the default.
  • Smooth and Balanced behave better at high refresh rates. Smooth can reach its full 24 ms buffer, and Balanced no longer sits below the recent median readiness.
  • Decode no longer blocks presentation. Presentation is anchored to decode completion, completed preparation cannot starve presenting, and VAAPI frames are prepared ahead of pacing.
  • Adaptive presentation range is restored, and the buffer keeps releasing through small dips above the quality target.

Timing Presets

These are the same VRR17 presets.

VRR timing Smoothness target Maximum adaptive buffer Example at 120 FPS
Low Latency 99% over 1 minute Half the measured frame time, capped at 16 ms About 4.17 ms
Balanced Target (default) 99.5% over 2 minutes One measured frame time, capped at 16 ms About 8.33 ms
Smooth 99.99% over 5 minutes Three measured frame times, capped at 24 ms 24 ms

These are maximum buffer allowances, not delay added all the time. Every preset also respects the shared queue-capacity limit. Stable delivery can let the queue drain toward its minimum. Smooth intentionally trades more potential delay for a tighter and longer-term motion target.

The percentages are controller timing-quality targets weighted by the severity and duration of client-added spacing errors. They are not percentages of perfectly displayed frames, optical measurements, or promises of tear-free output.

Existing users: Confirm that V-Sync and VRR are enabled, select Low Latency, Balanced Target, or Smooth, and reconnect after changing the preset or Reduce judder.

Downloads

Platform File
Linux x86_64 AppImage Moonlight-6.1.0-vrr18-x86_64.AppImage
Steam Deck / Linux x86_64 Flatpak Moonlight-VRR-6.1.0-vrr18-linux-x86_64.flatpak
Windows 10 / 11 installer MoonlightSetup-6.1.0-vrr18.exe
Windows 10 / 11 portable MoonlightPortable-x64-6.1.0-vrr18.zip

Steam Deck Installation

  1. Switch to Desktop Mode.

  2. Download Moonlight-VRR-6.1.0-vrr18-linux-x86_64.flatpak from the assets below.

  3. Open Konsole and change to the download folder:

    cd ~/Downloads
  4. For a first installation, run:

    flatpak install --user ./Moonlight-VRR-6.1.0-vrr18-linux-x86_64.flatpak

    To update or replace an earlier VRR build, run:

    flatpak install --user --reinstall ./Moonlight-VRR-6.1.0-vrr18-linux-x86_64.flatpak
  5. Open Steam in Desktop Mode and add Moonlight as a non-Steam game. If an older Moonlight shortcut already exists, remove it and add Moonlight again so Steam selects the user-installed VRR18 Flatpak.

  6. Return to Gaming Mode and launch Moonlight.

No sudo, Mesa downgrade, Flatpak mask, or compatibility installer script is required.

Other Linux Distributions

Install Flatpak through your distribution if it is not already available, download the .flatpak asset, then run from the directory containing the download:

flatpak install --user ./Moonlight-VRR-6.1.0-vrr18-linux-x86_64.flatpak

To replace an existing Moonlight VRR build:

flatpak install --user --reinstall ./Moonlight-VRR-6.1.0-vrr18-linux-x86_64.flatpak

Launch it from the desktop application menu or with:

flatpak run com.moonlight_stream.Moonlight

This bundle targets 64-bit x86 Linux and uses the same Flatpak application ID as standard Moonlight. If both a system-wide and user installation exist, your desktop shortcut may need to be recreated so it opens the user installation.

Windows Installation

Installer

  1. Close Moonlight completely before installing the update.
  2. Download MoonlightSetup-6.1.0-vrr18.exe from the assets below.
  3. Run the setup EXE and follow the installer prompts. This installer includes the Visual C++ runtime and replaces stock Moonlight 6.1.0 or an earlier VRR MSI.
  4. If Windows warns that the build is from an unknown publisher, confirm that you downloaded it from this release before continuing. This build is intentionally unsigned.
  5. Launch Moonlight from the Start menu when installation finishes.

Uninstalling the previous build first is not required.

Portable ZIP

  1. Close any running copy of Moonlight.
  2. Download MoonlightPortable-x64-6.1.0-vrr18.zip from the assets below.
  3. Extract the entire ZIP to a new writable folder. Do not run Moonlight directly from inside the ZIP.
  4. Run Moonlight.exe from the extracted folder.

Keep all extracted files together. If replacing an older portable build, use a fresh folder or replace the complete extracted directory while Moonlight is closed.

AppImage Installation

Download Moonlight-6.1.0-vrr18-x86_64.AppImage, make it executable, and run it:

chmod +x Moonlight-6.1.0-vrr18-x86_64.AppImage
./Moonlight-6.1.0-vrr18-x86_64.AppImage

How to Use VRR

  1. Enable V-Sync in Moonlight.
  2. Enable VRR.
  3. Make sure FreeSync, G-Sync, or Adaptive-Sync is enabled for the display.
  4. In Moonlight's frame-rate setting, choose one of the entries marked VRR.
  5. Choose Low Latency, Balanced Target, or Smooth under VRR timing. Start with Balanced Target, then adjust to your preference.
  6. Select a stream frame rate the host can sustain within the display's VRR range. Full-refresh and lower-rate VRR options are both available.
  7. Optionally enable Reduce judder, and reconnect after changing either timing setting.

SHA-256 Checksums

5b5992eb0d9d6528ca6db83c33da3bf6cbecea0f5a8f7b9b34dcd5d22d13f40c  Moonlight-6.1.0-vrr18-x86_64.AppImage
900bf4e71bd8e4ff0fc7a01cd7ec08f073adc5da03a28d5968356b5dc72c795b  MoonlightPortable-x64-6.1.0-vrr18.zip
a1d8f95220465e8995cfb6bf09d89ae42ed84fe8a372b78435e3dfd107e0d901  MoonlightSetup-6.1.0-vrr18.exe
9425ec75e0b022ef963e1ec02bf3b012b7acfbd99206ef2f36138cd437103293  Moonlight-VRR-6.1.0-vrr18-linux-x86_64.flatpak

Notes

Host or game stalls, network interruptions, decoding delays, GPU contention, and compositor behavior can still cause visible stutter. When reporting a regression, include:

  • the Moonlight session log;
  • operating system and GPU;
  • display model and refresh rate;
  • selected stream resolution and FPS;
  • selected VRR timing preset;
  • whether VRR, HDR, hardware decoding, and Reduce judder were enabled; and
  • for Steam Deck, whether the issue occurred in Desktop Mode or Gaming Mode.

Don't miss a new moonlight-qt release

NewReleases is sending notifications on new releases.