Como faço para que um controlador Xbox One funcione com o 16.04 (não o Steam)

14

Tenho uma nova instalação do Ubuntu 16.04 e baixei um jogo do GOG chamado Transistor. Comprei um controle Xbox One sem fio para jogar esse tipo de jogo. Pelo que pude descobrir, a conexão sem fio ainda não é suportada no Ubuntu para este controlador, então eu a conectei usando um [micro que funciona] adaptador micro usb> usb.

  • Eu instalei o jogo com sucesso. Eu posso tocar com meu teclado / mouse. Clicar no ícone do controle nas configurações do jogo não faz nada.

  • Eu instalei "Ubuntu xboxdrv integration" e agora tenho uma opção de joystick no meu menu de configurações. Ele lista quatro controladores 360 e nenhum deles responde à entrada do controlador.

  • Quando digito, lsusbele lista "Microsoft" como uma das coisas conectadas. Desconectei o controlador e a entrada desapareceu, então eu sei que o controlador está sendo visto pelo sistema. Quando o conecto, burburinhos por um momento.

  • Se eu pressionar o botão "X" (conectar), ele piscará por quase 30 segundos.

Pelo que entendi, com fio, até o controle do Xbox One, é compatível imediatamente com as versões mais recentes do Ubuntu. Alguém pode me dizer o que não estou fazendo ou por onde começar a procurar? Estou assumindo que um kernel recente foi instalado com o sistema operacional.

Eu digitei lsmode não existe ubuntu-xboxdrvou xboxdrvnem mesmo xpadna lista. Digitei o insmod ubuntu-xboxdrvterminal e me disseram que não era possível carregar porque não há arquivo ou diretório. A digitação modprobe ubuntu-xboxdrvtambém disse que não foi possível encontrá-lo. (Eu também tentei xboxdrvpara ambos.)

Tanto quanto eu posso dizer, não ser um mod carregado é o culpado número um. Como faço para ver se ubuntu-xboxdrvé mesmo o nome do mod? Verifiquei se a instalação foi concluída com a reinstalação. Como encontro para onde foi?

Welcome1der
fonte

Respostas:

18

Solução da OP para seu próprio problema :

Primeiro, li que com os kernels posteriores a 4.1 * (verifiquei e tenho 4.4 *), o xboxdrv não funciona mais com, especificamente, o controlador xbox one.

Parece que o xpad recebeu amor do Steam, por isso não está tão desatualizado quanto costumava ser. Não sei o que ele perde no xboxdev, mas só quero que o controlador funcione.

Meu controlador é a versão mais recente do firmware chamada Covert Forces Edition. Por causa de seu novo firmware, ele precisa de um patch que encontrei aqui .

sudo apt-get install git
sudo apt-get install dkms
sudo git clone https://github.com/paroj/xpad.git /usr/src/xpad-0.4
sudo dkms install -m xpad -v 0.4

Tudo parecia bem. Mas eu bati lsmode xpadainda não estava carregado. Para carregá-lo, entrei:

sudo modprobe xpad

Isso me deu um novo erro que não pôde ser inserido porque a chave necessária não está disponível. Isso é resolvido desativando a inicialização segura no BIOS.

Coloquei sudo modprobe xpadnovamente e não houve confirmações, mas sem queixas. Olhei embaixo, lsmode eis que, no topo da lista, estava xpad! Eu estou supondo que é a versão mod, porque agora, no menu do joystick, nas configurações, ele aparece como um quinto controlador e a maldita coisa responde. O "X" está aceso e os botões funcionam.

Zanna
fonte
1
Isso é brilhante, muito obrigado pelas instruções @Zanna!
Metaphore
Finalmente ... Estou procurando uma solução há um bom tempo ... Meu controle é um controle Xbox One S e funcionou facilmente no 16.04, mas não no 14.04. O uso desse patch fez o truque. O botão do fornecedor "X" finalmente acende e não pisca, e o controlador funciona!
Henrique Ferrolho 15/01
7
  1. instalar sysfsutils- sudo apt install sysfsutils
  2. abra o arquivo de configuração com gksu gedit /etc/sysfs.conf
  3. Adicione esta linha em sysfs.conf->module/bluetooth/parameters/disable_ertm = 1
  4. Salve e reinicie.
user687424
fonte
Obrigado! Por que isso funciona, por que é necessário? A implementação do ERTM está quebrada no controlador XBox, no driver ou é algo completamente diferente?
Arkod
Eu apenas tentei isso no Ubuntu 17.10. Infelizmente, não teve efeito: as luzes dos meus controles do Xbox One estão piscando e não são visíveis no painel de configurações do Bluetooth.
Adam Dingle
É importante mencionar que o gksu não é mais recomendado como um meio de executar aplicativos de desktop que exigem privilégios mais altos. (até foi completamente removido em 18.04 ). Em vez disso, use $ pkexec , pois esse é o método recomendado há algum tempo.
Mstfacmly