Guia de tecnologias

Configurar, calibrar e trocar o driver do gamepad no Linux

6 min read Linux Atualizado 05 Oct 2025
Gamepad no Linux: configurar, calibrar e trocar driver
Gamepad no Linux: configurar, calibrar e trocar driver

Introdução

Linux é muitas vezes considerado a plataforma menos usada por gamers, mas o interesse em configurar gamepads no sistema cresceu — especialmente desde que a Valve disponibilizou vários títulos no Linux via Steam. O suporte de hardware melhorou muito: desde o kernel 3.19 a maioria dos gamepads funciona «out of the box». Ainda assim, o módulo xpad do kernel pode apresentar bugs com alguns controladores e oferece poucas opções de configuração.

Definições rápidas

  • xpad: driver do kernel para controladores Xbox.
  • xboxdrv: driver de usuário alternativo, com mais opções de configuração.
  • jstest-gtk: utilitário gráfico para testar e calibrar joysticks.
  • qjoypad: ferramenta para mapear botões do gamepad para teclas do teclado/mouse.

Importante: este guia foca em distribuições baseadas em Debian/Ubuntu (uso dos comandos apt). Ajuste os comandos para sua distro (pacotes e gerenciador diferem).

Como escolher um driver — guia rápido

Use este fluxograma para decidir qual driver tentar primeiro:

flowchart TD
  A[Gamepad funciona bem com xpad?] -->|Sim| B[Manter xpad]
  A -->|Não| C[Tentar xboxdrv]
  C --> D{xboxdrv funciona?}
  D -->|Sim| E[Configurar startup / udev]
  D -->|Não| F[Tentar ubuntu-xboxdrv ou outro driver]
  F --> G[Investigar suporte do fabricante / kernel]

Usar um driver alternativo

  1. Instalar xboxdrv

Abra um terminal e execute:

sudo apt-get update
sudo apt-get install xboxdrv

Se quiser a versão mais recente (suporte a mais dispositivos além dos controladores Xbox), baixe do site do projeto xboxdrv.

  1. Executar xboxdrv sem conflito com o xpad

Você não pode ter dois drivers controlando o mesmo dispositivo ao mesmo tempo. Remova temporariamente o módulo xpad do kernel e inicie o xboxdrv:

sudo rmmod xpad
sudo xboxdrv --detach-kernel-driver

Ou, se preferir iniciar em silêncio:

sudo xboxdrv --silent --detach-kernel-driver

Você saberá que o xboxdrv está ativo porque o terminal começará a exibir eventos de botões e posições de eixos.

Instalar xboxdrv

  1. Alternativa: ubuntu-xboxdrv (PPA)

Se o xboxdrv padrão não funcionar para seu dispositivo, experimente o pacote ubuntu-xboxdrv (baseado em xboxdrv mas com ajustes). Adicione o PPA por sua conta e risco:

sudo apt-add-repository -y ppa:rael-gc/ubuntu-xboxdrv
sudo apt-get update
sudo apt-get install ubuntu-xboxdrv
  1. Evitar que o xpad carregue no boot

Crie um arquivo de blacklist para impedir que o kernel carregue o módulo xpad automaticamente:

echo 'blacklist xpad' | sudo tee /etc/modprobe.d/blacklist-xpad.conf

Depois reinicie para confirmar que o xpad não é carregado.

Opcional: criar um serviço systemd para iniciar o xboxdrv no boot (exemplo mínimo)

sudo tee /etc/systemd/system/xboxdrv.service > /dev/null <<'EOF'
[Unit]
Description=xboxdrv user driver
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/xboxdrv --detach-kernel-driver --silent
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now xboxdrv.service

Ajuste o ExecStart conforme necessário (parâmetros, usuário, logs).

Calibrando o gamepad

Instale a ferramenta gráfica jstest-gtk:

sudo apt-get install jstest-gtk

Abra o jstest-gtk, selecione seu dispositivo e clique em “Propriedades”. Essa janela mostra indicadores de posição para botões e eixos.

Run xboxdrv.

Use a tela para verificar se tudo responde e se há desvio (drift). Se o gamepad precisar de calibração:

  • Clique em “Calibração” no canto inferior direito.
  • Em seguida, clique em “Iniciar calibração” na nova janela.
  • Siga as instruções na tela (mexa nos eixos conforme pedido).

Calibrate Gamepad on Ubuntu.

Se quiser remapear a ordem dos botões, clique em “Mapping” e defina a nova correspondência. Alterações feitas aqui afetam todos os jogos e aplicações.

Calibrating Gamepad - Step 2.

Mapear botões para teclado/mouse (qjoypad)

Para relacionar ações do gamepad a teclas do teclado ou movimentos do mouse, instale qjoypad:

sudo apt-get install qjoypad

Execute:

qjoypad --notray

Crie novos perfis clicando em “Add” (Adicionar) e nomeando-os. No meu exemplo, atribuí a letra “H” quando o eixo esquerdo vai para a esquerda e “O” quando vai para a direita.

Set Gamepad configuration - Part 1.

