Como obtenho um controlador XBOX 360 funcionando?

58

Eu tenho um gamepad do Microsoft XBOX 360 com o adaptador sem fio e fiquei imaginando o que teria que instalar para usá-los com o Ubuntu. Sei que ao usá-lo no Windows, preciso instalar manualmente os drivers do receptor sem fio (se for o caso) relevante.)

jhorton014
fonte
Infelizmente, nada disso fez meu controlador funcionar corretamente como o Xpadder no Windows. : /
Chris K

Respostas:

40

Se você encontrar dificuldades para executar o seu controlador XBOX 360, isso ajudará você a instalá-lo em um computador executando o Ubuntu e também mostrará como configurá-lo. Essas instruções são viáveis ​​para controladores X-Box 360 com ou sem fio.

Começando

Para poder usar o controle com fio / sem fio do Xbox 360 no Ubuntu 12.04 (Precise Pangolin), você precisa primeiro instalar alguns pacotes necessários.

Abra o terminal e execute este comando:

sudo apt-get install --install-recommends jstest* joystick xboxdrv

Você também precisa garantir que o xpad não esteja sendo carregado:

echo "blacklist xpad" | sudo tee -a /etc/modprobe.d/blacklist.conf
sudo rmmod xpad  # unload module if already loaded

Em seguida, execute o xboxdrv:

xboxdrv --silent 

Configurando o Pad

Conecte agora o seu controlador de jogo ao seu PC via USB (com fio) ou conecte o seu receptor de jogos sem fio XBOX 360 PC ao seu controlador sem fio e execute este comando para iniciar a configuração:

jstest-gtk

Na janela exibida, selecione seu controlador (bloco Microsoft X-Box 360, bloco Genérico X-Box etc.) e clique em Propriedades:

insira a descrição da imagem aqui

Nota Se o seu controlador não estiver listado, tente clicar no botão "Atualizar".

Uma nova janela será exibida, ajudando a calibrar o controle do jogo, remapear os botões do controle do jogo (alterar a ordem dos eixos e botões), etc. insira a descrição da imagem aqui

Depois de concluir sua configuração, salve suas novas configurações e feche a janela. Agora você poderá usar seu controle Xbox 360 para jogar no Ubuntu.

Configure o xboxdrv para iniciar na inicialização

Se você estiver fabricando uma máquina dedicada ou quiser garantir que o xboxdrv seja carregado na inicialização, faça o seguinte:

Primeiro, crie um trabalho inicial:

sudoedit /etc/init/xboxdrv.conf

e aí adicione o seguinte conteúdo:

start on filesystem
exec xboxdrv -D
expect fork

Isso garantirá que o xboxdrv seja iniciado na inicialização.

Fontes:

