A evolução da tecnologia é um processo contínuo e fascinante. No mundo dos jogos, essa evolução é ainda mais evidente. A cada dia, novas fronteiras são ultrapassadas, novos limites são estabelecidos e novas possibilidades são descobertas. Uma dessas fronteiras é a capacidade de rodar jogos desenvolvidos para sistemas x86/x86_64 em sistemas ARM Linux, uma tarefa que tem desafiado os desenvolvedores por algum tempo.
Nesse contexto, surge o projeto FEX 2405, um esforço de código aberto que visa justamente permitir essa transposição. O projeto tem como objetivo permitir a execução de binários x86/x86_64 em sistemas Linux AArch64, abrindo um novo mundo de possibilidades para os usuários desses sistemas.
Hoje, vamos falar sobre um avanço significativo nesse sentido: o progresso do projeto FEX 2405 em tornar o jogo Far Cry (2004) jogável em sistemas ARM Linux. Far Cry é um jogo de tiro em primeira pessoa que foi um marco na indústria quando foi lançado, e a possibilidade de rodá-lo em sistemas ARM Linux é um passo importante na evolução dos jogos para esses sistemas. Vamos explorar esse tópico em detalhes nos próximos parágrafos.
O que é FEX 2405?
FEX 2405 é um projeto de código aberto que visa permitir a execução de binários x86/x86_64 em sistemas Linux AArch64. Em outras palavras, é uma camada de emulação que permite que programas e jogos originalmente projetados para serem executados em sistemas x86/x86_64 sejam executados em sistemas ARM Linux.
O projeto FEX 2405 é uma parte crucial do esforço contínuo para tornar os sistemas ARM Linux mais acessíveis e versáteis. Com o lançamento mais recente, o FEX 2405 está perto de fazer o jogo Far Cry (2004) rodar em dispositivos ARM Linux.
Isso é uma conquista significativa, pois Far Cry é um jogo que foi originalmente desenvolvido para sistemas x86/x86_64. Conseguir fazer com que ele seja executado em sistemas ARM Linux é um testemunho do poder e da flexibilidade do FEX 2405.
O FEX 2405 não é apenas um projeto de emulação, mas também uma demonstração do que é possível quando a comunidade de código aberto se une para resolver um problema. É um exemplo de como a inovação e a colaboração podem levar a avanços significativos na tecnologia de jogos. E, com cada nova versão do FEX, estamos um passo mais perto de um futuro onde os jogos para sistemas x86/x86_64 podem ser jogados em qualquer dispositivo, independentemente da arquitetura do sistema.
Aproximando-se do objetivo
O FEX 2405 está se aproximando de um marco importante: a capacidade de rodar o jogo Far Cry em sistemas ARM Linux. Este é um objetivo que tem sido perseguido por algum tempo e, com o lançamento mais recente do FEX 2405, parece que estamos mais perto do que nunca de alcançá-lo.
O FEX 2405 implementa suporte para a instrução SMSW, que é raramente usada, mas que o jogo original Far Cry requer. Esta instrução é crucial para a execução do jogo e, até agora, tem sido um obstáculo para rodar o Far Cry em sistemas ARM Linux. Com a implementação desta instrução, o FEX 2405 conseguiu superar este obstáculo e permitir que o jogo chegue à tela do menu quando executado em ARM.
No entanto, apesar deste progresso significativo, ainda há desafios a serem superados. Tentar entrar no jogo ainda causa uma parada, indicando que ainda há aspectos do jogo que o FEX 2405 ainda não consegue emular corretamente.
No entanto, o fato de que o FEX 2405 conseguiu chegar tão longe é um testemunho do progresso que foi feito. Cada obstáculo superado nos aproxima mais do objetivo final de rodar o Far Cry em sistemas ARM Linux. E, com cada nova versão do FEX, estamos um passo mais perto de tornar isso uma realidade.
Este progresso não é apenas um marco para o FEX 2405, mas também para a comunidade de jogos em geral. Ele mostra o que é possível quando a inovação e a determinação se unem para superar os desafios. E, mais importante, ele abre a porta para um futuro onde mais jogos podem ser jogados em uma variedade maior de sistemas, ampliando as possibilidades para jogadores em todo o mundo.
Comparação com a versão anterior
Comparado com a versão anterior, o FEX 2405 trouxe melhorias significativas. A versão anterior, FEX-2404, já apresentava uma série de melhorias, mas o FEX 2405 conseguiu ir além.
Na versão anterior, a equipe do FEX introduziu várias opções para alterar o comportamento do FEX e melhorar o desempenho. No entanto, a emulação do modelo de memória x86 ainda era um grande obstáculo para o desempenho.
Com o FEX 2405, a equipe conseguiu implementar suporte para a instrução SMSW, que era um requisito para rodar o Far Cry. Isso permitiu que o jogo chegasse à tela do menu, um avanço significativo em relação à versão anterior.
Novidades do lançamento do FEX 2405
- O FEX 2405 agora suporta OpenGL e Vulkan sem a necessidade de encaminhar chamadas X111. Isso reduz a quantidade de código que precisa ser emulado e é necessário para eventualmente emular bibliotecas de 32 bits.
- Foi implementado um suporte para a instrução de otimização de cópia aprimorada REP MOVS quando a emulação memcpy TSO está desativada1. Isso significa que a glibc aproveitará a otimização quando estiver realizando operações de cópia e preenchimento.
- Foram corrigidos alguns acessos de pilha que acidentalmente não desativavam a emulação TSO1. Isso resultará em algumas melhorias de desempenho.
- Foi corrigido um comportamento quebrado introduzido nas instruções ADC e SBC na versão FEX-24031. Isso corrigiu a renderização no lançamento do Steam de Final Fantasy 7.
- Foi adicionada uma opção para desativar a emulação de meio-barreira TSO em atômicos não alinhados.
- Essas atualizações mostram o compromisso contínuo da equipe do FEX em melhorar o desempenho e a compatibilidade do FEX 2405.
Cada nova versão traz melhorias significativas e estamos ansiosos para ver o que o futuro reserva para este projeto.
Comentários da comunidade sobre o FEX 2405
A comunidade online tem acompanhado de perto o progresso do FEX 2405 e a reação tem sido em grande parte positiva. Muitos usuários expressaram entusiasmo com o avanço significativo que o FEX 2405 representa para a emulação de jogos em sistemas ARM Linux.
Os usuários têm elogiado a equipe do FEX pelo trabalho duro e pela dedicação que levaram ao desenvolvimento do FEX 2405. Eles reconhecem que a implementação do suporte para a instrução SMSW, embora pareça um pequeno passo, é na verdade um grande avanço para a emulação de jogos.
Além disso, a comunidade também tem apreciado o compromisso da equipe do FEX em melhorar continuamente o projeto. Eles notaram que, apesar dos desafios, a equipe do FEX continua a fazer progressos significativos a cada nova versão.
No entanto, também há um reconhecimento de que ainda há um longo caminho a percorrer. Embora o FEX 2405 tenha feito progressos significativos, os usuários estão ansiosos para ver mais melhorias, especialmente no que diz respeito à capacidade de rodar jogos sem problemas.
Em resumo, a comunidade online está animada com o progresso do FEX 2405 e está ansiosa para ver o que o futuro reserva para a emulação de jogos em sistemas ARM Linux. A expectativa é alta e a equipe do FEX certamente está à altura do desafio.
Conclusão
Embora ainda haja um longo caminho a percorrer antes que possamos jogar Far Cry em sistemas ARM Linux sem problemas, o progresso feito pelo FEX 2405 é um passo importante nessa direção. É um testemunho do trabalho duro e da dedicação da equipe do FEX e um sinal promissor para o futuro dos jogos em sistemas ARM Linux.
Ainda há muito trabalho a ser feito, mas com cada nova versão do FEX, estamos um passo mais perto de tornar isso uma realidade. Estamos ansiosos para ver o que o futuro reserva para o FEX e para o mundo dos jogos em sistemas ARM Linux.