Use “Quick Set” para detectar automaticamente qual botão você pressionou e então atribuir a tecla correspondente.

Set Gamepad configuration - Part 2.

Ao fechar a interface, qjoypad pode ir para a bandeja do sistema — permitindo alternar perfis sem reabrir o app.

Set Gamepad configuration - Part 3.

Resolução de problemas comuns

  • LEDs do controle piscando ciclicamente: sinal clássico de conflito entre xpad e xboxdrv. Remova o módulo xpad (sudo rmmod xpad) e/ou adicione ao blacklist.
  • Controle não responde no Steam: verifique permissões e se o driver está rodando no usuário correto. Adicione regras udev para permitir acesso a dispositivos USB (exemplo abaixo).
  • Drift / stick com comportamento errático: passar por calibração no jstest-gtk; se persistir, verifique sujeira física ou substituição do módulo analógico.
  • Eixos invertidos: no jstest-gtk/mapeamento do xboxdrv é possível inverter eixos com parâmetros ou usando a interface de mapeamento.
  • Permissões (acesso negado): crie uma regra udev para seu vendor/product ID e recarregue regras:
# Exemplo de /etc/udev/rules.d/99-gamepad.rules
SUBSYSTEM=="input", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="028e", MODE="0666"

sudo udevadm control --reload
sudo udevadm trigger

Substitua os IDs pelo seu dispositivo (use lsusb para descobrir).

Quando isso pode falhar (contraexemplos)

  • Gamepads proprietários mais novos podem ser suportados apenas por drivers específicos no kernel; xboxdrv pode não fornecer suporte completo a recursos especiais (LEDs, touchpads).
  • Em distribuições com init systems diferentes ou com políticas de segurança rígidas, scripts de inicialização e serviços systemd podem exigir adaptações.

Checklist rápido (playbook)

  • Verificar se o dispositivo aparece: lsusb && jstest-gtk
  • Tentar xpad primeiro (conveniência)
  • Se falhar, rmmod xpad e testar xboxdrv
  • Blacklist xpad se xboxdrv for usado permanentemente
  • Calibrar em jstest-gtk
  • Criar regra udev para permissões, se necessário
  • Configurar serviço systemd para iniciar xboxdrv automaticamente

Matriz de compatibilidade (resumo qualitativo)

  • Controladores Xbox 360/One: geralmente suportados nativamente por xpad; xboxdrv e ubuntu-xboxdrv oferecem mais opções.
  • Controladores genéricos: xboxdrv pode funcionar, mas verifique mapeamentos.
  • Gamepads com recursos proprietários: pode exigir drivers do fabricante ou kernel atualizado.

Exemplo de playbook para administradores

  1. Teste sem alterar: plugue o gamepad e rode jstest-gtk.
  2. Se houver problema, capture logs: dmesg | tail -n 50.
  3. Rmmod xpad e teste xboxdrv manualmente.
  4. Se funcionar, automatize: blacklist + systemd service.
  5. Documente perfil qjoypad e compartilhe com usuários.

Lista curta de verificação por função

  • Jogador: testar em jstest-gtk, calibrar, criar perfil qjoypad.
  • Administrador de sistema: criar regra udev, blacklisting, serviço systemd.
  • Desenvolvedor de jogos: validar mapeamentos, oferecer opção de remapear botões no jogo.

Glossário (1 linha cada)

  • Kernel: núcleo do sistema operativo que fornece drivers e acesso ao hardware.
  • Module: componente carregado no kernel para suportar hardware específico (ex.: xpad).
  • udev: gerenciador de dispositivos do Linux que aplica regras quando hardware é conectado.

Resumo final

Substituir o módulo xpad por xboxdrv (ou ubuntu-xboxdrv) e calibrar com jstest-gtk resolve a maior parte dos problemas de compatibilidade e configuração de gamepads no Linux. Para uso contínuo, adicione o xpad ao blacklist, crie regras udev para permissões e, se necessário, um serviço systemd para iniciar o driver automaticamente.

Notas importantes

  • Faça backup de arquivos de configuração antes de alterar /etc/modprobe.d ou /etc/udev.
  • Não adicione PPAs sem verificar a origem e a compatibilidade com sua distribuição.
Autor
Edição

Materiais semelhantes

Driver FT232R USB UART: instalar e corrigir
Drivers

Driver FT232R USB UART: instalar e corrigir

Slopsquatting: Proteja-se de pacotes maliciosos
Cibersegurança

Slopsquatting: Proteja-se de pacotes maliciosos

Transmitir vídeos do Telegram sem baixar
Tutoriais

Transmitir vídeos do Telegram sem baixar

Desativar 'Let's finish setting up your device' no Windows 11
Windows 11

Desativar 'Let's finish setting up your device' no Windows 11

Arquivar pedidos na Amazon — guia rápido
Guias

Arquivar pedidos na Amazon — guia rápido

Gamepad no Linux: configurar, calibrar e trocar driver
Linux

Gamepad no Linux: configurar, calibrar e trocar driver