github RamazanKara/nightjar v4.11.0
Nightjar 4.11.0

one hour ago

Nightjar 4.11.0 is mostly for Linux. Full chroma pictures stay on the GPU, a VRR stream no longer stutters on a display that isn't running VRR, pictures with V-Sync off go out without waiting in the compositor's queue, and a stream says which piece of hardware decoding is missing. On foldables like the Galaxy Z Fold7, Ready the decoder for folding now covers both screens. Everything works with Rubylight and other Moonlight hosts; with Full chroma at high bitrates, Rubylight 3.11.2 runs a Radeon encoder at its own ceiling instead of refusing the stream.

Highlights

  • Full chroma stays on the GPU on Linux. VA-API and Vulkan Video pictures, twice the stream's height, are now mapped into Vulkan and rebuilt there, instead of being copied through memory, which left the decoder 80 ms behind at 4K100 (#80). Full chroma now works with Vulkan Video too.
  • No VRR stutter on a fixed-refresh display. A stream with Variable refresh rate on, on a Linux display that isn't running VRR, now waits for each refresh, as it already did on Windows.
  • Linux presents at once. With V-Sync off, pictures go to the display at once instead of waiting in the compositor's queue.
  • Linux says what decoding is missing. Nightjar picks the decoder for your GPU and driver, and the stream's start says what to install when hardware decoding is missing a piece.

Android

  • Ready the decoder for folding (Settings, Debug) now works on foldables whose cover and inner screens are separate displays, like the Galaxy Z Fold7, on Android 16 QPR2 and newer: folding or unfolding no longer restarts the decoder.

Linux

  • Full chroma: when a device can't map its pictures into Vulkan, the log says so, and if decoding then falls behind the frame rate, the stream says so while it plays and in the report after it, and suggests turning Full chroma off or lowering the resolution or frame rate.
  • Full chroma is offered only for the codecs whose decoder opens its packed picture, twice the stream's height (3840x4320 for 4K). When none does, the stream starts in 4:2:0 and says so.
  • Variable refresh rate: Nightjar asks the graphics driver whether the display runs VRR (VRR or FreeSync can be off in GNOME, KDE or the monitor). Where VRR runs (KDE adaptive sync, GNOME VRR), pictures still go out at once. The statistics overlay says "V-Sync: this display does not refresh on present" when Nightjar waits.
  • A Variable refresh rate stream on Wayland stays tear-free while the display actually runs VRR, and tears like any other stream with V-Sync off on a display that does not. The log names the presentation mode the display uses.
  • On NVIDIA with nvidia-vaapi-driver installed, Nightjar now decodes with Vulkan video, then NVDEC, instead of going through the VA-API wrapper (NIGHTJAR_FORCE_VAAPI=1 brings the wrapper back). The log names the VA driver and the profiles it decodes, the Vulkan device and driver, the decoder order and why, and each video format with the decoder that handles it.
  • The stream's start says what to install for Fedora's Mesa without H.264 and HEVC (mesa-va-drivers-freeworld or the Flatpak), a Flatpak without the NVIDIA driver extension for your driver, an NVIDIA driver without Vulkan video, or Intel's legacy i965 VA driver. The log names the system, the path each picture takes to the screen and the present mode, and the time each decoder stage takes over the stream.
  • The Flatpak ignores a host's LIBVA_DRIVER_NAME and LIBVA_DRIVERS_PATH, which could leave it without a VA driver.
  • Nightjar asks AMD's Mesa drivers for their low-latency video decode mode (lowlatencydec), keeping your own AMD_DEBUG and RADV_PERFTEST flags. Programs Nightjar starts get your original values.
  • On Wayland, the log now records when each picture reached the screen and ends each stream with a summary, and the timing CSV gains the matching columns.
  • Vulkan Video, PyroWave and 10-bit or full-chroma software-decoded pictures are converted and scaled straight into the window in one pass when no upscaler runs, saving a full-size copy per picture.

Tested. On a Galaxy Z Fold7 (Android 17, HEVC 2184x1968 at 120 fps), four folds and unfolds in 60 s restarted the decoder once per run with Ready the decoder for folding off and never with it on; it stays off by default because folding got no faster and a still stream measured 0.2 ms higher at p95. The Linux changes passed the desktop client's unit tests (over 1610) and clippy; they have not run on Linux GPU hardware yet. The Windows build scanned clean with Microsoft Defender before and after its first launch, which opened the main window.

Don't miss a new nightjar release

NewReleases is sending notifications on new releases.