v6.1.0-vrr8 - Significantly lower latency VRR streaming (beta)
Pre-releasev6.1.0-vrr8: Significantly Lower Latency VRR Streaming (Beta)
This release refactors Moonlight's VRR frame pacing. The result is significantly lower latency while keeping gameplay smooth when frame rates change or briefly dip.
Known SteamOS Issue: Moonlight May Not Launch in Gaming Mode
A current SteamOS/Gamescope regression can prevent all Moonlight client builds, including this VRR beta, from launching in Gaming Mode. Moonlight may open normally in Desktop Mode, but choosing Play in Gaming Mode briefly starts it and then returns to the Steam library. Reinstalling Moonlight or re-adding the Steam shortcut does not fix this issue. This is not caused by the VRR changes in this release. The upstream report is tracked in moonlight-stream/moonlight-qt#1930.
Temporary Workaround: Downgrade and Freeze the Flathub Build
Until the SteamOS/Gamescope issue is fixed, the known-good Flathub commit is:
fe1cf94fc2027f29b27afaa413de8d4c9afea33acf21eb2e8db018e1c0d513d7
- Hold the Power button, choose Switch to Desktop, and open Konsole.
- Downgrade Moonlight by pasting this command:
flatpak update --commit=fe1cf94fc2027f29b27afaa413de8d4c9afea33acf21eb2e8db018e1c0d513d7 com.moonlight_stream.Moonlight//stable- Prevent Discover or
flatpak updatefrom immediately installing the broken version again:
flatpak mask com.moonlight_stream.Moonlight//stable- Return to Gaming Mode and launch the stable Flathub Moonlight shortcut.
If Flatpak says the app is not installed, your copy may be installed per-user. Repeat steps 2 and 3 with these commands instead:
flatpak update --user --commit=fe1cf94fc2027f29b27afaa413de8d4c9afea33acf21eb2e8db018e1c0d513d7 com.moonlight_stream.Moonlight//stable
flatpak mask --user com.moonlight_stream.Moonlight//stableImportant: This workaround temporarily uses the older stable Flathub build, so it does not include the vrr8 changes. Leave it frozen only until SteamOS/Gamescope is fixed.
Unfreeze and Update Later
Once the upstream issue is confirmed fixed, switch to Desktop Mode, open Konsole, and run:
flatpak mask --remove com.moonlight_stream.Moonlight//stable
flatpak update com.moonlight_stream.Moonlight//stableIf you used the --user commands above, unfreeze and update with:
flatpak mask --user --remove com.moonlight_stream.Moonlight//stable
flatpak update --user com.moonlight_stream.Moonlight//stableYou can then reinstall this vrr8 Flatpak from the Downloads section below if you want to resume testing the VRR beta.
What's New
- Significantly lower latency. Moonlight now learns how much frame queue it actually needs instead of holding a large safety buffer all the time.
- Smoother FPS changes. The queue drains quickly when frame rate drops and uses the extra VRR headroom available at lower frame rates.
- Better recovery from hiccups. Short network, decoder, or GPU stalls are cleared without turning the recovery into a burst of torn or uneven frames.
- Improved near-maximum-refresh pacing. Close to the display's refresh limit, Moonlight keeps a small temporary reserve and uses tear-free latching only when the display cannot remain reliably synchronized.
- SteamOS/Linux support. The Linux build selects the Vulkan renderer automatically when VRR is enabled, while retaining the normal renderer order when VRR is disabled. It does not force Game Mode or gamescope.
Technical Summary
The pacing system was changed from mostly fixed timing rules to a closed-loop controller. It measures the real decode-to-render queue age, builds only the reserve justified by recent timing variation, and gradually removes that reserve again when the stream is stable.
Backlog recovery is based on the actual headroom between the stream frame rate and the display refresh rate. Low frame rates can recover much faster without being blasted out at the panel's maximum rate, while high frame rates use gentler recovery to avoid tearing. Alignment waits are limited by the time each frame can safely afford, and fallback decisions stay tied to the specific frame rate that demonstrated a problem.
Stable cadence tracking covers streams down to approximately 20 FPS while still treating genuine long gaps as stalls rather than learning them as a new frame rate.
Existing users: After updating, open Settings and enable Enable VRR. VRR remains off by default in this beta.
Downloads
| Platform | Download |
|---|---|
| Windows 10 / 11 | MoonlightSetup-x64-6.1.0-vrr8.msi or MoonlightPortable-x64-6.1.0-vrr8.zip |
| SteamOS / Linux x86_64 | Moonlight-VRR-6.1.0-vrr8-linux-x86_64.flatpak |
Install on SteamOS / Linux
Download Moonlight-VRR-6.1.0-vrr8-linux-x86_64.flatpak, open a terminal in its download directory, and run:
flatpak install --user ./Moonlight-VRR-6.1.0-vrr8-linux-x86_64.flatpakTo replace an earlier VRR beta installed on the user master branch, run:
flatpak install --user --reinstall ./Moonlight-VRR-6.1.0-vrr8-linux-x86_64.flatpakLaunch this build explicitly with:
flatpak run --user --branch=master com.moonlight_stream.MoonlightThe Flatpak uses the same application ID as Moonlight, so existing settings and paired hosts are retained. On Steam Deck, add the newly installed Moonlight application to Steam from Desktop Mode, then launch it from Gaming Mode for real gamescope presentation.
How to Use VRR
- Open Settings and enable Enable VRR.
- Make sure VRR (FreeSync, G-Sync, or Adaptive-Sync) is enabled for your display.
- On Steam Deck, enable VRR for the connected display in SteamOS when applicable.
Moonlight handles renderer selection and frame pacing automatically.
Beta Notice
This is a beta build. When reporting an issue, include the Moonlight session log and note whether the session was launched from Desktop Mode or Gaming Mode.