2.0.0-rc.1 - 2026-05-13
Pre-releaseNeon v2.0.0-rc.1 — Rust rewrite
Release candidate. Please file issues if you hit anything on the v1→v2 migration path before this promotes to v2.0.0.
What changed
v2 is a complete rewrite. The bash scripts (install.sh, fix-drm.sh, download-widevine.sh) and the Go/Swift tray apps are replaced by a single Rust binary (neon) with a structured CLI and a system tray daemon.
cargo install neon
# or grab a release artifact for your platform
neon setup # non-interactive install
# or: neon init # interactive wizard
Breaking changes
- CLI surface:
bash install.sh→neon setup.bash fix-drm.sh→neon patch.neon-tray→neon(daemon mode auto-started by the user systemd unit). - Install layout:
/usr/lib/neon/is no longer used by the new binary — it lives wherevercargo installor your package manager places it (typically~/.cargo/binor/usr/bin). - Daemon: replaces v1's system-wide
neon-fix-drm.{path,service}units with a per-user~/.config/systemd/user/neon.servicethat also serves the tray. - Tray: speaks SNI directly over D-Bus via
ksni(Linux). Nolibayatana-appindicator3runtime dep. Native support on KDE Plasma, sway/Hyprland + waybar, Quickshell-based shells (noctalia, Caelestia), Cinnamon. Vanilla GNOME still needs the AppIndicator extension.
v1 → v2 migration
neon setup automatically detects a legacy v1 install and surfaces the correct uninstall command for your distro:
- Arch (AUR):
pacman -R neon-drm(orparu -R neon-drm/yay -R neon-drm). - Debian / Ubuntu:
dpkg -r neon-drm(orapt remove neon-drm). - Fedora / RHEL:
rpm -e neon-drm(ordnf remove neon-drm).
Run the suggested command, then re-run neon doctor — the legacy warning should clear.
Raw bash install (install.sh)? neon setup cleans it up automatically.
V3 streaming bridge (experimental, opt-in)
A new neon stream subcommand provisions a Windows IoT LTSC VM with GPU + TPM passthrough and streams the desktop back via Looking Glass for premium 4K HDR playback. Default builds don't include any V3 code; enable with:
cargo install neon --features experimental-bridge
Limitations: dual-GPU required (the passthrough GPU is unavailable to the host while V3 runs); HDR is tone-mapped to SDR for the Looking Glass copy. See ROADMAP.md.
Supported platforms
- Linux: tested on Arch (CachyOS). Debian and Fedora users — your feedback on the migration path is especially welcome; please open an issue if
neon setupdoesn't cleanly handle your v1 install. - macOS: build + smoke-tested. The v1
xattrquirk that surfaced in #1 is moot under the new binary path.
Rolling back to v1
If v2 misbehaves and you need to fall back:
neon uninstall— removes the v2 daemon + config; leaves browsers patched.- Re-install v1 via your package manager (
paru -S neon-drm,apt install neon-drm, etc.) or runbash install.shfrom the v1.0.0 source tarball. - Open an issue with the
neon doctoroutput (from before uninstalling, ideally) so we can fix the rc.
Credits
- @bfayers (#1) — caught the Mozilla widevine URL rotation +
xattr -rregression in the v1 bash scripts.
Full machine-readable changelog: CHANGELOG.md.