Com o Steam Machine, será que o Steam Phone está muito atrás? Hard Philosophy

A ifanr se concentra em "produtos do amanhã", e sua coluna "Filosofia Dura" busca desvendar a superficialidade da tecnologia e dos parâmetros para explorar o elemento humano no design de produtos.
Para os jogadores de PC mais dedicados, a maior ofensa não é necessariamente ser chamado de "fácil" depois de uma partida, mas sim ser questionado sobre algo durante uma discussão sobre o jogo:
Posso jogar este jogo no meu celular?
Essa profunda divisão entre PCs e celulares existe há mais de uma década. Na Europa e na América, o mercado de jogos pelo menos conta com a participação de consoles, mas no mercado interno, onde os consoles não são muito populares, essa lacuna formou uma hierarquia simples de desprezo: jogos para PC são simplesmente melhores que jogos para celular .
Mas as barreiras não são permanentes.
Seja um desenvolvedor de jogos buscando lucro ou um desenvolvedor independente querendo que mais pessoas joguem seu trabalho, todos eles esperam expandir seus jogos para mais plataformas e alcançar mais jogadores.

▲Poço dos Animais
Isso inclui o Steam, atualmente a maior plataforma de vendas de jogos para PC, e a Valve, a empresa por trás dele.
Na verdade, as ambições da Valve vão muito além disso. Embora o trio Steam Machine, lançado apenas no mês passado, ainda seja apresentado no formato familiar de "console", o que a Valve realmente espera é permitir que você jogue jogos AAA de PC no seu celular .

Liberte o Windows de sua gaiola.
Assim como o Steam Deck, o Steam Machine é um console, mas funciona em um PC propriamente dito. A principal diferença entre ele e um computador com Windows é o seu sistema operacional: o SteamOS, baseado no Arch Linux.

▲ SteamOS 3 no Arch Linux
No entanto, a posição consolidada do Windows ao longo de décadas não é facilmente abalada, e o maior desafio para jogar no Linux é que os próprios jogos não são compatíveis.
Para resolver esse problema, a Valve tomou medidas desde o início, incentivando os desenvolvedores a criarem versões separadas para Linux, além das versões para Windows. No entanto, ficou comprovado que esperar que os desenvolvedores de jogos se adaptem proativamente a um número limitado de plataformas de usuários é como esperar neve em Guangzhou .

▲ Imagem | Como ser um geek
Portanto, ao desenvolver o Steam OS para o Steam Deck, a Valve, embora ainda seguindo a linha do Linux, adotou uma abordagem completamente diferente:
Já que os desenvolvedores não estão se adaptando proativamente, vou desenvolver uma camada de compatibilidade suficientemente boa. Contanto que a experiência de jogo não seja comprometida, os jogadores não se importarão se o jogo roda no Windows ou no Linux.
Essa camada de compatibilidade, que "permite que o Linux ofereça uma experiência de jogo comparável à do Windows", é o Proton, da própria Valve. Ela traduz as APIs exigidas pelos jogos do Windows para a linguagem do Linux de forma praticamente sem perdas, permitindo que jogos já disponíveis no Steam sejam executados no Steam Deck .

▲ Imagem|Reddit
Mas os planos da Valve não param no Steam Deck e no Linux. O headset Steam Frame, lançado junto com o Steam Machine, é um prenúncio de outra revolução.
Embora a função principal do Steam Frame seja a de um headset de realidade virtual para streaming, a Valve está, na verdade, testando sua capacidade de executar jogos localmente .

▲ Imagem|CNET
Diferentemente do headset Galaxy VR que vimos no mês passado, a Valve não escolheu o processador Snapdragon AR comumente usado em headsets. Em vez disso, optaram por um Snapdragon 8 Gen 3 — o mesmo processador usado no Xiaomi 14 — permitindo que o Steam Frame não apenas transmita conteúdo, mas também execute jogos do Windows de forma independente usando o SteamOS.
Em outras palavras, começando com o Steam Frame, a Valve não apenas preencheu a lacuna entre os recursos de jogos no Windows e no Linux, mas também preencheu a lacuna entre a plataforma x86 e a ARM, tornando realmente possível que dispositivos ARM executassem jogos de PC baseados em Linux sem problemas .
De x86 nativo para ARM nativo
A tecnologia que permite ao Steam Frame executar jogos de PC usando o Snapdragon 8 Gen 3 é uma camada de compatibilidade, mas não é tão conhecida quanto o Proton; seu nome é FEX.

