Eu tenho um controlador Steam e preciso fazê-lo funcionar no Ubuntu, como faço isso?
Eu tenho um controlador Steam e preciso fazê-lo funcionar no Ubuntu, como faço isso?
Respostas:
Edite o arquivo udev:
sudoedit /lib/udev/rules.d/99-steam-controller-perms.rules
Substitua tudo nele por:
# 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"
Agora desconecte e reconecte seu dongle Steam e repare seu controlador
Crie um arquivo udev:
sudoedit /lib/udev/rules.d/99-steam-controller-perms.rules
adicione o seguinte conteúdo, não se esqueça de usar o SEU nome de usuário no arquivo!
# 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
logout / logon ou reinicialização. Isso o adicionará a um grupo ao qual tenha acesso de gravação /dev/uinput
. Isso adicionará alguns pacotes dos quais você provavelmente não precisará, mas você pode removê-los assim que a atualização do pacote steam chegar..rules
arquivo. No entanto, a segunda linha ( KERNEL=="uinput", MODE=
...) não está incluída. Isso significa que eu também tenho que adicionar essa linha, se eu quiser emulação de gamepad? Ou isso será adicionado automaticamente?
Como o controlador não funcionou imediatamente, foi uma solução simples:
sudo apt install steam-devices
Após a reinicialização, funcionou bem.
Eu tenho 15.10 e meu controlador não estava funcionando.
Eu vi os arquivos mencionados acima e vejo um erro de digitação no arquivo de distribuição fornecido. Tem ATTRS{idVendor}
duas vezes. O segundo deveria ser idProduct
.
Para recapitular, é o que o arquivo costumava dizer:
# 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 é isso que deveria dizer (e funciona para mim):
# 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
Agora abaixo;)
Como observado por Jorge Castro. A solução funciona bem. Se você alterar o GRUPO, users
ele cobrirá todas as contas de usuário no sistema. Dessa forma, se sua instalação usar contas diferentes, você não precisará continuar fazendo alterações no arquivo.
Acabei de adquirir meu Steam Controller, conectei-o ao meu sistema Ubuntu 15.10 x64 e não funcionou. No entanto, notei algo diferente sobre o meu que não foi mencionado aqui.
Digitei lsusb
no Terminal e encontrei o seguinte:
Bus 001 Device 011: ID 28de:1042
Notei que o idProduct listado nas regras padrão do udev era "1102" ou "1142". Então, adicionei a seguinte linha em /lib/udev/rules.d/99-steam-perms.rules
(Debaixo das outras linhas semelhantes):
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1042", MODE="0666"
Eu então desconectei o dongle USB, conectei e funcionou! Em seguida, ele fez uma atualização de firmware imediatamente (no Steam) para "1142" e, portanto, tecnicamente não preciso mais da linha que adicionei. Espero que isto ajude alguém.
Também não foi possível que meu controlador funcionasse. Ubuntu 16.04. Coloquei o texto nos arquivos como sugerido pelo Insperatus, mas ainda não amo.
Em vez disso, coloque o texto em um arquivo /etc/udev/rules.d
.
Digite isto no terminal:
sudoedit /etc/udev/rules.d/99-steam-controller-perms.rules
Em seguida, cole a partir desta resposta :
# 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"
Usei o bloco de texto acima e nomeei o arquivo como sugerido na 1ª resposta: 99-steam-controller-perms.rules
Controlador agora funciona.