HeroicGamesLauncher icon indicating copy to clipboard operation
HeroicGamesLauncher copied to clipboard

Steam Deck: controller mode breaks after accessing `/dev/hidraw?`

Open mphx12 opened this issue 8 months ago • 3 comments

Describe the bug

Launching heroic on the Steam Deck (non-OLED version, valve's kernel and OS) while the official steam client is not running causes the controller input device /dev/input/js0 to vanish, causing the controller to work as a keyboard and mouse in heroic and any games launched while heroic is running. As a workaround, removing permissions of a specific /dev/hidraw? device resolves this issue, restoring controller mode in both heroic games and any games launched while heroic is running.

Add logs

n/a

Steps to reproduce

  1. Switch to Steam desktop mode
  2. Kill all steam instances (e.g. systemctl --user stop [email protected])
  3. Verify that /dev/input/js0 exists
  4. Start heroic
  5. Note that /dev/input/js0 no longer exists

Expected behavior

Controller input should work without having to launch steam and being logged in.

Screenshots

No response

Heroic Version

Latest Stable

System Information

  • OS: SteamOS 4.6.5 (linux 6.5) and 4.5.19 (linux 6.1)
  • Tested: both flatpak and non-flatpak

Additional information

The relevant input devices seem to be provided by hid_steam, including the /dev/input/{js,event?} for controller, keyboard and mouse input. Opening a particular /dev/hidraw? device (e.g. via sudo xxd /dev/hidraw2) causes the js0 (/sys/dev/char/13:0 -> ../../devices/pci0000:00/0000:00:08.1/0000:04:00.4/usb3/3-3/3-3:1.2/0003:28DE:1205.0003/input/input27/js0) device to disappear and input devices on two mouse and keyboard devices to be registered by libinput instead (sudo libinput debug-events). When running the official steam client with a logged in user things behave differently: /dev/input/js0 is backed by /sys/dev/char/13:0 -> ../../devices/virtual/input/input26/js0 instead and not the kernel module hid_steam. I haven't tested this on linux mainline yet.

mphx12 avatar Jun 20 '24 11:06 mphx12