Skip to content

v0.1.108-preview

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Jul 18:35
· 19 commits to main since this release

This preview improves Host-to-Client input pacing, makes discovery resilient to
live network-interface changes, and fixes Audio Relay replay when a Host uses
more than one network interface.

Highlights

Input pacing and diagnostics

  • Host joystick, keyboard, and mouse reports now share one Input send
    interval
    . Fresh configurations use a conservative 10 ms default, while
    lower intervals remain available for networks and devices that can sustain
    them reliably.
  • Studio's Host-to-Client pacing recommendation now uses a dedicated native
    Client receiver that exercises the production UDP drain, session validation,
    InputReportBatch decoder, and in-memory state-application path.
  • The recommendation starts at 4 ms and screens progressively higher intervals.
    Each stable short trial is confirmed at the same interval for 60 seconds; a
    failed confirmation advances to the next candidate instead of allowing the
    normal 10 ms default to influence the result.
  • Stability checks now include packet loss and burst size, ordering, kernel
    drops, Client drain saturation, arrival timing, sender timing, and pacing
    overruns. Studio shows these measurements with each trial so the recommended
    interval can be understood and reproduced.
  • Host pacing lateness telemetry now measures pending work from the point at
    which it becomes eligible to send, avoiding misleading lateness caused by
    reports that arrived after an earlier pacing boundary.

Network-interface recovery

  • Host and Client discovery responders now join the GhostInput multicast group
    on every active IPv4 interface and refresh their memberships while running.
    Adding Ethernet or disabling Wi-Fi no longer strands discovery on the
    interface that happened to be active when the service started.
  • Multicast membership follows interfaces as they appear and disappear, so
    Studio can rediscover a wired Host without requiring a reboot or service
    restart.
  • Audio Relay selective replay now supports multihomed Hosts. Replay requests
    remain authenticated by their negotiated UDP port and active audio session
    even when Linux routes the Host's response through a different local address.
    This keeps deadline-aware retransmission working after moving a Host from
    Wi-Fi to Ethernet.

Network guidance and test tools

  • Added focused HID UDP sender and receiver tools for measuring pacing, packet
    gaps, ordering, and arrival intervals independently of the GhostInput
    services and USB gadget output.
  • Expanded hardware and troubleshooting guidance for the Pi Zero 2 W's 2.4 GHz
    Wi-Fi. A 100% signal reading does not measure interference, airtime
    congestion, retransmissions, packet loss, or short latency spikes.
  • The documentation now recommends Ethernet for the Host where possible and a
    capable modern 2.4 GHz router or access point for the Client. A separate wired
    access point and a clean 20 MHz channel can materially improve realtime HID
    and audio delivery.

Upgrade notes

Update Studio and its bundled Host and Client payloads together. The improved
pacing recommendation requires the current Client benchmark receiver, and the
network-interface fixes are part of the updated native services.

Reprovisioning is not required. Use the normal Update action for each Pi.
Existing routes, Bluetooth bonds, Audio Relay settings, and other device
configuration are preserved.

The 10 ms input interval is the conservative default for fresh configurations;
it is not a floor imposed by the pacing recommendation. Run Studio's pacing
test on the actual Host-to-Client path before selecting a lower value. Wired
Host configurations and clean wireless Client links may sustain substantially
lower intervals.

GhostInput control APIs use HTTP and realtime traffic uses UDP without
encryption. Run GhostInput on a private network you trust and do not expose its
ports directly to the internet.

Full changelog

Compare v0.1.107-preview...v0.1.108-preview