Skip to content

DualSense native-command pressure test

Released fix and current status

The fix for issue #47 was released in DS4Windows 5.0.34 with VIIPER 0.1.12. Maintainer testing confirmed normal feedback in DEATHLOOP and GTA V Enhanced over USB and Bluetooth. On 2026-10-19, the original reporter also confirmed the fix over both connections.

The candidate-build instructions and pre-release observations below are retained as investigation history. For current troubleshooting, use the latest release and the troubleshooting guide.

Investigation background

The reporter's 5.0.33 logs show physical-command queue waits up to about 277 ms over Bluetooth and 252 ms over USB. Disabling optional speaker streaming did not resolve their symptoms. The summaries cannot establish that the queued reports are byte-identical, and their maxima do not timestamp every symptom.

Historical candidate test

  1. Close the game and DS4Windows. Extract the complete candidate portable ZIP into a separate folder and run its DS4Windows.exe. Check that the first log line says 5.0.33-issue47-paired2 so you test the correct build. Confirm the log also says VIIPER: supported version 0.1.11-issue47-cadence1 and selected executable verified. Allow the bundled backend update if prompted; an old VIIPER process is not the paired candidate. Keep your normal app folder and profiles as a backup. If the candidate starts with fresh settings, import a copy of the profile used for the previous test.
  2. Keep Emulated Controller: DualSense, game feedback enabled, Audio Haptics off and Trigger Lab off. For the first comparison, leave Stream audio to controller off, matching the reporter's latest test. Enable Log > Verbose logging, then restart this candidate.
  3. Connect by USB and play GTA V Enhanced for 1-2 minutes. Drive, accelerate, brake and drift, then release the controls. Check that vibration follows the action and stops promptly, and that adaptive trigger effects still work. Note the approximate time if feedback sticks, skips or feels delayed.
  4. Use Log > Copy Text and save the whole log labelled candidate USB. Close the game, reconnect by Bluetooth, and repeat with the same profile and game settings. Save that full log labelled candidate Bluetooth.
  5. If you normally use controller speaker/headset audio, enable streaming again and repeat briefly to check sound, rumble and triggers together. Turn verbose logging off when finished.

Compare the same driving sequence with released 5.0.33 if possible. If neither build reproduces the problem, report that as a compatibility check. The DualSense Tester webpage can check basic rumble and triggers, but GTA V Enhanced is needed to check the reported command-load problem. This candidate updates the VIIPER executable; USB/IP and other driver versions are unchanged. VIIPER is shared across app copies. To return to the released build, close the candidate and let the released app restore its matching backend.

If you do not own GTA V Enhanced, use the familiar DEATHLOOP intro and the profile editor's Test Heavy and Test Light on both connections as a quick regression check. That checks existing feedback still works; Jobima1st's GTA comparison is still needed to assess their reported delay under load.

What this candidate changes

The earlier reduction only shared identical unclaimed reports in VIIPER's small dispatch queue. This candidate also shares identical state updates still waiting behind the physical-output head, and recognizes documented haptic and trigger power-reduction settings alongside compatible/improved rumble, known trigger state and LEDs on both USB and Bluetooth.

The first occurrence keeps its receipt and original queue timestamp. Already claimed or retrying heads, different prepared profile/Trigger Lab state, stream/profile/binding/media boundaries and local-output generations prevent sharing. Distinct changes, A/B/A transitions and final stops retain FIFO order. Unknown, audio-routing, reset/calibration and media-bearing commands are not folded. This does not raise gain, increase PCM age budgets, enlarge the FIFO or drop arbitrary old commands. Genuinely distinct overload can still queue.

Reading the results

nativePhysicalPendingRepeats measures sharing in the physical queue; nativeRepeatsSuppressed measures sharing in the earlier dispatch queue. Compare their changes with nativePhysicalPending, nativePhysicalHighWater, queue age, admission retries and symptom times. A nonzero repeat counter alone does not prove the perceived delay is fixed. Maxima are cumulative, so inspect a sequence of snapshots. Physical completion means a USB HID write or Bluetooth owner handoff, not measured radio/actuator timing.

