protonscr

[Steam Input][Linux] DualSense rumble is never dispatched by Steam, while kernel fftest works

steamopen Distro Family: UbuntuGeneral controller / Steam Input
ValveSoftware/steam-for-linux#13435 · opened 2026-07-23 by bg4chs · updated 2026-08-27 · 3 comments · github
1 matching comments, n / p to jump
Bbg4chs 2026-07-23 github

Your system information

  • Steam client version (build number or date): 1784778118
  • Distribution (e.g. Ubuntu): Ubuntu 26.04 64-bit
  • Opted into Steam client beta?: No (also reproduced with the Steam Client Beta)
  • Have you checked for system updates?: Yes
  • Steam Logs: Attached steam-logs.tar.gz
  • GPU: Nvidia GeForce RTX 4090, proprietary driver 595.71.05

Please describe your issue in as much detail as possible:

Steam correctly detects my original Sony DualSense controller through HIDAPI:

Product: DualSense Wireless Controller
Controller using HIDAPI driver, vid=0x054c, pid=0x0ce6

All controller buttons, sticks, triggers, and calibration work normally. However, the controller does not vibrate when I press the rumble-test button in Steam Settings. Rumble also does not work in any game launched through Steam.

The expected result is that pressing Steam's rumble-test button, or receiving a rumble event in a game, should make the controller vibrate. The actual result is that no vibration occurs.

The controller hardware and the Linux force-feedback driver are working correctly. Running fftest directly against the DualSense input device successfully produces both strong and weak rumble:

Uploading effect #4 (Strong rumble, with heavy motor) ... OK
Uploading effect #5 (Weak rumble, with light motor) ... OK

Now Playing: Strong Rumble
Now Playing: Weak Rumble

Both effects physically vibrate the controller. This also works while Steam is running.

The same physical DualSense controller has working vibration when connected to an original Steam Deck and to a computer running Bazzite.

Additional testing performed:

  • Tested Linux kernels 7.0.0-27-generic and 7.0.0-28-generic.
  • Tested Steam Stable and Steam Client Beta.
  • Tested the native Ubuntu Steam package and Flatpak Steam.
  • Reset the Steam installation.
  • Removed and regenerated the controller configuration files.
  • Removed and regenerated Steam's global config.vdf.
  • Reproduced the problem with a completely new Linux user account and a fresh Steam installation.
  • Confirmed that the user has read/write access to /dev/hidraw4 and /dev/uinput.
  • Confirmed that the steam-devices package is installed.
  • Found no relevant AppArmor denial.
  • Confirmed that Steam opens /dev/hidraw4 while the controller is connected.
  • Starting Steam with SDL_JOYSTICK_HIDAPI_PS5=1 and SDL_JOYSTICK_HIDAPI_PS5_RUMBLE=1 did not change the result.
  • Disabling the PS5 HIDAPI path made Steam identify the device as PS5 Controller through the evdev fallback, but rumble still did not work.
  • Confirmed that the controller preference file contained both "rumble" "1" and "haptics" "1".

I also attached strace to the Steam process and all of its threads while repeatedly pressing Steam's rumble-test button. No write, writev, or relevant ioctl operation referencing /dev/hidraw4 appeared during the test.

This suggests that Steam detects and opens the DualSense controller but does not dispatch a rumble output command when the rumble-test button is pressed.

The problem is consistently reproducible. Rumble briefly started working once after controller calibration, but stopped again. Repeating the calibration has not restored it.

I initially noticed the problem after testing another controller, but I found no driver or configuration change that applies to the DualSense. Direct force feedback continues to work, and the problem persists after Steam configuration resets and under a fresh Linux user account. Therefore, the exact first affected Steam build is unknown.

Steps for reproducing this issue:

  1. Connect a Sony DualSense controller (054c:0ce6) to the Ubuntu computer by USB.
  2. Start Steam and open Settings → Controller.
  3. Open the controller test interface and press the rumble-test button.
  4. Observe that Steam detects the controller and all inputs work, but the controller does not vibrate.
  5. Exit the Steam controller test and run fftest on the DualSense /dev/input/event* device.
  6. Play effects 4 and 5.
  7. Observe that both strong and weak rumble work correctly through fftest, including while Steam is running.

