fix(gui): DualSense haptics, gyro, and Bluetooth reliability fixes #805

Open
Corzcode wants to merge 1 commit from Corzcode/pr/upstream/dualsense into main
Corzcode commented 2026-08-26 22:20:29 -05:00 (Migrated from github.com)

Restore native DualSense gyro/accel accuracy to v1.8.0 via a configurable ds5_gyro_fix path: write raw accel/gyro to controller state, feed Madgwick with paired latest values, skip accel_zero de-bias and fuzz smoothing. Add fuzz_enabled flag to ChiakiOrientationTracker/chiaki_orientation_update; non-DualSense paths unchanged.

Haptics anti-latency: add toggle (default on) and a configurable 20-100ms threshold that clears the stale SDL haptic queue when the backlog exceeds it, so current vibration plays immediately instead of behind network-jitter backlog.

Auto-reopen the wired DualSense haptics audio device when it failed to open at start or was lost on a USB/BT hot-swap; add Controller::IsWired() from the SDL power level to limit retries to wired controllers.

Bluetooth: soften the rumble fallback event decay and suppress the persistent false rumble on flat road in GT7.

Restore native DualSense gyro/accel accuracy to v1.8.0 via a configurable ds5_gyro_fix path: write raw accel/gyro to controller state, feed Madgwick with paired latest values, skip accel_zero de-bias and fuzz smoothing. Add fuzz_enabled flag to ChiakiOrientationTracker/chiaki_orientation_update; non-DualSense paths unchanged. Haptics anti-latency: add toggle (default on) and a configurable 20-100ms threshold that clears the stale SDL haptic queue when the backlog exceeds it, so current vibration plays immediately instead of behind network-jitter backlog. Auto-reopen the wired DualSense haptics audio device when it failed to open at start or was lost on a USB/BT hot-swap; add Controller::IsWired() from the SDL power level to limit retries to wired controllers. Bluetooth: soften the rumble fallback event decay and suppress the persistent false rumble on flat road in GT7.
This pull request is broken due to missing fork information.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin 'Corzcode/pr/upstream/dualsense:Corzcode/pr/upstream/dualsense'
git switch 'Corzcode/pr/upstream/dualsense'

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch 'main'
git merge --no-ff 'Corzcode/pr/upstream/dualsense'
git switch 'Corzcode/pr/upstream/dualsense'
git rebase 'main'
git switch 'main'
git merge --ff-only 'Corzcode/pr/upstream/dualsense'
git switch 'Corzcode/pr/upstream/dualsense'
git rebase 'main'
git switch 'main'
git merge --no-ff 'Corzcode/pr/upstream/dualsense'
git switch 'main'
git merge --squash 'Corzcode/pr/upstream/dualsense'
git switch 'main'
git merge --ff-only 'Corzcode/pr/upstream/dualsense'
git switch 'main'
git merge 'Corzcode/pr/upstream/dualsense'
git push origin 'main'
Sign in to join this conversation.
No description provided.