Como faço para que um Steam Controller funcione?


42

Eu tenho um controlador Steam e preciso fazê-lo funcionar no Ubuntu, como faço isso?

Respostas:


26

Atualização a partir de 22/11/2016 (se você usou esta solução )

Devido a uma atualização recente, sua regra do udev deve ser atualizada.

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


2
Isso corrigiu meu problema com o SC não ser reconhecido via cabo, mas eu também precisava me inscrever para participar da Steam Beta . Caso contrário, não mudou.
Carolus

Funciona muito bem aqui! Obrigado! (Não precisa de vapor Beta mais do meu lado)
Dominic Hayes

Isso corrigiu meu problema no Ubuntu GNOME 17.04. Obrigado!
Jesse

32

Para versões do Ubuntu anteriores à 15.10

Reconhecendo o 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"

Dê ao controlador acesso a /dev/uinput

  • Para uma limpeza rápida e suja, sudo chmod 666 /dev/uinput
  • Para uma solução alternativa que sobrevive à reinicialização: Efetue sudo apt-get install python3-autopilotlogout / 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.

Veja também:


1
Estou em 15.10 e tenho o .rulesarquivo. 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?
`` #

"Se você possui o 15.10 e mais recente, não precisa fazer nada, exceto conectar o dongle e emparelhar o controlador ao iniciar o modo steam big picture" Estou no Xubuntu 15.10, conectei o dongle, inicio o big picture e Não consigo emparelhar o controlador. Ele funciona bem no Windows e funciona quando conectado com fio no Linux e também funciona na minha instalação do SteamOS, mas não funciona no Xubuntu 15.10 para mim.
Aaron Franke

Estes passos são feitos ao instalar dispositivos steam em versões posteriores do Ubuntu. No entanto, saber que essa é a fonte do problema me levou a instalar dispositivos a vapor e a reinstalar o próprio vapor no meu sistema, pois minha instalação era muito antiga (provavelmente instalou o Steam manualmente há muito tempo)
marcus

12

Instruções para Ubuntu 16.10

Como o controlador não funcionou imediatamente, foi uma solução simples:

sudo apt install steam-devices

Após a reinicialização, funcionou bem.


Adicionando a isso: A partir de 9 de novembro (quando eu testei isso), você também precisará do Steam no modo Bata para a próxima atualização do controlador no modo Big Picture,
Svetlana Belkin

7

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"

1
Quais arquivos [mencionados acima]?
Oli

Eu vejo. /lib/udev/rules.d/99-steam-perms.rulesAgora abaixo;)
Oli

5

Como observado por Jorge Castro. A solução funciona bem. Se você alterar o GRUPO, usersele 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.


4

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 lsusbno 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.


2

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.