Skip to content

Releases: dimizago/moonlight-xbox

Moonlight PyroWave v1.18.1-pyrowave.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Sep 21:03

Experimental, unofficial build of Moonlight for Xbox that can decode PyroWave, Themaister's low-latency intra-only wavelet codec, on the Xbox GPU (Direct3D 12).

PyroWave trades bandwidth for latency. Every frame is coded on its own, so encode and decode take a few milliseconds, but it needs several hundred Mbps to look good. HEVC gives better image quality at a fraction of the bitrate. Use this only if latency matters more to you than picture quality.

It needs a host running the matching Vibepollo PyroWave build on an AMD GPU. With any other host it streams HEVC/H.264 like normal Moonlight.

Requirements

Install

  1. Download the .msix and both .appx files below.
  2. On your PC, open Xbox Device Portal (https://<xbox-ip>:11443), choose Add, pick the .msix, and add Microsoft.VCLibs.x64.14.00.appx and Microsoft.UI.Xaml.2.7.appx as dependencies when asked.
  3. The app installs as Moonlight PyroWave, next to the regular Moonlight. Pair it with the host as usual.

An Xbox account must be signed in on the console for the app to launch. In Developer Mode, sign in before starting it; with no user signed in, it fails to start.

The .cer file is only needed to install the package on a Windows PC.

Using it

  • In the app's settings for your host, set Video Codecs to PyroWave. For 4K60, a bitrate around 500000 Kbps (500 Mbps) works well.
  • Log stream stats (also in host settings) writes the stats overlay once a second to LocalState\stream_stats_<time>.log. Download it with Device Portal's file explorer.

Measured (4K60, Series X, RX 7900 XT, wired gigabit)

PyroWave 500 Mbps HEVC 200 Mbps
Host encode 2.6 ms 7.0 ms
Frame arrival 11.0 ms 4.5 ms
Decode 1.8 ms —
Pipeline total (sum of medians) ≈37 ms ≈46 ms

The pipeline total adds up the stages the stats overlay measures. It is not glass-to-glass latency.

On quality, HEVC and AV1 score 3–9 dB higher PSNR than PyroWave at the same bitrate (1080p60 game clips). PyroWave at 4K60 and 500 Mbps scores about 37 dB.

Known issues

  • The first second or so of a stream drops frames.
  • Going above ~500 Mbps adds latency (≈48 ms at 750 Mbps) and pushes frames past the size FEC can protect, so a lossy link drops more frames.

Source and credits