Confused on Steam Play and Proton? Be sure to check out our guide.
We do often include affiliate links to earn us some pennies. See more here.

You will need to update your udev rules for the Steam Controller

By - | Views: 81,213
Valve have changed the USB/Bluetooth communication the Steam Controller uses, so on Linux you will need to update your udev rules.

Note: This is for the Beta client, but works on the stable client too. Even if you're on the stable client, it's likely a good idea to do it now ready for the next stable release on the Steam client.

See their announcement here, which links to this guide of issues.

Funnily enough, Valve didn't even list the actual file you need to update, so here it is:
/lib/udev/rules.d/99-steam-controller-perms.rules

You can open it easily doing this in terminal (on Ubuntu for example):
sudo gedit /lib/udev/rules.d/99-steam-controller-perms.rules

Edit it to look like this (make sure you edit the group name like it says!):
Quote# 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 you replace 'pgriffais' with a group that the user that runs Steam belongs to
KERNEL=="uinput", MODE="0660", GROUP="pgriffais", OPTIONS+="static_node=uinput"

# DualShock 4 wired
SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0666"
# DualShock 4 wireless adapter
SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0666"
# DualShock 4 slim wired
SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0666"

# 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 bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0666"

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


I tried reloading udev rules after, but it didn't seem to work. A reboot with the new rules in place and it works once again.

Valve still haven't fixed the issue of the Steam Controller not working in wireless unless Steam is open though, bug reported here on September 1st. Not everyone seems to have that issue though.

Thanks to Furball in our Telegram group chat for pointing it out. Article taken from GamingOnLinux.com.
Tags: Hardware, HOWTO, Steam
6 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
42 comments
Page: «3/5»
  Go to:

tgurr Nov 24, 2016
The latest Steam installer available at:

http://repo.steampowered.com/steam/pool/steam/s/steam/
steam_1.0.0.54.dsc 23-Nov-2016 18:46 1.2K
steam_1.0.0.54.tar.gz 23-Nov-2016 18:46 2.6M
steam_1.0.0.54_i386.deb 23-Nov-2016 18:46 4.8K


already carries the changes to the udev files and also the renaming of 99-HTC-Vive-perms.rules to 60-HTC-Vive-perms.rules:

Quotesteam (1.0.0.54) precise; urgency=medium

* Update controller udev rules to let Steam write to DualShock 4 HID nodes

-- Pierre-Loup A. Griffais <[email protected]> Sat, 29 Oct 2016 18:23:06 -0700

steam (1.0.0.53) precise; urgency=medium

* Update udev rules for HTC Vive and order them so they run after
50-udev-default.rules but before 73-seat-late.rules

-- John Vert <[email protected]> Wed, 18 May 2016 16:43:24 -0700
Distributions just need to update their Steam package.
MaxPower Nov 24, 2016
Quoting: GrifterI see a lot of bluetooth being mentioned, but I was under the impression that the steam controller used plain wifi instead of bluetooth, am I mistaken? Or is this new change changing over to bluetooth? Please enlighten my ignorance.

I suspect the bluetooth changes are for the Dual Shock 4 controllers
0aTT Nov 24, 2016
In the past it just works. Last tried a few days ago. I never ever set udev rules for the Steam Controller. Do I have to do this now?

EDIT: I use Xubuntu 16.4.


Last edited by 0aTT on 24 November 2016 at 12:36 pm UTC
MaxPower Nov 24, 2016
Quoting: 0aTTIn the past it just works. Last tried a few days ago. I never ever set udev rules for the Steam Controller. Do I have to do this now?

