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.