Steam Controller Doesn't work on Linux

Not really a bug as it was never advertised as working but I feel it’s worth reporting anyways.

Steam controller isn’t recognized as a controller, so it doesn’t work (unless you pretend to use it as a mouse and keyboard).

Thanks for the report!

Not sure when we’ll be able to do something about this, but I’ll pass it on.

Hey! Just need to gather some info to see if I can help you out.
What OS are you using?
In Settings -> Input, is the controller showing up?
Are you running LE through steam with the overlay enabled?

Sadly I have no access to a controller myself but the Steam Controller should be able to behave as xinput, pretty much like an xbox controller, by default or by setting up a template for the game.

I’m on Linux Mint.

The controller isn’t showing up in settings.

I did run it through steam with the overlay enabled, and through big picture.

This is what the controller configuration looks like from steam’s end.


Running it with the default and “gamepad” templates, which should be xinput.

Try to go in Steam Big Picture mode under Settings -> Controller or in the main Steam interface in the menu Steam -> Settings -> Controller -> General Controller Settings.

Then disable PS4, Xbox, and Generic Gamepad Configuration Support and let me know how it goes :+1:t2:

They were already disabled.

I tried enabling generic gamepad configuration support, but that didn’t do anything.

Is the controller working for other non-steam games? Trying to figure out if the problem is on our end or system wide

It wasn’t.

I did some digging and managed to get it working now.

It was apparently a Linux Mint specific issue. Yesterday when I set up the controller I followed the instructions here and I tried the ones here today.

Specifically the difference seems to be in the code that is entered into /lib/udev/rules.d/99-steam-controller-perms.rules

Using

# This rule is needed for basic functionality of the controller in Steam and keyboard/mouse emulation
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"

# This rule is necessary for gamepad emulation; make sure the user playing steam is in the "games" group, it should be by default.
KERNEL=="uinput", MODE="0660", GROUP="games", OPTIONS+="static_node=uinput"

# Valve HID devices over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="28de", MODE="0666"

# Valve HID devices over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*28DE:*", MODE="0666"

# DualShock 4 over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0666"

# DualShock 4 wireless adapter over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0666"

# DualShock 4 Slim over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0666"

# DualShock 4 over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0666"

# DualShock 4 Slim over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:09CC*", MODE="0666"

Instead of:

KERNEL=="uinput", MODE="0660", GROUP="games", OPTIONS+="static_node=uinput"
KERNEL=="hidraw*", ATTRS{idVendor}=="28de", MODE="0666"
KERNEL=="hidraw*", KERNELS=="*28DE:*", MODE="0666"
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0666"
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0666"
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0666"
KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0666"
KERNEL=="hidraw*", KERNELS=="*054C:09CC*", MODE="0666"

Thanks for the troubleshooting @Bonfi96

Thank you very much for the detailed explaination, it’s good to know in case some other user faces the same issue

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.