v0.3.2 — Bluetooth audio stall fix
Bluetooth audio stall fix
Fixes haptics cutting out — and, on older builds, a rapid reconnect loop —
on wireless / Bluetooth DualSense controllers.
The bridge drove the controller's audio endpoint with low-latency
event-sync WASAPI (20 ms). Bluetooth DualSense endpoints don't reliably
deliver the buffer-ready event at that cadence: the render client stops
pulling, the buffer freezes, and haptics stall. Builds carrying the old
stall watchdog reacted by reopening the audio session every few seconds
(the audio session stalled (buffer not draining) → game connect/disconnect
loop some of you saw in HapticsBridge.log).
What changed: the bridge now drives WASAPI in timer/push mode at 100 ms
latency by default, which doesn't depend on that event callback and rides
out Bluetooth transport jitter. On wired endpoints it's indistinguishable.
- New bridge flags:
--latency-ms <n>(default 100) and--event-sync
(opt back into low-latency event mode — only worth it on rock-solid wired
setups; pair with--latency-ms 20for the old behaviour). HapticsBridge.lognow records the active mode, e.g.
Output: timer-driven, 100 ms latency. A healthy session shows no
Reopening audio sessionlines.
Install: unzip over your Silksong folder (same as before), or just
replace BepInEx/plugins/SilksongPS5Haptics/HapticsBridge/HapticsBridge.exe
— the fix is entirely bridge-side.