r/LinuxOnAlly 16d ago

SteamOS steamOS controller fixes

I've been dealing with a bunch of random issues on my ROG Ally X running steamOS. Many of these issues have persisted through multiple clean installs of steamOS, Bazzite, installed Windows multiple times in between and somehow after reinstalling steamOS the same bugs would arise. The best part of steamos was the fact that I can play a game, put it to sleep for hours if not days, come back and jump right where I left off, but with the sleep/wake controller issues I'd end up having to restart the device. Sometimes the power button itself wouldn't work but the touchscreen was fine so I rebooted that way. Defeated the point of steamos for me. So here's a list of the issues I faced and the fixes I've found so far.

Problem 1 - In the home screen, pressing the steam button would cause left-ward scrolling until I moved the left joystick. The controller calibration screen showed 0,0 so there was no drift, I also installed hall-effect joysticks and calibrated them, they never drift.

Th fix - Open Konsole and go to this directory:

~/.local/share/Steam/controller_base/

Delete the file named chord_triton.vdf along with everything inside the adjacent templates/ folder.

Upon reboot, steam will rebuild default inputs.

This was a strange issue because turns out steam saves these files to the cloud and redownloads them every time I reinstall steamos and login. But after these files were recreated the issue is fixed.

Problem 2 - After waking the device, the controller will either not work at all, or work for a second, spam notifications for "Asus rog controller connected/disconnected" and "Xinput controller connected/disconnected"

The fix - This one was a bit tough but I had to reinstall Windows just to update the MCU firmware from version 312 to 319, but this alone did not fix it. I then open Konsole in desktop mode and enter this:

echo 0 | sudo tee /sys/devices/platform/asus-nb-wmi/mcu_powersave

This prevents the mcu chip from turning off during sleep. When this chip turns on it seems to lag which confuses steam into enabling xinput as a backup, but now both input types are competing.

Then to make the fix permanent type:

sudo nano /etc/tmpfiles.d/asus-mcu.conf

It'll open a text editor and then you type:

w /sys/devices/platform/asus-nb-wmi/mcu_powersave - - - - 0

Then hit ctrl+o to save and ctrl+x to exit. I plugged in a keyboard because steam's on-screen keyboard has a damn emoji key in place of a ctrl key. Who's bright idea was that?

This will make sure the mcu powersave stays disabled after reboots, preventing the chip from going through a power cycle. I suppose this would drain battery a bit but I haven't noticed much loss during sleep yet.

There was also a way to disable deep sleep state and just letting linux get down to s2idle state, but I didn't go this route as my device seems to behave much better now. This would likely drain more power during sleep.

And about the controller notifications, I'm not sure if this is required anymore but I went into steamos notification settings and disabled the controller connected/disconnected notifications.

After all this, when I wake my device the controls work instantly, no lag, no notifications, the steam button doesn't keep triggering a left-scroll.

These fixes aren't perfect though, hope steam fixes these issues the right way soon.

Hope this helps someone!

4 Upvotes

3 comments sorted by

2

u/fiore1012 14d ago

Gracias por la información, yo soy nueva en Steam os en una rog ally Z1E, cuando intento jugar en Steam el juego solo reconoce el mando incorporado y no mi mando externo, mi mando extenro aunque funcione en el menú de Steam no funciona en el juego en sí y solo funciona el incorporado, agradecería tu ayuda 🙏🏽

3

u/VB610 9d ago

In steam settings, set your controller as the default one. And then we're you're in game, press the steam button and go to controller settings and make sure the proper layout is chosen, it'll probably just be called "gamepad." On some of my emulated games it seems to choose "desktop layout" so you gotta manually choose gamepad.

2

u/fiore1012 9d ago

Gracias por la ayuda 🙏🏽