Skip to content

v0.1.103-preview

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Jul 16:29
· 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.

Full changelog

Compare v0.1.102-preview...v0.1.103-preview