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

Instalar e usar Podman no Debian 11
Containers

Instalar e usar Podman no Debian 11

Apt‑pinning no Debian: guia prático
Administração de sistemas

Apt‑pinning no Debian: guia prático

Injete FSR 4 com OptiScaler em qualquer jogo
Tecnologia

Injete FSR 4 com OptiScaler em qualquer jogo

DansGuardian e Squid com NTLM no Debian Etch
Infraestrutura

DansGuardian e Squid com NTLM no Debian Etch

Corrigir erro de instalação no Android
Android

Corrigir erro de instalação no Android

KNetAttach: Pastas de Rede remota no KDE
KDE

KNetAttach: Pastas de Rede remota no KDE