What's new
Highlights
- Real VRR, on by default with Variable refresh rate. Each picture is shown at the time the game drew it, so a G-Sync, FreeSync or adaptive-refresh screen refreshes in step with the game, not the network.
- Play together from your own devices. Join a game another of your devices plays and become its guest, with your own controller.
- Play over the internet without port forwarding, with a PC that offers it.
- Touchpad gestures on the PC. A keyboard cover's, laptop's or Mac's touchpad sends its fingers to the PC, so the PC's own two-finger scroll and swipes work.
- Switch 2 Pro Controller arrives on a Rubylight PC as one, with motion, rumble and battery.
- Linux without a desktop. Nightjar draws straight to the display from a text console.
- Settings say what a change costs, in every language.
Streaming
- Show frames at the PC's frame times is now called Real VRR and is on by default with Variable refresh rate, on Android and the desktop, also in settings saved before. On a clean link it shows each picture a little over 1 ms after it arrives. Turn it off for the lowest latency.
- Real VRR no longer holds every picture back on a busy Wi-Fi link: a picture more than 2 ms later than the typical one is shown as soon as it is ready. Over Wi-Fi it now adds 2.6 to 4.2 ms instead of 8 to 10 ms.
- With a Rubylight PC that has Adapt to network congestion turned on (off by default on the PC), Nightjar reports when each video packet arrives, and the PC lowers the bitrate while the network backs up. It applies when you choose the bitrate yourself.
- Sharper colored text is now Off or On. The choice that turns it on was called Automatic, which read as if it were already on. It stays Off by default; with Rubylight 4.2.0 it no longer needs a second switch on the PC.
- A PC's own settings can turn RTX HDR and RTX Video on or off for this device's streams, on a PC that offers them.
- With Rubylight 4.2.0 the overlay can show the PC's CPU and GPU readings without turning anything on at the PC.
Play together
- On a PC with guests turned on (When another device joins the running game, in the host's Play together settings, off by default), Join on a game another device plays asks that device to let you in. A guest gets its own controller by default, the keyboard and mouse only if the player grants them, and nothing but the picture and sound when made view only.
- The device playing sees a notice with Let in and Deny, and Guests in the stream menu's More page changes what each guest may do, hands over the keyboard and mouse, and kicks or blocks a guest.
Play over the internet
- New setting Play over the internet (Settings → Streaming → Connection, on by default): away from home, Nightjar reaches a PC without port forwarding when that PC has Play over the internet turned on (it is off by default on the PC). It tries your network first, then the PC's IPv6 address, then a forwarded port, then a direct path through both routers. Connect once on the PC's network first.
- The PC's line names the internet path in use; when none works, it says which paths were tried and why each failed.
Controllers and input
- A Switch 2 Pro Controller arrives on a Rubylight PC with usbip-win2 as a Switch 2 Pro Controller, with motion, rumble and battery, and the Switch 2 controllers' C button reaches the PC as the C button, on a host that supports it.
- Touchpad gestures on the PC works on Windows, on Linux (the touchpad's evdev device; your user needs the input group) and on macOS (the trackpad).
Linux
- Nightjar runs without a desktop session. Settings › Advanced › Display output (Automatic, Desktop, Straight to the display): Automatic draws straight to the display through DRM/KMS when there is no Wayland or X11 session, such as on a text console, with input from evdev, and the whole app and command-line starts work there.
--kmsor--no-kmschoose for one start. - Drawing straight to the display, a stream's pictures go onto a display plane without a copy, with HDR10, variable refresh rate, content type Game and tearing flips with V-Sync off; the overlay and stream menu go on a plane above. Upscaling, Frame Warp and other features that need the GPU renderer turn off for a stream, with a notice, when that renderer cannot be made there.
Settings
- Settings now say what a change gives you, what it costs (delay, picture quality, data, battery or heat) and when to change it, in every language. No setting or default changed.
Fixes
- The stats show YUV 4:4:4 (packed) when full chroma is packed, instead of YUV 4:2:0.
- Opening the stream menu no longer flashes a translucent box in the top-left corner on Android 14 and later (#108).
Tested. Real VRR's bound was replayed over two-machine Wi-Fi recordings: the time a picture was held fell from 4.3 to 6.9 ms at the median and 9.7 to 13.7 ms at p95 to 2.0 and 3.7 ms; on a clean link the bound never applies, and Real VRR cost 1.3 to 1.4 ms on the desktop. Play together ran with a Retroid Pocket 6 as the player and a Windows laptop, a Linux PC and stock Moonlight as guests: ask, let in, deny, no answer, view only, controller, kick and block. Nightjar's builds and test suites pass in CI on the release commit.