protonscr

[Controller] - ROG Ally X is missing vibration intensity settings in the Steam client

steamopen Steam clientDistro Family: SteamOSGeneral controller / Steam Input
ValveSoftware/steam-for-linux#12225 · opened 2025-07-24 by matte-schwartz · updated 2026-05-09 · 5 comments · github
Mmatte-schwartz 2025-07-24 github

Your system information

  • Steam client version (build number or date): 1753318274
  • Distribution (e.g. Ubuntu): SteamOS
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes
  • Steam Logs: rog-allyx-vibration-logs.tar.gz
  • GPU: AMD Z1 Extreme [Phoenix APU]

Please describe your issue in as much detail as possible:

The ROG Ally X controller has a sysfs endpoint for controller vibration_intensity at /sys/class/hidraw/hidraw2/device/vibration_intensity or /sys/module/asus_ally_hid/drivers/hid:asus_rog_ally/0003:0B05:1B4C.0011/vibration_intensity, but the Steam client does not seem to have a way for you to adjust this setting under Settings -> Controller -> Calibration and Advanced settings:

Image

Manually writing to the sysfs endpoint with echo "50 50" | sudo tee /sys/class/hidraw/hidraw2/device/vibration_intensity adjusts the vibration intensity, but it gets reset every reboot.

Steps for reproducing this issue:

  1. On ROG Ally X running SteamOS Main, go to Settings -> Controller -> Calibration and Advanced settings
  2. Enter the Haptics Settings page
GGodoakos 2025-12-17 github

Attempting to write to the sysfs endpoint on SteamOS 3.9 gives 'Permission Denied'. Isn't that endpoint read-only? How did you manage to succeed in writing to it?

Bb2sql 2026-01-24 github

I wonder if the command "echo "50 50" | sudo tee /sys/class/hidraw/hidraw2/device/vibration_intensity" could be remade as a rules.d file that would stay active until the system update kicks in. It could work as a temporary workaround until the full fix is applied.

Similar workaround was created in the issue related to battery drain due to fingerprint reader in Rog Ally Z1E.

VVirtualBoost 2026-01-25 github

I have a similar issue with my Xbox Ally X, but the vibration intensity in the triggers is completely uncontrollable, so they are always set to 100%. This makes it very uncomfortable and awkward to use SteamOS on this unit, something I would love to do.

Is it possible to control the vibration intensity of the triggers in the device somehow, similarly to how @matte-schwartz described it?

HHolaFlight 2026-03-02 github

@VirtualBoost I believe the trigger vibration intensity depends on the relevant kernel driver update, which usually won't be quick. But I am pretty sure the relevant developers are working on this, and all we need is patience.

Ppiyush-tyagi-13 2026-05-09 github

While this gets tracked upstream, I built a Decky Loader plugin that addresses this directly -- persistent vibration intensity control via the asus_ally_hid sysfs endpoint, with a QAM UI for linked/split motor control. Verified on Ally X + SteamOS 3.7+. https://github.com/piyush-tyagi-13/ally-vibe-control

Nothing extracted yet.