No controller in Steam

Hi all, I can run Steam, but my PS4 controller is not recognized by it - Steam cannot be controlled, it will not assign it my profile (the LED would change color from default blue)

  • Games that do not register it (overlay cannot be activated either): Everything, Tomb Raider
  • I found one Steam game which does register the controller: FEZ

I use the flathub version, same as previously on opensuse Tumbleweed where the controller would be recognized as long as it was plugged in before launching Steam. I retained the ~/.var/app/com.valvesoftware.Steam directory.

$ flatpak info -M com.valvesoftware.Steam 
[Context]
...
devices=all;

lsusb lists the controller.
I found this when launched from terminal – controlled cannot be open, but it does see my mouse (it has few controller-like buttons):

Local Device Found
  type: 054c 05c4
  path: 0003:0009:00
  serial_number:  - 0
  Manufacturer: 
  Product:      
  Release:      100
  Interface:    0

Unable to open local device: 0003:0009:00
Local Device Found
  type: 1e7d 2e4b
  path: sdl://0
  serial_number:  - 0
  Manufacturer: 
  Product:      ROCCAT ROCCAT Tyon White
  Release:      111
  Interface:    -1

Any ideas please?

1 Like

I am currently experiencing the same issue. Have you found any solutions?

Thanks!

Sorry, I have not, I gave up on it. I have not run any game on Silverblue in a long time, but I can try it again later, if nothing else then to confirm it has not resolved by itself : )

I’ve found a potential solution, although I don’t fully understad it, so it could have negative security implications I’m not aware of.

Edit /etc/udev/rules.d/99-controller-perms.rules and input the following:

SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", MODE="0666"
KERNEL=="uinput", MODE="0660", GROUP="{YOUR_USERNAME}", OPTIONS+="static_node=uinput"

After rebooting it should work.

054c is the vendor id for Sony found via lsusb.

Bus 001 Device 003: ID 054c:XXXX Sony Corp. DualShock 4

Interestingly, io.gitlab.jstest_gtk.jstest_gtk from Flathub seems to recognize the controller fine without this

I have a suspicion that some of the issue may lie with the Steam flatpak, but I’m not sure on that either.

I have a Logitech F310 - a super standard USB controller that should work with everything. It works completely fine with RetroArch and PCSX2 but when I first try it with Steam it almost never works.

Here’s the kicker though, after a few updates and/or reboots (I can’t isolate which one) the issue is totally resolved and Steam starts recognizing my controller. So maybe just give it a little time. Also make sure you check all the types of controllers to recognize in Steam settings.