This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
Steam Controller
The Steam Controller is a game controller developed by Valve. It features two trackpads (in place of thumbsticks) with haptic feedback and sixteen buttons. The Steam controller is designed not only for games supporting traditional controllers, but also for games that support keyboard and mouse.
Installation
Kernel
The Steam Controller is fully supported by Linux without the need for a specific device driver, however it does require USB and user level driver support.
Device Drivers ---> Input device support ---> [*] Generic input layer (needed for keyboard, mouse,...) [*] Miscellaneous devices ---> <*> User level driver support
Permissions
If Steam was installed manually or from an overlay, and ConsoleKit or systemd is not being used, create the following udev rules file:
/etc/udev/rules.d/99-steam-controller-perms.rules
# Valve USB devices SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666" # Steam Controller udev write access KERNEL=="uinput", SUBSYSTEM=="misc", MODE="0660", GROUP="input" # 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"
The above udev rules file will grant access to the Steam Controller for users in the input group:
root #
gpasswd -a <user> input
If Steam was installed manually and ConsoleKit or systemd is being used, create the following udev rules file:
/etc/udev/rules.d/99-steam-controller-perms.rules
# Valve USB devices SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666" # Steam Controller udev write access KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess", TAG+="udev-acl" # 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"
The above udev rules file will grant access to the Steam Controller by automatically setting an ACL entry for the logged-in user.
If Steam was installed from anyc's Steam overlay, a udev rules file that supports ConsoleKit and systemd should already be installed with the >=steam-launcher-1.0.0.51-r1 ebuild.
If ConsoleKit or systemd is being used, set the USE variable to
acl
to have the ACL entry set for the logged-in user.Next, reload the udev rules files and trigger a device event for the new rule:
root #
udevadm control --reload
root #
udevadm trigger
Once the udev rules files are reloaded, the user using the Steam Controller will need to log out/in for the correct permissions to be set.