Os dispositivos portáteis para jogos Arm têm um asterisco anexado a eles há anos. Eles funcionam muito bem para jogos e emulação Android, mas se você quiser jogar sua biblioteca real de PC, uma máquina x86 geralmente tem sido a resposta. Ou seja, algo como Steam Deck, ROG Ally ou qualquer máquina com chip AMD ou Intel. Arm era para coisas em formato de telefone e x86 era para jogos de PC “reais”, e essa divisão parecia permanente há muito tempo.
No entanto, alguém fez o Steam funcionar no Nintendo Switch original em 2017 usando um chip Nvidia Tegra lançado há quase uma década. O Proton 11 beta adicionou suporte para Arm, o modder colocou-o no Switch e inicializou no Linux, e o cliente Steam foi carregado. Parece um truque de festa e, para ser honesto, o Switch é principalmente. Mas deixou algo muito claro: se funcionar no Switch, é improvável que o portátil x86 seja o fim do jogo para os portáteis de jogos para PC.
Quero deixar claro o que “funciona” significa aqui, porque é… relativo. O clipe que me impulsionou a crescer neste mundo mostrou apenas a interface do Steam, não os jogos reais. Na verdade, são necessárias várias soluções para reproduzir qualquer coisa e, mesmo assim, você terá taxas de quadros baixas e uma lista bastante longa de advertências.
Para ser claro, o Switch não é um bom dispositivo para isso, mas não acho que seja sempre bom nisso. Não, a questão é que ele está rodando em um hardware tão antigo, o que tem um grande impacto no fato de que as barreiras não são tão altas quanto podem parecer do lado de fora.
Existem várias soluções alternativas necessárias para mudar o Steam para Switch
Switchdeck torna tudo mais fácil, no entanto
Proton 11 beta adicionou suporte Arm64 e pacote FEXum tradutor que traduz instruções x86 em um formato que o chip Arm possa entender. Em uma máquina Arm Linux moderna, isso é quase tudo que você precisa. O Switch não funciona, já que o núcleo L4T do console é antigo e muito antigo para rodar o FEX, mas há uma alternativa.
Esta alternativa envolve abandonar o FEX para o Box64, um tradutor comunitário mais antigo, e contar com um projeto chamado Painel de comutação que automatiza as peças sujas. Está fazendo downgrade do cliente Steam até meados de abril porque os mais recentes travam com erros de instrução ilegais no hardware, e está carregando DXVK-Sarek e VKD3D no Proton porque o Tegra X1 só roda até Vulkan 1.2.
O resultado é que você tem um cliente Steam funcional que pode rodar alguns jogos, mas é difícil. A memória é limitada e você escolhe uma versão diferente do Proton para cada jogo com títulos de 32 bits que exigem patches separados. Ninguém envolvido finge que é plug and play, e você não deveria esperar que fosse.
No entanto, apesar de tudo isso, o resultado final é que você tem jogos x86 rodando no chip Arm 2017. A maioria dos problemas específicos do Switch vem do trabalho com um kernel antigo, memória limitada e suporte Vulkan da era Tegra, em vez de provar uma tradução x86 para Arm do zero.
A camada de tradução não é a parte impossível
Quando se trata do hardware em si, geralmente é
A razão pela qual isso é possível é o pouco que a tradução realmente exige do hardware. Box86 e Box64, ambos feitos em grande parte pelo mesmo desenvolvedor, não emulam um computador x86 inteiro como o QEMU faz. Eles traduzem o código do próprio jogo e, em seguida, redirecionam suas chamadas para bibliotecas do sistema diretamente para as versões nativas do Arm já existentes no dispositivo, como libc, SDL e OpenGL. Um chip nunca deve fingir ser um computador x86 completo.
Camadas de compatibilidade são a razão pela qual funciona. No Steam, o Proton traduz a API do Windows e as chamadas gráficas em um formato que pode ser executado no Linux. No Arm, projetos como FEX ou Box64 adicionam outra camada, convertendo também o código da CPU x86 em código Arm. Essa camada extra tem um custo de desempenho, mas as instruções x86 ainda podem ser executadas em algo tão pequeno quanto um Raspberry Pi. Além disso, há um recompilador dinâmico que é cinco a dez vezes mais rápido do que interpretar instruções uma por uma, para que você obtenha velocidade sem emulação completa. Para trabalho bruto da CPU, Box64 usado para ultrapassar FEXque é um tradutor que a Valve passou anos financiando. Alguns anos atrás, os benchmarks do próprio desenvolvedor do Box86 colocaram o Box64 cerca de duas a três vezes mais alto que o FEX em tarefas como 7-zip. Hoje, a diferença é muito menor.
O Nintendo Switch não tem como objetivo rodar jogos de PC e não precisa entender nenhuma instrução x86 para poder fazer isso. Uma fina camada de tradução lida com o código da CPU, enquanto DXVK/VKD3D e a pilha gráfica nativa fazem o trabalho gráfico. O fato de o hardware ser fraco e antigo não influencia se ele funciona ou não, apenas se realmente funciona. jogável ou não.
No entanto, isso não significa que seja um avanço esperando para acontecer e, na verdade, o x86-on-Arm não é mais o principal bloqueador de antes, graças a projetos comunitários como Box64, Apple Rosetta 2, Microsoft Prism, Valve FEX e muito mais. A tradução está madura há muito tempo, mas falta hardware projetado para explorá-la adequadamente.
A maior parede é problema do Android, não do Arm
x86 traduz bem para Arm
Já sabemos que os chips Arm modernos podem fazer isso porque as pessoas estão fazendo isso em telefones agora. Telefones e PDAs Snapdragon rodam Cyberpunk 2077, The Witcher 3 e muitos outros jogos para PC usando aplicativos como Winlator e GameHub, que é a mesma ideia Box64-and-Wine embrulhada em algo mais acessível. Um chip de telefone com dois anos de idade, que nem mesmo é uma parte dedicada para jogos, pode lidar com um jogo de PC bem o suficiente para realmente se divertir.
Eu já percorri esse caminho há muito tempo e isso criou algo estranho. Quando tentei executar o Portal 2, meu telefone mais novo e mais rápido, o Oppo Find N5 com Snapdragon 8 Elite, falhou, enquanto o antigo Samsung Galaxy Z Fold 5 e seu Snapdragon 8 Gen 2 foi o que funcionou. O motivo não foi o poder do chip ou da camada de tradução. Era o driver da GPU. A execução de jogos de PC no Android depende do Mesa Turnip, um driver de código aberto com engenharia reversa para os gráficos Adreno da Qualcomm, e de novas GPUs emblemáticas, como a 8 Elite Adreno 830, cujo suporte ainda não está tão maduro. Chips mais antigos, como o Snapdragon 8 Gen 2, tiveram anos de trabalho com o Turnip, então simplesmente funciona.
É isso que as pessoas perdem quando descartam os computadores de mão Arm. A bagunça do gerente não tem nada a ver com o próprio Arma. Isso vem da tentativa de rodar jogos em um telefone que nunca foi construído para isso, usando um driver mantido pela comunidade, usando silício bloqueado que ninguém otimizou para jogos. Você luta contra a plataforma o tempo todo.
Um computador portátil construído e comercializado para jogos não herda nada disso. Ele vem com um driver de GPU escrito e validado para seu chip exato, integrado ao sistema e ajustado pensando no jogo. O driver funciona como no console, o que significa que você não precisa pesquisar no servidor Discord para obter a versão beta do Turnip, pois o fabricante já fez o trabalho e enviou o resultado.
A Qualcomm já está empurrando o hardware nessa direção. Seu Snapdragon G3 Gen 3 é um chip projetado especificamente para dispositivos portáteis de jogos e já está aparecendo em dispositivos de empresas como Ayaneo e OneXPlayer. Ayaneo diz que seu Pocket S2 suporta Turnip pronto para uso, o que é mais importante aqui: os fornecedores estão começando a ver a compatibilidade de jogos para PC como parte do produto.
O Steam Frame foi projetado para essa finalidade
Pilha integrada para tradução
A Valve já mais ou menos montou tudo. O Moldura de vaporseu próximo headset VR roda em Snapdragon 8 Gen 3 e roda SteamOS nativamente em Arm, e FEX lida com jogos x86. Os próprios engenheiros da Valve estimam os custos indiretos do FEX em 10 a 20 por cento, uma penalidade de tradução com a qual a maioria das pessoas não se importa na prática.
Os números que as pessoas já retiraram do FEX confirmam isso. A Radxa Orion O6, uma placa de desenvolvimento Arm em vez de qualquer coisa para jogos, teve DOOM 2016 rodando em torno de 60fps a 1080p, Portal 2 confortavelmente acima de 100 e The Witcher 3 na faixa de 40s para testadores. Mesmo com um Lenovo ThinkStation PGX GB10, consegui ultrapassar 100fps no Cyberpunk 2077 a 1440p. Em ambos os casos, é a camada de tradução que faz o verdadeiro trabalho em chips que nunca foram feitos para jogos, especialmente o Orion O6, e a vantagem do Frame é que ele foi projetado exatamente para isso.
Cada camada do Steam Frame é construída e enviada junto, o que inclui chip, sistema operacional, drivers e tradução entregues em um único pacote. É como o Steam Deck, exceto que há uma camada adicional de x86 para Arm. Você não precisa fazer downgrade no Steam porque o suporte Vulkan não precisa de patch. O problema é que deveria funcionar como uma pilha integrada porque a Valve fez com que funcionassem juntos.
O Frame é um fone de ouvido, não um portátil, então é claro que estou extrapolando um pouco aqui, mas no final das contas é mais ou menos a mesma coisa. Possui dois monitores, um chip para processamento e uma GPU. Não há muita diferença entre SteamOS, Proton e FEX rodando em um Snapdragon SoC em um fone de ouvido e o mesmo, mas em um computador de mão. O fato de estar rodando no Steam Frame significa que muitas das partes difíceis no nível da plataforma já foram feitas pela empresa que provavelmente definiu o que é um PC portátil.
O que isso significa para o PDA que comprarei em seguida
x86 não é mais uma suposição
Por enquanto, x86 ainda é a aposta segura para os jogadores e seria tolice fingir o contrário. Os chips Steam Deck AMD e tudo mais não têm nenhum custo de tradução do ponto de vista da CPU. Por mais eficiente que seja, a tradução sempre tem um custo, geralmente em termos de desempenho e duração da bateria. Se você está comprando um computador de mão hoje, é quase certo que está comprando algo baseado em x86, e por um bom motivo.
No entanto, as barreiras para Arm ser uma plataforma de jogos já desapareceram. A tradução tem sido incrivelmente fácil, e as dores de cabeça que a maioria das pessoas sente só aparecem em dispositivos como o Nintendo Switch ou um smartphone Android que nunca foi projetado para isso. Um dispositivo que é feito para jogos não seria a mesma dor de cabeça. A Valve já se comprometeu a entregar uma máquina Arm que funcione com grande parte de sua biblioteca Steam sem muito barulho, e a transição de lá para portátil é incrivelmente pequena.
Em alguns anos, quando eu substituir meu Steam Deck ou Ayaneo 3, não estarei realmente funcionando, presumindo que haja mais um chip x86 dentro dele. Tenho certeza de que o Steam Frame irá percorrer um longo caminho para provar a viabilidade do Arm como plataforma de jogos, mas o Nintendo Switch original foi o que me fez pensar nele em primeiro lugar.







