v0.1.103-preview
Pre-release
Pre-release
·
72 commits
to main
since this release
This preview focuses on lower latency, stronger UDP stream reliability,
reduced runtime overhead, and a more consistent Studio experience.
Highlights
Faster, more resilient input streaming
- Reduced packet encoding, decoding, and HID report copying.
- Improved fairness between joystick, keyboard, and mouse input sources.
- Added time-budgeted UDP burst processing to prevent prolonged receive-loop
stalls. - Preserved button and hat transitions while coalescing replaceable joystick
axis states. - Added bounded Host and Client queues to prevent latency from growing
indefinitely. - Tuned the default 5 ms input pacing for balanced latency and stability.
- Increased the default Client UDP receive buffer to 1 MiB and exposed
kernel-drop diagnostics.
More reliable rumble, force feedback, and device output
- Added redundant downstream HID delivery without applying commands twice.
- Added session, sequence, duplicate, stale-packet, and ordering validation.
- Added retries for temporary physical-device write backpressure.
- Reduced idle polling and packet-processing overhead.
- Improved Studio health counters for downstream delivery and write failures.
Speaker relay improvements
- Reduced ALSA playback buffering and startup latency.
- Added configurable Speaker buffering presets in Studio.
- Bounded capture, playback, and UDP processing queues.
- Reduced audio frame copying and telemetry overhead.
- Improved Opus FEC recovery latency.
- Limited audio datagrams to MTU-safe sizes to avoid IP fragmentation.
Microphone relay improvements
- Added ordered packet-loss recovery and Opus FEC support.
- Bounded decoded microphone audio to prevent permanently delayed playback.
- Improved handling of stalled USB microphone consumers.
- Reduced receive-loop, decoding, and telemetry overhead.
- Consolidated shared speaker and microphone packet framing.
Studio improvements
- Harmonized Apply behavior across Client and Host management pages.
- Apply buttons now clearly indicate pending changes and only apply the
settings owned by the current page. - Audio Relay changes no longer overwrite unrelated profile settings.
- Fixed USB-lane validation when enabling or disabling audio relay streams.
- Added a persistent Audio Relay Apply footer.
- Improved action colors, refresh controls, destructive-button hover states,
and service restart iconography. - Stabilized Studio builds launched from WSL paths by isolating Windows build
outputs and automatically recovering damaged build caches.
Runtime and diagnostics
- Reduced hot-path telemetry work while retaining health visibility.
- Reused packet buffers, polling descriptors, and destination addresses.
- Added clearer queue, backpressure, packet-loss, socket-drop, and downstream
write diagnostics. - Compact Bluetooth HID handoff now uses a five-byte binary header.
- Expanded Host, Client, protocol, common, and Studio test coverage.
Upgrade notes
Studio, Host, and Client should be updated together because this release
includes transport and packet-handling changes, particularly for downstream
HID and Bluetooth HID delivery.
The Client now requests a 1 MiB UDP receive buffer by default. It can be
adjusted with GHOSTINPUT_CLIENT_UDP_RECEIVE_BUFFER_BYTES if required.