steam-logs.tar.gz

DDrDagless 2026-08-04 github

I have the same issue with Steam (using CachyOS).

Getting no rumble with my DualSense whatsoever. Haptics work with certain supported games, but bog-standard rumble does not.

"Pinging" my controller in the Steam settings does nothing, and the rumble test also doesn't do anything. Rumble does work fine with fftest and controller testing websites.

Both USB and bluetooth for me, same issue.

RReenigneArcher 2026-08-27 github

Does rumble work if you first go to calibrate, and most importantly the gyro calibration? I noticed that rumble, gryo, and led do not work at until the gyro calibration screen is activated.

I've replicate this problem on both Windows and Linux, and for me it's consistently fixed by doing the calibration.

Bbg4chs 2026-08-27 github

Thanks — I was able to reproduce and isolate this today with Steam build
1785799196 on Ubuntu 26.04, using the same DualSense over Bluetooth.
Test sequence:
1. After a fresh Steam start, Ping worked.
2. I disconnected and reconnected the controller without restarting
Steam.
3. Steam detected the controller after reconnect, but Ping no longer
produced any vibration.
4. strace showed no new write/writev to /dev/hidraw10 when the failed
Ping was pressed.
5. Merely opening the gyro calibration screen did not restore rumble.
6. I then ran and completed gyro calibration.
7. After calibration, Ping worked twice in a row.
8. Each successful Ping corresponded to a 78-byte HID output report
containing non-zero motor values (... \177\177 ...), followed by a
zero-motor stop report.
The kernel path remained functional throughout: fftest successfully
activated both the strong and weak rumble motors.
This confirms the workaround, with one nuance: on my system, simply opening
the gyro calibration screen was not enough; completing the calibration was
required.
This appears to be a DualSense output initialization/reinitialization issue
after Bluetooth reconnect. Steam detects and opens the controller, but does
not dispatch rumble output until gyro calibration reinitializes the device
state.

Dave Lane @.***> 於 2026年8月27日週四 下午2:52寫道:

ReenigneArcher left a comment (ValveSoftware/steam-for-linux#13435)
https://github.com/ValveSoftware/steam-for-linux/issues/13435#issuecomment-5433751284

Does rumble work if you first go to calibrate, and most importantly the
gyro calibration? I noticed that rumble, gryo, and led do not work at until
the gyro calibration screen is activated.

I've replicate this problem on both Windows and Linux, and for me it's
consistently fixed by doing the calibration.


Reply to this email directly, view it on GitHub
https://github.com/ValveSoftware/steam-for-linux/issues/13435?email_source=notifications&email_token=CDTJYFWGS4SARI3CWTFPKPD5L6PAFA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKNBTGM3TKMJSHA2KM4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KYZTPN52GK4S7MNWGSY3L#issuecomment-5433751284,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/CDTJYFXDVIHP4XKAA474V735L6PAFAVCNFSNUABDKJSXA33TNF2G64TZHM3TENBYHE2TMO2JONZXKZJ3GQ4TMMBRGU3TSNRVUF3AE
.
Triage notifications, keep track of coding agent tasks and review pull
requests on the go with GitHub Mobile for iOS
https://github.com/notifications/mobile/ios/CDTJYFQX6HFSSNDHPPFGZ6T5L6PAFA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKNBTGM3TKMJSHA2KM4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KUZTPN52GK4S7NFXXG
and Android
https://github.com/notifications/mobile/android/CDTJYFS4DJCYXBSXAA5VGNL5L6PAFA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTKNBTGM3TKMJSHA2KM4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2K4ZTPN52GK4S7MFXGI4TPNFSA.
Download it today!
You are receiving this because you authored the thread.Message ID:
@.***>

--
螳臂挡车的歹徒