Como funciona o Proton no Steam Deck

Se você tem um Steam Deck e está curioso para saber como ele roda jogos baseados em Windows no Linux, você veio ao lugar certo!

Se você tem um Convés de vapor, você provavelmente está surpreso com a quantidade de jogos que rodam nele. Não é apenas um portátil, mas também um portátil que roda Linux. Apesar da má reputação do sistema operacional em rodar videogames, títulos AAA como Ciberpunk: 2077 e Grand Theft Auto V funciona muito bem no Steam Deck. Isso graças ao Proton, a camada de compatibilidade desenvolvida pela Valve e CodeWeavers.

O que é próton? Como funciona?

O Proton é, na verdade, alguns anos mais velho que o Steam Deck, lançado pela primeira vez em agosto de 2018. Na época, a Valve disse que "os jogos para Windows sem versão Linux atualmente disponíveis agora podem ser instalado e executado diretamente do cliente Linux Steam, completo com Steamworks nativo e OpenVR apoiar."

Antes do Proton, os jogadores no Linux muitas vezes precisavam de portas nativas de jogos para seus sistemas ou eram forçados a confiar em camadas de compatibilidade de terceiros, como o Wine. O Wine funciona muito bem, mas muitas vezes exigia muitos ajustes para que as coisas funcionassem perfeitamente, com jogos como

DOOM (2016) sendo jogável com um pouco de trabalho.

É aqui que entra o Próton. Isso elimina a necessidade de qualquer trabalho por parte do usuário final. A ideia é que você possa simplesmente instalar o jogo e jogá-lo como se fosse uma versão nativa, sem que o usuário final precise saber o que está acontecendo nos bastidores.

O Proton funciona em conjunto com uma versão modificada do Wine. Wine funciona como uma camada que traduz chamadas de API do Windows para chamadas POSIX (Portable Operating System Interface) ao mesmo tempo que recria uma estrutura de diretórios do Windows e fornece implementações alternativas de sistema Serviços. O Wine não usa nenhuma emulação ou virtualização para executar binários do Windows.

A outra parte do Proton que é essencial para a equação do jogo é sua capacidade de traduzir chamadas de API Direct3D. Inclui DXVK, uma camada de tradução baseada em Vulkan para Direct3D 9, 10 e 11, com suporte para Direct3D 12 fornecido via VKD3D-Proton, um fork do VKD3D do Wine.

Quanto ao Direct3D, é uma API gráfica para máquinas Windows e faz parte do DirectX, e o Proton essencialmente interpreta essas chamadas de API Direct3D. Proton cria sua própria versão desta biblioteca com a qual os jogos podem interagir. O Proton então roteia internamente essas chamadas para a API Vulkan, permitindo que o jogo seja executado como se estivesse em uma máquina Windows.

Proton é totalmente de código aberto, que a Valve diz que “permitirá aos usuários avançados a capacidade de alterar o Proton”. A construção personalizada do Proton mais popular é Próton-GE, que incorpora as alterações experimentais mais recentes do Proton. Ele contém outros patches e recursos que o Proton normal também não contém.

O futuro do Próton

O Proton sempre pode ser trabalhado e melhorado, mas do jeito que está já é um projeto maduro e desenvolvido. Com títulos enormes já jogáveis, não há muito mais que os jogadores possam pedir. Ainda existem alguns problemas de compatibilidade e falhas gráficas que surgem, mas em geral, jogar no Proton é indistinguível de jogar nativamente no Windows.

Uma coisa em que a Valve poderia se concentrar a seguir é rebasear a versão Wine na qual o Proton se baseia para um lançamento mais recente. O Proton está atrás da versão oficial mais recente do Wine em vários lançamentos, e projetos comunitários de código aberto, como o Proton-GE, visam adicionar recursos adicionais e rebase para versões mais recentes do Wine.

É claro que o objetivo final da Valve é estabilidade e compatibilidade, e é por isso que não inclui apenas todas essas mudanças que projetos como o Proton-GE conseguiram alcançar. Se você é um usuário avançado, nada o impede de instalar e usar o Proton-GE, mas para o jogador comum, o Proton estável é definitivamente a melhor opção.