github RamazanKara/nightjar v0.7.17
Nightjar 0.7.17

3 hours ago

Nightjar

This release adds Nightjar's new streaming engine, written in Rust, as a beta.

  • New streaming engine (beta) (Settings → Advanced → Diagnostics, off by default). The engine replaces the C streaming core Nightjar inherited from Moonlight (moonlight-common-c) with one Rust implementation that the upcoming Windows and Linux clients share. It covers H.264, HEVC and AV1 including 10-bit, 4:4:4 and HDR; Opus audio; every input type; rumble, trigger rumble, lights, motion and controller haptics; the microphone; and Rubylight's extras (host timing, clock sync, phase lock, display caps, mid-stream resize, cursor shapes). Streams it does not handle yet keep using the current engine automatically: PyroWave, remote monitor sessions and hosts older than GameStream 3.22. With the engine on, "Prioritize stream traffic" has no effect yet.
  • How it was checked. The engine's video, audio and error-correction code is compared packet by packet against the C it replaces, including loss, reordering, duplicates and wraparound. Its control, input, pairing and stream setup are tested against the Rubylight host's own code. A headless client built on it streamed H.264, HEVC and AV1 from a real Rubylight host with every frame decoded.

The release APKs support arm64-v8a, armeabi-v7a, x86 and x86_64. Install nightjar-0.7.17.apk over your current installation to keep settings and paired PCs. nightjar-0.7.17-root.apk is the legacy rooted build for Android 5.0–7.1. The AAB and SHA-256 checksums are also included.

Changes since 0.7.16

Validation passed:

  • Android unit tests for both variants, release lint, the release build, and the native test suite with sanitizers.
  • The engine's Rust tests: differential tests against the C, interop tests against the Rubylight host's code, and end-to-end streams against a real Rubylight host.
  • In an Android 15 emulator, a debug build with the new engine streamed H.264 and HEVC desktops from an isolated Rubylight host at 59.5–60 FPS with no loss, and the current engine streamed the same at 60 FPS. The signed 0.7.17 APK updated 0.7.16, kept the signing identity, and launched without runtime errors.

Not tested: the new engine on a physical device, over a lossy network, with HDR or with the microphone. Whether input reached the host from the emulator could not be confirmed with either engine.

Don't miss a new nightjar release

NewReleases is sending notifications on new releases.