Controller support in systemd-nspawn Steam

2023-03-18 (Updated 2023-06-10)

Update: Just use flatpak version instead

steam needs two steps to properly identify a controller:

for the first step, use a dirty hack:

chmod 666 /dev/uinput
chmod 666 /dev/input/js0
chmod 666 /dev/input/event??

replace event?? with your controller's, you can test it using jstest.

for the second, mount /dev/hidraw??, and enable property for read access:

--bind /dev/hidraw4

the problem is that you have to plug in your controller before nspawn start up, otherwise it can't find this device.

(Message from the future myself: ) I suggest simply use the flatpak version, easy to install, no sudo and permission stuff required, everything works out of the box