Steam

Fixing the Steam Controller udev rules after Linux Mint 18.1 upgrade.

This might apply to other distros of Linux but after upgrading Linux Mint from 18 to 18.1 my Steam Controller stopped working properly in games. Here are the steps I took to fix it. Firstly unplug the steam controller and/or the wireless device.

After the 18.1 upgrade I found that Mint removed a package named steam-devices, so go ahead and open a terminal to reinstall this.

$ sudo apt install steam-devices

Installing this will rewrite your udev rules so we need to fix that up, but thats ok as of 11/22/16 the udev rules needed to be updated anyway.

Open the udev file for the steam controller, if you're using mint you most likely have xed as a text editor, if you don't just drop in whatever you want; gedit, ect. If using a terminal editor like nano or vim replace gksudo with sudo (gksudo is just for GUI programs).

$ gksudo xed /lib/udev/rules.d/99-steam-controller-perms.rules

Then copy the following and paste it in, replacing any text (if any) that exist in that file.

# 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"

Save and close the file, now we need to reload the udev files, in the terminal type in:

$ sudo udevadm control --reload
$ udevadm trigger

That should be it, you can now plug the controller or wireless dongle.
Any updates to the udev rules should be posted at: https://steamcommunity.com/app/353370/discussions/0/490123197956024380/

My source for most of this information is from gamingonlinux.com here is the post about it.

Update Dec 27th: Thanks to /u/pizza-dude for reminding me to use gksudo with GUI related programs in sudo.
Update Jan 24 2017: Changed the group to "games" something most users are already apart of to begin with. Found this bug out when trying to game on my laptop.