Fixes
- Controller input lag — the haptics DSP's 48kHz→3kHz conversion ran through
WDL_Resampler's polyphase filter on everyaudio_loop()call on core0. Under sustained real audio (e.g. the PC-side auto-haptics PipeWire loopback actually playing game sound), this delayed how often the main loop servicedcyw43_arch_poll(), felt as Bluetooth controller input lag. Replaced with a fixed 1-in-16 decimation for this stage — the haptics channel is felt, not heard, so resampler interpolation quality wasn't buying anything. Stays single-core, no architecture change. ds5-haptics-loopback.servicehardening: self-heals when the DualSense audio card drops to theoffprofile, drives the actual haptic actuators (AUX2/AUX3) instead of the pad's headphone jack, and only captures the game/output channels the user actually wants (everything except ASM's Chat and Media channels, with a default-sink fallback when ASM isn't installed).
Notes
- If you use the PC-side auto-haptics loopback,
auto_haptics_enablemust be set to0(Off / pass-through) in the device config — Mix/Replace modes derive their signal from the pad's own speaker channels, not from what the loopback service feeds into the actuator channels.