Steam para ARM em Snap já é estável, segundo Canonical, e está pronto para o próximo passo

Steam para ARM em Snap já é estável, segundo Canonical, e está pronto para o próximo passo

Durante anos, a ideia de jogar no Linux passou por uma transformação impressionante. O que antes exigia configurações complexas e uma boa dose de paciência se tornou algo trivial graças ao Proton, ao Steam Deck e aos investimentos da Valve no ecossistema Linux. Agora, uma nova fronteira começa a ganhar forma: os jogos em dispositivos ARM.

A Canonical anunciou que a versão ARM64 do Steam distribuída via Snap alcançou o canal estável após vários meses de testes em diferentes plataformas. A novidade pode parecer pequena à primeira vista, mas representa mais um passo importante para tornar computadores ARM capazes de executar uma das maiores plataformas de jogos do mundo.

Ao mesmo tempo, a empresa já sinalizou que a solução atual pode ser apenas uma etapa intermediária de uma transição ainda maior.

O desafio de executar o Steam em ARM

O principal obstáculo para levar o Steam ao ARM é relativamente simples de entender. Embora o Linux esteja disponível para diversas arquiteturas de hardware, o cliente oficial do Steam para Linux continua sendo distribuído apenas para sistemas x86 e x86_64, a mesma arquitetura utilizada pela maioria dos computadores tradicionais.

Já os processadores ARM utilizam um conjunto de instruções completamente diferente. Isso significa que o Steam não pode simplesmente ser instalado e executado em um notebook com Snapdragon ou em um mini PC ARM da mesma forma que acontece em um computador baseado em Intel ou AMD.

Foi justamente para contornar essa limitação que a Canonical criou sua solução.

FEX: a peça que torna tudo possível

A versão ARM64 do Steam Snap utiliza o FEX-Emu, um projeto capaz de traduzir instruções x86 e x86_64 para ARM64 em tempo real.

Em vez de depender de uma máquina virtual completa, o FEX funciona como uma camada de compatibilidade que permite executar aplicações originalmente desenvolvidas para processadores x86 diretamente em sistemas ARM.

Graças a isso, o usuário instala o Steam normalmente por meio do Snap e o processo de tradução acontece nos bastidores. Embora exista um custo de desempenho associado, os avanços recentes tornaram essa abordagem muito mais viável do que seria há alguns anos.

Menos emulação, mais desempenho

Uma das novidades presentes na versão estável é a disponibilização dos recursos de “library forwarding”, conhecidos informalmente como thunking.

Em vez de traduzir todas as chamadas gráficas por meio da camada de emulação, determinadas operações podem ser encaminhadas diretamente para bibliotecas ARM nativas presentes no sistema hospedeiro. Isso reduz a quantidade de trabalho necessária para o FEX e diminui parte da sobrecarga associada à emulação.

A Canonical informa que os recursos foram testados internamente em plataformas como os notebooks Snapdragon X Elite e o NVIDIA DGX Spark, embora a funcionalidade permaneça opcional devido às diferenças entre hardwares e jogos.

Dependendo da combinação utilizada, os ganhos de desempenho podem variar significativamente.

O ARM começa a aparecer em mais lugares

Durante muito tempo, falar de Linux ARM significava pensar em placas de desenvolvimento, Raspberry Pi ou dispositivos embarcados. Esse cenário mudou.

A chegada dos processadores Snapdragon para notebooks, o avanço de chips ARM voltados para estações de trabalho e o crescimento do interesse por arquiteturas mais eficientes energeticamente fizeram com que o Linux ARM passasse a ocupar espaços que antes pertenciam quase exclusivamente aos processadores x86.

A Canonical cita três famílias de hardware como foco principal de seus testes atuais: os sistemas NVIDIA baseados na plataforma GB10, notebooks equipados com Snapdragon e os dispositivos Radxa Orion O6.

O simples fato de existir uma preocupação em validar o Steam nesses equipamentos mostra como o mercado está começando a levar o ARM mais a sério também no segmento de entretenimento.

Mas essa solução pode ter prazo de validade

Curiosamente, o anúncio da Canonical não trata apenas do presente. Nos comentários da publicação oficial, Mitchell Augustin, responsável pelo projeto, confirmou que a empresa acompanha de perto um desenvolvimento que pode mudar completamente a estratégia atual.

Recentemente surgiu uma versão nativa ARM64 do cliente Steam para Linux. Ela ainda não recebe grande divulgação por parte da Valve, mas já está sendo utilizada por projetos como o ROCKNIX, que mantém suporte tanto para a versão tradicional baseada em emulação quanto para o novo cliente nativo.

Segundo Augustin, a intenção de longo prazo é reconstruir o Snap utilizando essa versão ARM64 do Steam e eliminar a camada adicional de emulação fornecida pelo FEX. A mudança, porém, não deve acontecer imediatamente.

O Proton 11 é a próxima peça do quebra-cabeça

A principal razão para a cautela é o Proton. Embora o cliente Steam seja uma parte importante da experiência, grande parte do sucesso dos jogos no Linux depende da camada de compatibilidade desenvolvida pela Valve.

A Canonical pretende aguardar a maturação do Proton 11 antes de considerar uma migração completa para o cliente ARM nativo.

Executar o Steam em ARM é apenas uma parte do desafio. O verdadeiro objetivo é garantir que os jogos funcionem corretamente, algo que depende de uma combinação complexa entre cliente, bibliotecas gráficas, drivers e ferramentas de compatibilidade. Uma mudança prematura poderia resolver um problema enquanto cria vários outros.

Ainda não estamos diante de uma plataforma de jogos ARM totalmente consolidada no Linux, mas os avanços recentes mostram que ela está deixando de ser apenas uma curiosidade técnica.

Se a combinação entre hardware ARM, Steam nativo e Proton continuar evoluindo no ritmo atual, é possível que nos próximos anos a pergunta deixe de ser “é possível jogar no Linux ARM?” e passe a ser simplesmente “qual dispositivo ARM você usa para jogar?”.

Fique por dentro das principais novidades da semana sobre tecologia e Linux: receba nossa newsletter!