▲ Imagem|GitHub
Para permitir que jogos da biblioteca Steam, originalmente desenvolvidos para a plataforma Windows x86, sejam executados nativamente no SteamOS (Linux) para a plataforma ARM, o Proton e o FEX precisam trabalhar em conjunto — e é exatamente isso que o Steam Frame faz.

Esse processo pode ser simplificado da seguinte forma:
- O FEX funciona primeiro criando um ambiente de instruções x86 no processador ARM, permitindo assim que o SteamOS inicialize normalmente.
- Após entrar no SteamOS, use o Proton para traduzir jogos do Windows para jogos do Linux e, finalmente, abra e jogue o jogo normalmente.
Como o Linux utiliza principalmente as APIs gráficas OpenGL e Vulkan, enquanto quase todos os jogos desenvolvidos para Windows usam a API gráfica DirectX da Microsoft, a principal tarefa do Proton é traduzir as solicitações de renderização baseadas em DirectX do jogo para Vulkan e, em seguida, transmiti-las para a CPU e a GPU para gerar as imagens.

▲The Witcher 3
Existem, na verdade, muitas "ferramentas de tradução" semelhantes, como o Wine, no qual o Proton é baseado. No entanto, o que realmente permite ao SteamDeck, como um dispositivo portátil de baixo consumo de energia, executar jogos nativos do Windows não é apenas a tradução, mas uma tradução eficiente.
A capacidade do Proton de traduzir DirectX e Vulkan de forma eficiente depende não apenas do DXVK existente no Wine, mas também de dois novos padrões desenvolvidos sob a liderança da Valve: VKD3D-Proton e Ntsync.
A principal função do VKD3D-Proton é traduzir a mais recente API gráfica Direct3D 12 para Vulkan , o que significa que o SteamOS pode executar os jogos de grande orçamento mais recentes desenvolvidos nos últimos anos. Ao mesmo tempo, ele também oferece suporte a ray tracing, Reflex e FSR4 no ambiente Linux, proporcionando diversas vantagens.

▲ Por exemplo, graças ao DX12, o Steam Deck agora é compatível com a tecnologia de baixa latência Nvidia Reflex.
Por outro lado, o Ntsync é uma tecnologia revolucionária para jogos no Linux. Trata-se de um driver de kernel Linux de baixo nível que consegue uma compreensão nativa quase sem perdas da semântica de sincronização do Windows NT.
Resumindo, o Ntsync minimiza o consumo de CPU quando o Linux emula um ambiente Windows , resultando em melhorias significativas para cenários de jogos que exigem muito da CPU (como multidões densas e vegetação).

▲Cyberpunk 2077 V: O prédio de apartamentos no andar de baixo exige muito do processador.
Dessa forma, o SteamOS usa o DXVK para traduzir APIs antigas, o VKD3D-Proton para traduzir APIs novas de forma eficiente e o Ntsync para minimizar o consumo de CPU, permitindo, em última análise, que os desenvolvedores de jogos executem jogos do Windows nativamente no SteamDeck sem precisar fazer adaptações ativas.
No entanto, o SteamDeck ainda usa um processador x86 de nível desktop, enquanto o Steam Frame usa um processador móvel baseado em ARM. Como os jogos do Windows podem rodar nativamente em um ambiente ARM?

