Page MenuHomeSolus

Steam Controller does not work in Rocket League with default udev rules
Closed, ResolvedPublic

Description

With the packaged udev rules for the steam controller /usr/lib/udev/rules.d/99-steam-controller-perms.rules, the uaccess tag is ignored on /dev/uinput and the default permissions for the controller are 0600 owned by root:root. This means that the user cannot modify the settings on the controller to put it in the correct mode or read input from the controller.

The corrected rules are:

# Valve USB devices
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"
# Steam Controller udev write access
KERNEL=="uinput", SUBSYSTEM=="misc", MODE="0660", TAG+="uaccess", OPTIONS+="static_node=uinput"

The additions here OPTIONS+="static_node=uinput" which causes the character device to be created prior to udev starting so it is created with the correct ACL/permissions.
MODE="0660" sets the correct rw group permission, which for the ACL applied by the uaccess tag sets the mask value. If this is not set, /dev/uinput has 0600 permissions and the ACL mask gets set to no permissions resulting in no access to the user.