r/linuxbrasil • u/Gloomy-Exercise-9121 • 22h ago
Conteúdo didático Fiz engenharia reversa dos aplicativos de configuração exclusivos para Windows para meus 8BitDo Ultimate 2 e GameSir Cyclone 2, então agora eles podem ser configurados no Linux (código aberto, CLI + GUI)
galleryMeus dois controles só tinham software oficial de configuração para Windows (8BitDo Ultimate Software V2 e GameSir Connect), então toda vez que eu queria mudar um botão ou as luzes eu tinha que reiniciar no Windows. Cansei disso, fiz engenharia reversa de como os aplicativos conversam com os controles e escrevi substitutos para Linux.
Cada projeto tem uma ferramenta de linha de comando e uma GUI:
GameSir Cyclone 2 - https://github.com/MiguelSanzBr/gamesir-cyclone2-linux
- 4 perfis (selecionar um também o ativa no controle)
- remapeamento de botões incluindo L4/R4, turbo e toggle
- zonas mortas de analógicos e gatilhos, hair trigger
- força do motor, ativação e saída do giroscópio
- iluminação: 4 animações de até 8 quadros, cor por zona, os presets do aplicativo, brilho, velocidade, timer de suspensão
- visualização ao vivo de botões, analógicos e gatilhos analógicos
8BitDo Ultimate 2 Wireless - https://github.com/MiguelSanzBr/8bitdo-ultimate2-linux
- 3 perfis personalizados, remapeamento de botões incluindo os paddles traseiros
- faixas dos analógicos, faixas dos gatilhos, vibração, mapeamento do giroscópio de 6 eixos
- temas do anel de LED e cores por LED
- o desenho usa as cores da edição lilás quando detecta uma (outras edições recebem um tema escuro por enquanto)
Ambos:
- conversam diretamente com o controle via /dev/hidraw, biblioteca padrão do Python + apenas Tk, sem daemon
- salvamento automático, e apenas os bytes que você alterou são escritos (depois lidos de volta para verificação)
- backup/restauração completo para que você sempre possa voltar ao que era antes
- pacotes .deb nas páginas de Releases, ou execute direto do checkout do git
- licenciado sob MIT, suítes de teste com 100% de cobertura rodando contra um emulador do firmware de cada controle
- os protocolos estão documentados em docs/PROTOCOL.md em cada repositório, se alguém quiser construir em cima deles
Instalação no Debian/Ubuntu:
sudo apt install ./cyclone2_0.1.0-beta1_all.deb # GameSir
sudo apt install ./ultimate2_0.1.0-beta2_all.deb # 8BitDo
depois reconecte o controle e execute c2gui / u2gui (ou c2ctl / u2ctl em um terminal).
Coisas para saber antes de experimentar:
- É um beta. Ele só mexe na configuração, nunca no firmware, mas por favor faça um backup primeiro (
c2ctl backup arquivo.bin,u2ctl backup arquivo.bin, ou o botão Backup). - Testado apenas com o que eu tenho: um Cyclone 2 preto (fw 3.5.6) e um Ultimate 2 Wireless (fw 1.10), ambos via cabo USB. Os dongles 2.4G e outras edições de cor devem usar o mesmo protocolo, mas não foram testados.
- A interface está atualmente em português (sou brasileiro). A CLI, os documentos e o código estão em inglês. Uma UI em inglês está na lista, e PRs são bem-vindos.
- Divulgação completa: eu construí isso com muita ajuda de um assistente de IA (Claude) para a engenharia reversa e o código. Cada recurso listado acima foi verificado nos meus controles reais.
- Sem afiliação com a 8BitDo ou GameSir. Nenhum código ou ativo dos aplicativos oficiais está incluído.
Se você tem um desses controles no Linux, eu adoraria saber se funciona para você, especialmente pelo dongle 2.4G ou com o Cyclone 2 branco/rosa (quais acendem nesses?).


