Compatibilidade de Jogos Windows no Linux com Proton
Proton é uma camada de compatibilidade desenvolvida pela Valve com base no Wine, voltada para permitir que jogos originalmente criados para Windows sejam executados no Linux através do Steam. Essa tecnologia incorpora bibliotecas como DXVK (Direct3D para Vulkan) e VKD3D (Direct3D 12 para Vulkan), além de melhorias específicas para jogos, como suporte a gamepads, integração com o Steam e patching automático.
Arquitetura e Componentes Técnicos
Proton integra diversos projetos de código aberto, organizados de maneira a fornecer uma experiência de usuário transparente:
- Wine: Base de compatibilidade que reimplementa APIs do Windows.
- DXVK: Traduz chamadas de Direct3D 9, 10 e 11 para Vulkan.
- VKD3D-Proton: Tradução de Direct3D 12 para Vulkan, mantida especificamente para compatibilidade com jogos.
- vkd3d-shader / SPIR-V: Compilação intermediária de shaders HLSL para uso no Vulkan.
- FAudio: Reimplementação de XAudio2, X3DAudio e XAPO para áudio compatível.
- esync / fsync: Otimizações de sincronização de threads para desempenho em jogos multithreaded.
- Protonfixes: Conjunto de patches específicos para determinados jogos, aplicados automaticamente via Steam Runtime.
Esses componentes são integrados via scripts e bibliotecas em um prefixo Wine isolado, que é gerenciado automaticamente pela Steam.
Execução e Configuração
A ativação do Proton pode ser feita via Steam:
- Acesse as configurações globais do Steam.
- Ative o suporte ao Steam Play para todos os títulos.
- Escolha a versão do Proton desejada (ex: Proton 9.0-GE).
Para títulos específicos, é possível forçar o uso do Proton via menu de propriedades do jogo.
Estrutura de Diretórios
Proton opera em uma estrutura de prefixos semelhante ao Wine:
~/.steam/steam/steamapps/compatdata/
: Contém os prefixos separados por jogo.~/.steam/steam/steamapps/common/Proton <versão>/
: Arquivos da versão do Proton em uso.
Vantagens e Desvantagens
Vantagens
- Integração com Steam: Atualizações automáticas e configuração transparente.
- Alto grau de compatibilidade: Muitos jogos AAA funcionam com desempenho próximo ao nativo.
- Open Source: Baseado em projetos comunitários e auditáveis.
Desvantagens
- Compatibilidade variável: Jogos com anti-cheat nativo (como Easy Anti-Cheat ou BattlEye) podem falhar.
- Performance variável: Tradução de APIs pode gerar overhead, especialmente em GPUs mais antigas.
- Falta de suporte oficial fora da Steam: Para rodar jogos de outras plataformas é necessário o uso de ferramentas como Lutris ou Heroic Games Launcher.
Conclusão
Proton representa um avanço significativo na acessibilidade de jogos Windows para usuários Linux, oferecendo uma solução eficiente, robusta e em constante evolução. Com o apoio da Valve e da comunidade, ele tornou o Linux uma alternativa viável para jogos, mitigando a dependência de sistemas proprietários para essa finalidade.