Ho un controller Steam e devo farlo funzionare su Ubuntu, come posso farlo?
Ho un controller Steam e devo farlo funzionare su Ubuntu, come posso farlo?
Risposte:
Modifica il file udev:
sudoedit /lib/udev/rules.d/99-steam-controller-perms.rules
Sostituisci tutto con:
# 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 you replace 'pgriffais' with a group that the user that runs Steam belongs to
KERNEL=="uinput", MODE="0660", GROUP="pgriffais", 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"
Ora scollega e ricollega il dongle Steam e ripara il controller
Creare un file udev:
sudoedit /lib/udev/rules.d/99-steam-controller-perms.rules
quindi aggiungi i seguenti contenuti, non dimenticare di utilizzare il TUO nome utente nel 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 you
# replace 'pgriffais' with the username of the user that runs Steam
KERNEL=="uinput", MODE="0660", GROUP="pgriffais", OPTIONS+="static_node=uinput"
/dev/uinput
sudo chmod 666 /dev/uinput
sudo apt-get install python3-autopilot
quindi disconnettersi / accedere o riavviare. Questo ti aggiungerà a un gruppo che ha accesso in scrittura a /dev/uinput
. Questo aggiungerà alcuni pacchetti che probabilmente non ti serviranno, ma puoi rimuoverli quando arriva l'aggiornamento del pacchetto di Steam..rules
file. Tuttavia, la seconda riga ( KERNEL=="uinput", MODE=
...) non è inclusa. Questo significa che devo aggiungere anche questa linea, se voglio l'emulazione del gamepad? O verrà aggiunto automaticamente?
Poiché il controller non funzionava immediatamente, era una soluzione semplice:
sudo apt install steam-devices
Dopo il riavvio ha funzionato bene.
Ho 15.10 e il mio controller non funzionava.
Ho visto i file sopra menzionati e vedo un refuso nel file di distribuzione fornito. Ha ATTRS{idVendor}
due volte. Il secondo dovrebbe essere idProduct
.
Per ricapitolare, ecco cosa diceva il file:
# Steam Controller device node write access, per lp:1498655
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idVendor}=="1102", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idVendor}=="1142", MODE="0666"
# Steam Controller udev write access, per lp:1498658
KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess"
E questo è ciò che doveva dire (e funziona per me):
# Steam Controller device node write access, per lp:1498655
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1102", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1142", MODE="0666"
# Steam Controller udev write access, per lp:1498658
KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess"
/lib/udev/rules.d/99-steam-perms.rules
Ora sotto;)
Come notato da Jorge Castro. La soluzione funziona bene. Se cambi il GRUPPO in users
esso coprirà tutti gli account utente sul sistema. In questo modo se l'installazione utilizza account diversi, non è necessario continuare a apportare modifiche al file.
Ho appena ottenuto il mio Steam Controller, l'ho collegato al mio sistema Ubuntu 15.10 x64 e non funzionerebbe affatto. Tuttavia, ho notato qualcosa di diverso nel mio che non è stato menzionato qui.
Ho digitato lsusb
al Terminale e ho trovato questo:
Bus 001 Device 011: ID 28de:1042
Ho notato che idProduct elencato nelle regole udev predefinite era "1102" o "1142". Quindi, ho aggiunto la seguente riga a /lib/udev/rules.d/99-steam-perms.rules
(Sotto le altre linee simili):
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1042", MODE="0666"
Ho quindi scollegato il dongle USB, collegato e funziona! Quindi ha fatto immediatamente un aggiornamento del firmware (in Steam) a "1142" e quindi non ho più bisogno tecnicamente della linea che ho aggiunto. Spero che questo aiuti qualcun'altro.
Nemmeno il mio controller potrebbe funzionare. Ubuntu 16.04. Ho inserito il testo nei file come suggerito da Insperatus, ma ancora nessun amore.
Posiziona invece il testo in un file in /etc/udev/rules.d
.
Inserisci questo nel terminale:
sudoedit /etc/udev/rules.d/99-steam-controller-perms.rules
Quindi incolla da questa risposta :
# This rule is needed for basic functionality of the controller in Steam and keyboard/mouse emulation
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"
KERNEL=="uinput", MODE="0660", GROUP="users", 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"
Ho usato il blocco di testo dall'alto e ho chiamato il file come suggerito nella prima risposta: 99-steam-controller-perms.rules
Il controller ora funziona.