▲ Protótipo transparente do Steam Frame da Valve | PC Gamer
A resposta continua sendo a simulação . No entanto, simplesmente traduzir a linguagem do Windows para Linux dentro do Proton não é suficiente; outra ferramenta é necessária para traduzir instruções x86 em instruções ARM, e essa ferramenta é o FEX, que surgiu recentemente.
Como o processo de tradução FEX-Emu é mais complexo, envolvendo conversões para conjuntos de instruções CISC e RSIC, otimização da ordem da memória e tradução de bibliotecas, ele pode ser entendido de forma simplificada como a conversão de instruções x86 para instruções ARM pelo FEX através da compilação Just-In-Time (JIT). O processo de tradução é mais automatizado, e sua adaptabilidade e velocidade são muito mais eficientes do que outras soluções de tradução .

▲ God of War 4 rodando em Risa Starry O6 (plataforma ARM) com a ajuda do FEX | Interligando o Linux
Além disso, quando o FEX e o Proton trabalham juntos, o FEX traduz apenas o código do próprio jogo. Assim que o jogo chama uma API gráfica (como Vulkan ou DX12), a execução passa para o código ARM nativo.
Isso significa que a perda de desempenho causada pela emulação FEX de x86 se limita à parte da CPU da lógica do jogo, enquanto a parte de renderização gráfica da GPU funciona quase em velocidade máxima, possibilitando que o Steam Frame execute jogos do Windows com apenas um Snapdragon 8 Gen 3.

▲ Imagem|Caminhos para a Realidade Virtual
Curiosamente, o Steam Frame não é apenas compatível com jogos do Windows no Steam, mas também com alguns aplicativos do Android — todos implementados no SteamOS, que é baseado no Arch Linux. A camada usada para executar o software Android é essencialmente uma camada de compatibilidade semelhante.
A genialidade disso reside no fato de que, embora o FEX seja um projeto de código aberto, a Valve vem fornecendo financiamento e suporte técnico ao projeto discretamente desde 2018.

▲ Foto|FOSS
Em entrevista ao The Verge, o arquiteto do SteamOS, Pierre-Loup Griffais, afirmou:
Desde 2016, a Valve vem recrutando e financiando desenvolvedores de código aberto para resolver o problema de jogos do Windows rodando em ARM. A Valve não quer que os desenvolvedores de jogos percam tempo portando seus jogos; em vez disso, seu objetivo é usar a tecnologia para tornar as bibliotecas de jogos de PC existentes diretamente compatíveis com as futuras arquiteturas de hardware.
FEX é a "abordagem técnica" escolhida pela Valve: em vez de fazer com que os desenvolvedores criem jogos meticulosamente para diferentes plataformas, é melhor usar uma ferramenta universal que permita que diferentes plataformas entendam o código dos jogos para Windows de forma eficiente . De certa forma, isso também pode ser considerado uma forma de "engenharia de fatores humanos".
O Steam Phone está muito atrás?
Na entrevista do The Verge com Pierre-Loup Griffais, ao final, o editor Sean Hollister fez uma pergunta interessante a Pierre-Loup Griffais:
Haverá celulares rodando SteamOS no futuro?

A resposta de Pierre-Loup Griffais foi um tanto ambígua:
De fato, fizemos algumas tentativas no espaço móvel por meio do aplicativo Steam Link, mas não sei se "desenvolver conteúdo local" ou "desenvolver o SteamOS para esses tipos de dispositivos (celulares)" se tornará nosso foco principal daqui para frente.
A julgar apenas pelas respostas, a Valve posiciona atualmente os celulares principalmente como dispositivos de streaming e tem pouco interesse em desenvolver conteúdo para o SteamOS móvel ou mesmo para o Android nativo.
Mas, como mencionado anteriormente, com o suporte do Proton e do FEX-Emu, o SteamOS está, na verdade, totalmente preparado para executar e suportar jogos do Windows em dispositivos móveis .
De fato, houve alguns casos de entusiastas criando SteamOS em seus celulares, mas devido à falta de suporte nativo, os danos costumam ser enormes. É aceitável para fins de demonstração, mas se você realmente quiser rodar um jogo, esteja preparado para sofrer as consequências.