Automated tests exercise 10,000 repeat admissions, improved/compatible rumble, power-value bounds, real VIIPER-to-physical admission, full-queue retry, original receipt/age, ownership barriers, unknown extensions and final-stop delivery. They use synthetic I/O; hardware acceptance requires the comparison above.

Additional checks on the updated branch

The 5.0.33-issue47-paired2 candidate adds these changes after the first public 5.0.33-issue47-native-pressure1 ZIP. The old ZIP remains unchanged.

  • Open Profile Editor > Advanced > Controller polling. DualSense/Edge and Nintendo controllers should explain that DS4Windows does not offer an adjustable Bluetooth input rate for their backends. No ineffective DS4 rate dropdown should be shown for those devices.
  • A DS4-compatible controller retains its saved interval. Unrecognized identities explain that the requested rate is unverified and may be ignored; recognized Sony IDs are not presented as proof of genuine hardware or an accepted rate.
  • For USB, check the advertised input and output intervals independently. The lookup uses the physical HID interface, negotiated speed and active pipes, including through hubs. Failure must show unknown, without assuming a rate. Reopen the editor after changing connection. This feature neither overclocks USB nor applies the Bluetooth selection to USB.
  • A read-only check of Pawel's USB DualSense on 2026-10-19 resolved its HID input and output endpoints at 250 Hz (4 ms) each, separate from its audio interfaces. This checks discovery on that device, not every clone or host-controller path.

The branch also preserves native Bluetooth disable-audio/rumble-decay mode on following silent carriers after a trigger-only command. Automated tests cover this transition and the later explicit release; game feel still needs hardware confirmation. Existing test-build logs remain useful and no new profile comparison is a prerequisite for the investigation.

Paired VIIPER change

The candidate bundles VIIPER 0.1.11-issue47-cadence1 from VIIPER PR #6, commit 0df479acefe2d457b4ec3bff66032670d0ec2c4e. Native HID output and native output SET_REPORT use one bounded, ordered service lane derived from the advertised output endpoint interval and USB speed. Input, enumeration and ISO audio keep independent paths. Timing tests cover 125/250/500/1000 Hz, copied reports, final stops, cancellation/reset and real queue-full failures. Neither the tests nor Pawel's USB descriptor discovery alone confirm the remaining gameplay symptoms are resolved. The issue stays open pending that confirmation.

Automatic and manual Bluetooth input rate (later branch change)

This addition follows the published paired2 ZIP; that download is unchanged. On DS4-compatible hardware (or while editing offline), new profiles enable Automatic Bluetooth input rate. It requests the existing conservative 250 Hz (4 ms) interval, without probing or claiming hardware rate detection. Turn Automatic off to enable the manual rate list. Saving/reopening must retain both the mode and the manual selection; switching back to Automatic must not erase that selection. Older profiles with an explicit rate remain manual. DualSense/Edge and Nintendo retain their managed timing and do not gain an unsupported manual-rate control. USB intervals and VIIPER feedback pacing are independent of this input-only setting.

Pawel confirmed normal gameplay with paired2 in DEATHLOOP and GTA V Enhanced on both USB and Bluetooth on 2026-10-19, including extended GTA V Bluetooth play with full graphics and ray tracing. GTA V USB recorded an early physical queue-age maximum of 228.41 ms that did not rise afterward; no admission or physical write retries were reported. This transient remains part of the final review. These results do not establish resolution on the reporter's setup.

Reporter confirmation after release

On 2026-10-19, @Jobima1st confirmed in issue #47 that the haptic problems were fixed over both USB and Bluetooth. This confirms the result on the original reporter's setup, in addition to Pawel's gameplay tests described above. The issue is now closed. Earlier pending-confirmation statements in this record describe the investigation at that time; they have been superseded by this follow-up.