Steam Controller support: need read-write access to /dev/uinput for controller emulation
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
steam (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Trusty |
Confirmed
|
Undecided
|
Unassigned | ||
Vivid |
Confirmed
|
Undecided
|
Unassigned | ||
Wily |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
The Steam Controller is about to ship; for native controller support through the SteamWorks API, keyboard emulation, mouse emulation, having access to the regular device nodes is enough, but to emulate a game controller that applications can use through SDL, the user that runs Steam needs write access to /dev/uinput in order to create a virtual controller device. This is a pretty critical feature of the controller and not having it will limit the end-user experience in various ways.
This is already enabled in SteamOS through a udev rule for the 'steam' account, but we have not flipped that switch across the board in our own Ubuntu package for Steam, as it could be seen as a security concern.
Ideally the Ubuntu-provided 'steam' package would be set up in such a way that only the Steam client has write access to /dev/uinput.
Changed in steam (Ubuntu Wily): | |
status: | Confirmed → Fix Committed |
Changed in steam (Ubuntu Trusty): | |
status: | New → Confirmed |
Changed in steam (Ubuntu Vivid): | |
status: | New → Confirmed |
On Ubuntu, users should already have write access to /dev/uinput:
$ getfacl /dev/uinput
getfacl: Removing leading '/' from absolute path names
# file: dev/uinput
# owner: root
# group: autopilot
user::rw-
user:mdeslaur:rw-
group::rw-
mask::rw-
other::---
Is that not enough?