EDIT: I use Xubuntu 16.4.
I use Ubuntu 16.04. The Steam controllers stop working yesterday. I did the udev change at my lunch break. But they are still not working. Will have to investigate further tonight :(
whatever Nov 24, 2016
Quoting: PerkeleenVittupEven MS themselves realize "something"; they joined the Linux Foundation as a platinum member. Linux will be de facto platform for gaming in future. Why not just speed the inevitable up?

MS does not care at all about Linux gaming and certainly did not join the Linux Foundation because of games. They're barely interested in Windows gaming...

They joined the foundation because of the the server market. They need perfect integration for their Azure platform for example.
Paceline Nov 24, 2016
This got my PS4 controller back up and running.

Thanks
Nanobang Nov 24, 2016
View PC info
  • Supporter
I was hoping that somehow I would be able to magically apply the SteamOS hotpatch and all would be made well again.

Initially I just switched back to the stable branch client, but I can see this particular bork is not going to be fixed by the borkers. [waves fist futilely skywards, cursing the fates]

Addendum:

Quoting: tgurrThe latest Steam installer available at:

http://repo.steampowered.com/steam/pool/steam/s/steam/
steam_1.0.0.54.dsc 23-Nov-2016 18:46 1.2K
steam_1.0.0.54.tar.gz 23-Nov-2016 18:46 2.6M
steam_1.0.0.54_i386.deb 23-Nov-2016 18:46 4.8K


already carries the changes to the udev files ...

I had forgotten I used to use the Steam released steam client, but switched to Ubuntu's version when there was the "You're running an outdated version" message every time I started Steam. Is that bug still a problem, does anybody know?


Last edited by Nanobang on 24 November 2016 at 3:11 pm UTC
slaapliedje Nov 24, 2016
Quoting: fcastilloWhat if I'm using Steam Link? I've notice a lot of disconnection problems on the Link, and recently there was an announcement for an update to SteamOS that fixes this. I'm not using SteamOS just the client on Ubuntu, but I'm seeing this problems because of the Link. Any suggestions?

I have that weird issue where if I connect to my Linux Desktop from the Link, that it then screws up the permissions so the Steam Controller stops working, so I have to go back to my computer and run a chmod 666 on it again.

Would be nice if this was finally fixed.
Ardje Nov 25, 2016
Heads up for those of you with a steam machine
Before upgrading the steam beta, forcefully upgrade your system.
If you don't, you need a mouse to get out of the mess, and the intended use-case for a steam machine does not include a mouse. The steam controller is *dead*/useless until steamos is updated (with the new udev rules).
Fortunately all steam machines are lacking CEC support in hardware, so my steam machine only lasted 1 hour on my TV, before migrating it back to my room and replacing it with a steam link.
(Why... Why say it is a console if you don't support CEC :-( ).
It's now connected to my KVM switch like a bunch of other stuff ;-).
Ryblade Nov 25, 2016
I would recommend putting the rules in /etc/udev/rules.d instead.

udev, like a lot of other Linux software, store their configuration in several different places. Technically, you certainly can make that rules file in /lib rather than /etc and yes, it would work as it's expected to, but there's a logic and an order of precedence to each configuration location that should be conformed to, so as to avoid any potential behavioural issues in the future.

/lib/udev/rules.d = Location for default udev rules. This includes rules that came with udev itself, as well as rules that came with your distribution and other software installed through your package manager. If you create rules in this directory, they will work, but you risk them being clobbered (overwritten) by software and distribution upgrades, resulting in a "where the hell did my configuration go?!" scenario. Not good.

/usr/lib/udev/rules.d = Some distros use this instead of the above directory. In other distros it might even be a symlink to the directory above. In any case, same description as above.

/etc/udev/rules.d = Location for udev rules created by your local sysadmin. This is probably you. Anyway, you are the BOSS of this directory. Other packages shouldn't be installing rules in this directory, so if you haven't touched it before, it's probably empty. The point is, this is where you should be putting any rules you have to make for your system that aren't in /lib already. In the event that there's a rules file in multiple configuration locations with identical names (say, /lib/udev/rules.d/99-custom.rules and /etc/udev/rules.d/99-custom.rules, for example,) rules in this directory take precedence over rules in other locations.

When your distro includes the necessary changes to its Steam repo package's udev rules, it will likely put that file in the first or second location in /lib or /usr/lib. Keep a close eye on your updates for the next while, once it's integrated you can probably get away with deleting the file you created in /etc. This fix will eventually be automatically integrated into every distro's Steam repo packages, but for now this fix is very useful while we wait for our respective distros to catch up.

Hope this helps everyone out. Glad to finally be here, by the way. :)


Last edited by Ryblade on 25 November 2016 at 11:10 pm UTC
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.