▲ Imagem|DualShockers
Na realidade, como uma empresa comercial consolidada, a Valve deve ter considerado internamente levar o SteamOS para dispositivos móveis ao se deparar com um mercado global de smartphones superior a US$ 500 bilhões. No entanto, o obstáculo provavelmente não era o custo ou a tecnologia, mas sim algo muito familiar aos jogadores de PC —
Sistema anti-cheat.
Na verdade, sem mencionar o inexistente Steam Phone, mesmo no SteamDeck, uma parcela significativa dos jogos que não funcionam corretamente se deve ao fato de que as medidas anti-cheat integradas não são compatíveis com o ambiente Linux do SteamOS , e não à incompatibilidade do código do jogo.
O motivo disso é que as ferramentas anti-cheat mais utilizadas atualmente, como BattleEye, EAC e Vanguard, precisam ser carregadas na camada do kernel do Windows (Ring 0). No entanto, o Proton, como uma "ferramenta de tradução", não é responsável por emular o kernel, fazendo com que esses softwares anti-cheat determinem que o ambiente é inseguro e se recusem a iniciar o jogo.

▲ BattleEye (esquerda) e EAC (direita)|PCGamesN
Além disso, o FEX, responsável pela tradução de instruções x86 e ARM, funciona por meio de compilação de memória em tempo real. Esse mecanismo de tradução dinâmica é quase idêntico à lógica de trapaças (injeção, hooking, modificação de instruções) aos olhos de softwares anti-cheat. Esse método de afetar a integridade do código também acionará diretamente o alarme de softwares anti-cheat.
Essa contradição, que existe simultaneamente nos níveis de permissão desiguais (Anel 0 e Anel 3), no ambiente de kernel não confiável e no conflito entre o mecanismo de detecção e a lógica de tradução, será um problema irreconciliável, a menos que os fornecedores de software anti-cheat tomem a iniciativa de recuar e fornecer versões para Linux/ARM que não dependam de drivers de kernel. Caso contrário, considerando apenas a solução de emulação atual da Valve, será um problema irreconciliável.

▲ Foto|Dexerto
Diante desse problema, a única solução pode ser a Valve usar sua posição de mercado para pressionar os fornecedores de sistemas anti-cheat a implementarem uma certificação especial de lista branca para o ambiente Proton + FEX, tratando o Steam Machine, o Steam Frame e o Steam Phone de forma diferente.
No entanto, essa solução só está disponível para fabricantes que estejam dispostos a cooperar. Para jogos que exigem forte proteção do kernel (como muitos títulos da Riot), essa abordagem ainda não é viável.
No entanto, "dificuldade" não significa "impossível". Afinal, os problemas que o Steam Phone enfrenta agora são exatamente os mesmos desafios que o SteamDeck enfrentou. Já que a Valve conseguiu otimizar alguns jogos com recursos anti-cheat integrados para o SteamDeck, não é impossível impulsionar o desenvolvimento de novos recursos anti-cheat para o Steam Phone.

▲ Imagem|CNET
Além disso, mesmo que o Steam Phone fique de fora de 99% dos jogos multiplayer online devido à sua incapacidade de carregar medidas anti-cheat, o vasto catálogo de jogos para Windows do Steam ainda oferece inúmeros títulos excelentes que não dependem da internet nem exigem medidas anti-cheat.
Com a memória RAM, discos rígidos, placas gráficas e até mesmo o próprio Windows ficando cada vez mais caros, a Valve certamente explorará mercados além dos PCs . O Steam Frame é apenas o primeiro passo; o Steam Phone em si certamente não está muito longe.
Deixando tudo de lado, só de imaginar quando poderei jogar jogos como RimWorld, VA-11 Hall-A, Night in the Woods ou até mesmo Disco Elysium a qualquer hora e em qualquer lugar no meu Steam Phone, já seria uma experiência incrível.

▲ Imagem|Comunidade Steam
#Siga a conta oficial do iFanr no WeChat: iFanr (ID do WeChat: ifanr), onde você encontrará conteúdo ainda mais interessante o mais breve possível.