stephenmyall
fonte
Como posso tornar essas alterações permanentes ao usar o steam-login?
Waldir Leoncio
2
Criei um PPA para fazer isso funcionar em 14.04 (algumas pequenas diferenças). Além disso, este PPA marca o xpad como conflito, remove adequadamente as configurações quebradas na instalação e cria uma entrada de Configurações do sistema chamada "Joysticks". Verifique aqui: launchpad.net/~rael-gc/+archive/ubuntu-xboxdrv
Rael Gugelmin Cunha
11
O expect forknão é necessário (e, quando necessário, deve ser colocado primeiro e depois o comando).
Rael Gugelmin Cunha
Para que xboxdrv para iniciar no modo daemon, você pode ter que adicionar uma regra para dbus (ver aqui: github.com/Grumbel/xboxdrv/issues/42 )
TimothyP
O xboxdrv não encontra meu joypad com fio :(
Salvatore Di Fazio
21

Ubuntu 14.04, 15.10, 16.04 :

Criei um PPA para instalar e criar um daemon adequado para a xboxdrvversão 14.04 e posterior.

Além disso, este PPA limpará a configuração quebrada, marcará o xpad como conflito (pare-o, se necessário), inicie o daemon xboxdrv e crie uma entrada "Joysticks" nas Configurações do sistema.

Para instalá-lo, execute em um terminal:

sudo apt-add-repository -y ppa:rael-gc/ubuntu-xboxdrv
sudo apt-get update
sudo apt-get install ubuntu-xboxdrv

PS: Clonei o pacote para outros lançamentos e até o mudei para trabalhar systemd.

Rael Gugelmin Cunha
fonte
3
Nada que eu encontrei poderia fazer com que meu receptor sem fio XBox 360 funcionasse no Linux Mint 17.1 até fazer isso; de repente, vi meu controlador sincronizar diante dos meus olhos pela primeira vez no Linux. Muito obrigado por isso !!!
acejavelin
3
+1 porque isso torna a vida muito mais fácil
16

Finalmente resolvi. Basta digitar isso no Terminal

sudo apt-get update
sudo apt-get install xboxdrv
xboxdrv --silent &

e pressione ctrl + c

e pronto, você acabou de instalar o driver Xbox e está pronto para usar o seu controle Xbox 360: D. Eu acho que quando todo mundo diz que o controlador é um Plug & Play e não é necessário instalar os drivers necessários para usá-lo.

Mohd Arafat Hossain
fonte
E então instale o jstest-gtk através do seguinte "sudo apt-get install jstest-gtk" ou também pode ser encontrado através do Ubuntu Software Center. Infelizmente, todo o pacote XBOX e algum tipo de GUI / programa de teste não foram enviados ao centro de software.
Tony Muro
12

UPDATE: Isso não é necessário para o Kernel 4.2 (talvez 15.10 ou 16.04) e superior. Este bug foi finalmente corrigido: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1272765 .

Se você tiver problemas com os LEDs piscando, adicione este ppa e instale o módulo do kernel xpad fixo do SteamOS. Thanks Valve!

sudo add-apt-repository ppa:mdeslaur/steamos
sudo apt-get update
sudo apt-get install steamos-xpad-dkms

Isso atualiza o módulo xpad no Ubuntu, assim você não precisa do xboxdrv.

jochenh
fonte
Oh meu Deus que parou de piscar Eu te amo
Pitto
11
desatualizado. não está mais disponível. por favor remova a resposta
tatsu
9

Esta é uma atualização das respostas existentes para uma maneira de fazer com que um controlador XBox360 funcione no Wine> = 1.7, incluindo jogos Steam no Wine no Ubuntu> = 13.10. Não são necessárias permissões de root para instalação e operação.

O método abaixo utiliza x360ce.exe , que basicamente fornece códigos Dinput para o Wine se comunicar com um jogo (observe que o seu controlador XBox ainda envia controles Xinput).

  1. Conecte seu controlador XBox360 (ou compatível) para que ele seja reconhecido automaticamente com o módulo do kernel do xpad.

    Não há necessidade de instalar e executar, xboxdrvporque atualmente o controlador parece ser reconhecido. Você não barrar o módulo do kernel Xpad como foi recomendado em tutoriais mais velhos.

  2. Faça o download dos arquivos ZIP do aplicativo Windows (Wine) x360ce e dos binários .dll que acompanham o Xinput e o Dinput.
  3. Extraia os arquivos ZIP para copiar seu conteúdo com pelo menos os seguintes arquivos no diretório executável do jogo (por exemplo, ~/.wine/drive_c/Programs/Games/game.exeou ~/.wine/drive_c/Programs/Steam/SteamApps/common/Name_Of_Game/game.exe):

    • x360ce.exe
    • dinput8.dll
    • xinput1_3.dll

    alguns jogos também podem precisar de:

    • xinput1_9.dll
  4. Execute x360ce.execom o Wine para criar um x360ce.iniarquivo de amostra no diretório do jogo, se ainda não estiver presente.

  5. Sair x360ce.exe(talvez você precise matar o Wine para fazer isso, pois o aplicativo pode travar)
  6. Abra o x360ce.iniarquivo com um editor para adicionar a seguinte linha para evitar falhas ou travamentos futuros:

    Version=1
    
  7. Comece x360ce.exenovamente a reconhecer seu (s) controlador (es) XBox.

  8. Opcionalmente, podemos escolher um arquivo de configuração pré-fabricado assim que o controlador for reconhecido.
  9. Ajuste os botões e os eixos do joystick do seu controlador para os valores apropriados.

    > * <sup> A captura de tela segue </sup> *

  10. Save salva essas configurações no arquivo xbox360ce.ini

  11. Então saia (ou mate) x360ce.exe
  12. Se necessário, abra o x360ce.iniarquivo em um editor novamente para ajustar algumas das configurações.
  13. Seu jogo do Windows agora deve reconhecer o controlador quando iniciado no Wine.
  • Não desconecte o controle, pois ele será reconhecido apenas após o reinício do jogo.
  • Faça backup do arquivo .ini para uso futuro para evitar recalibração.
Takkat
fonte
4

Não tenho certeza do que você tentou, então vamos tentar instruções oficiais primeiro. Por favor, abra um terminal (procure-o no traço) e digite os seguintes comandos, um por um (não é necessário copiar a saída):

sudo add-apt-repository ppa:grumbel/ppa
sudo apt-get update
sudo apt-get install xboxdrv
sudo apt-get install xboxdrv-stable 

Reinicie e o seu receptor sem fio deve ser reconhecido.

Observe que, infelizmente, não há um pacote 12.04 para xboxdrv-stable. Você pode entrar em contato com o mantenedor do pacote , supondo que você tenha uma conta no Launchpad.net. Ainda assim, tente usar o software que precisa do driver.

ζ--
fonte
2

Assim como uma observação lateral não relacionada, o erro que você estava vendo com seu makefile foi devido ao fato de os makefiles usarem guias para indentação e, provavelmente, quando o arquivo foi copiado, essas guias foram alteradas para espaços.

David Rohr
fonte
1

Você não precisa instalar nada, o kernel possui um driver de compilação. Basta conectar o adaptador sem fio ao USB e sincronizar o controlador. xboxdrvsó é necessário se você quiser opções adicionais de configuração, remapeamento de botões, emulação de mouse etc.

Grumbel
fonte
isso simplesmente não é verdade, não trabalhando em 12.04 ou 13.10
Calin
Não trabalha onde? Em 99% dos casos, é um problema do jogo, não do controlador ou do motorista. O xpaddriver do kernel faz parte do Ubuntu há alguns anos.
Grumbel
O xpad é muito ruim com a versão sem fio do gamepad do Xbox360. O adaptador sem fio é reconhecido como o primeiro joypad e o joypad como o segundo. E muitos jogos não têm configuração para alterar qual joystick usar. E, em algumas versões do Ubuntu (como 12.04), o led no gamepad não para de piscar.
Rael Gugelmin Cunha
0

Isso é coisa velha. Deverá funcionar assim que você conectá-lo, se o jogo for compatível. Eu acho que se o jogo espera um controle xbox (ou seja, não um genérico) no Wine, provavelmente não funcionará. Jogos nativos devem funcionar. Ele está listado como um projeto para o Google Summer of Code, portanto está na agenda.

daithib8
fonte
Porra, os jogos não são compatíveis -.-. Eu só testei em um emulador e funcionou ... mas não sobre o vinho :(
Mohd Arafat Hossain
Espere, ele funciona !!!. Tentei Underground 2 no Windows e as obras de controlador Xbox, então eu tento o controlador no Ubuntu U2 e não :( o que está errado?
Mohd Arafat Hossain
Eu acho que se o jogo usa xinput, não vai funcionar. o que é u2?
Daithib8 26/05
Uma abreviação de Underground 2;)
Mohd Arafat Hossain
OK, então esse é um jogo de vinhos.
Daithib8
0

Estou executando o kernel Linux versão 4.0.0 e precisava instalar nada e configurar absolutamente nada para jogar com meus controladores XBOX 360. Até mesmo jogos cooperativos nativos para linux que requerem mais de um controle, como "amantes em um espaço-tempo perigoso" ou "trígono", funcionavam de maneira imediata. Basta conectar os dois controladores e pronto.

Josch
fonte
0

A parte do arrancador do meu controlador não estava totalmente conectada. Esse era o meu problema.

ThorSummoner
fonte