MoonlightWeb v0.4.0 — racing wheels with force feedback, a younger picture, PyroWave on wired LAN
The release that hands your racing wheel, flight stick or RC radio to the game as itself, and takes milliseconds out of the way between the PC and your eyes, with PyroWave, a new codec for a device on Ethernet that sends every frame whole. On the same machines as v0.3.1 (a Windows host on an RTX 5060 Ti, a Windows client on Ethernet), what you see is 2 to 5 ms younger at 120 fps, and a click shows 8 ms sooner at that rate. MoonlightWeb streams your gaming PC to any device with a browser — you install one app on the gaming PC, which captures and encodes that machine itself; every other device just opens a URL.
Wheels, flight sticks and RC radios
- Sent to the game as themselves — from Chrome or Edge on a computer, switch As itself on the device's row in Settings → Controllers, or accept the offer when a stream starts. The game sees the real device: every axis, clutch included, and every channel of an RC radio.
- Force feedback on Windows and Linux hosts — tested with a Logitech G923 in Assetto Corsa Competizione; wheels that speak USB PID (Moza, Simucube, Fanatec…) are supported but not tried yet. On Windows the installer sets up a signed driver: no test mode, Secure Boot stays on.
- Known for what they are — EdgeTX and OpenTX radios, flight sticks and wheels are recognized on plug-in and drawn as themselves in Test and Remap; in any browser they still play as an Xbox pad.
- For invited players too — tick Wheel / Radio on their sharing row.
A younger picture, sooner clicks
- What you see is younger — 2 to 5 ms younger on average at 120 fps, and the slowest frames 6 to 13 ms younger at 60 and 120 fps. On Windows the virtual display now runs faster than your screen, at a whole multiple of its rate, so what the PC draws reaches the stream sooner.
- A click shows sooner — 3 ms sooner over all clicks, 8 ms at 120 fps, 6 ms in AV1. At 60 fps, the frames right after a key, a click or a pad button now leave at once: 5.8 ms sooner in median on a client that tears (Chrome or Edge on Windows with Allow tearing, their default). A screen that paints on vsync keeps the stream's own rhythm and gains nothing there.
- A steadier rhythm — at 120 fps a v0.3.1 host sometimes delivered 100 to 116 frames a second; v0.4.0 holds 120. On a vsync screen (Mac, iPhone, iPad, TV, Firefox), the small hitches that came back every two minutes are gone.
- Faster than your screen when it pays — with FPS on Auto, a Windows host steps the stream up to 240 when the game moves faster than your screen refreshes and your device keeps up, and only while the picture gets younger.
Network and sound
- Ahead of the house's downloads on Wi-Fi — the stream rides the Wi-Fi's video queue: with a download running on the same access point, clicks came back 32 to 40 ms sooner. Untick Give the stream priority on the network in the admin page if your other devices struggle.
- Less waiting on Wi-Fi — the host no longer holds frames back between two acknowledgements: about 8 ms less from a click to its picture on a Mac on Wi-Fi.
- Sound sooner, and no crackle — the browser keeps only the buffer the link needs instead of a fixed 60 ms (15 to 35 ms earlier on a Mac on Wi-Fi), and a Windows host no longer puts silence in place of sound that came a little late.
- A remote stream outlives its line — when the line to the introduction server drops, the stream carries on and the line is dialled again behind it.
TVs, phones and Sunshine
- The TV remote gets around — on an Android TV box with TV Bro, the arrows move between the cards, OK launches, holding OK opens the stream's menu, and the remote can be the PC's mouse. Auto streams 720p at most on a TV, and every frame is shown.
- Start streams in fullscreen — a new switch in Settings, off by default.
- Stop leaves the game running on Sunshine and Apollo, as in Moonlight: the card shows Running, click it to resume or Quit to close the game.
Linux, Intel and PyroWave
- Vulkan Video on AMD under Linux — HEVC and AV1 end to end: a desktop that barely moves takes under 1 Mbit/s.
- Steam in a screen of its own — with gamescope 3.16.22 or later, a Steam Big Picture card opens Steam at the size of your device without touching the desktop; the apps in Admin → Apps on this PC open there too.
- A virtual display on GNOME and KDE Plasma 6 — made for each stream, with no dialog to click.
- Intel GPUs take a D3D12 chain — on an Arc A380 under a game, the host's time per frame falls by half.
- PyroWave (Wired LAN only) — a new codec for a device on Ethernet streaming a Windows host: every frame travels whole, about 130 Mbit/s at 120 fps, decoded on the browser's GPU.
Admin and updates
- Your apps get a card, on every OS — Admin → Apps on this PC gives any program or link a card on the host, with a name, a command and an image. If Steam is installed, a Steam Big Picture card is there after installing or updating, like Sunshine's; Playnite's full-screen mode too on Windows. On Windows and macOS the app opens on the virtual display at the size of your device, and Big Picture closes with it when the stream ends.
- Updates without a password on macOS and Linux — a Linux package updates from its signed repository, a Mac app bundle in place, with no prompt on the host.
- Remote admin from the internet, when you ask — a second box lets the admin password work through your entry link; it stays LAN-only by default.
- Booth mode —
--noadminstreams the hosts already set up and changes nothing, for a machine left to visitors.
Under the hood
- Safer elevated helpers — the parts of MoonlightWeb that run with administrator rights only start a verified installer, and no longer pick up code from the user's own folders.
- Download logs in Admin → Advanced, with what is secret or personal taken out, and a debug mode for a support case.
- Pages load over a handful of connections instead of one per file, which ended blank pages on a shaky Wi-Fi.
- The website speaks French, German and Chinese, with pages for iPhone and iPad, Chromebooks, TVs and controllers.
Downloads
Install on the gaming PC only. The quickest route on macOS and Linux is the one-liner curl -fsSL https://moonlightweb.top/install.sh | bash — it also sets up the repository, so updates come with the system:
| Platform | Asset |
|---|---|
| Windows x64 | MoonlightWeb-installer-0.4.0-win-x64.exe
|
| Windows ARM64 | MoonlightWeb-installer-0.4.0-win-arm64.exe
|
| macOS (Apple Silicon) | moonlightweb-0.4.0-macos-arm64.pkg
|
| Linux (Debian/Ubuntu/Mint) | moonlightweb-0.4.0-linux-x64.deb
|
| Linux (Fedora/RHEL/openSUSE) | moonlightweb-0.4.0-linux-x64.rpm
|
| Linux (portable) | moonlightweb-0.4.0-x86_64.AppImage
|
Prefer a container? docker pull ghcr.io/linckosz/moonlight-web:0.4.0 (host networking). Playing from a phone, tablet or TV? Nothing to download — just open your server's URL in the browser.
Requirements
- A gaming PC running Windows, Linux or macOS — it streams itself; Sunshine is optional, and only if you want to pair a different machine.
- A modern browser on the client device (Chrome/Edge recommended for full codec, HDR and WebGPU support; Chrome or Edge on a computer to send a wheel or radio as itself).
- On Linux, a distribution no older than Ubuntu 22.04, Debian 12 or Fedora 36 — Qt and OpenSSL are bundled, the system C runtime never can be.
💬 Questions, or something not working? Join the Discord — help, and where new releases are announced.