“Controle” rodando no Asahi Linux
Parece que todas as maravilhas que foram pintadas sobre o projeto “Asahi Linux” não serão apenas palavras, já que os desenvolvedores da distribuição têm trabalhado muito desde o anúncio do projeto para levar esta distribuição Linux a outro patamar.
Asahi Linux tem pouco mais de três anos de desenvolvimento e em tão pouco tempo conseguiu se diferenciar de outras distribuições, não só pela sua característica de rodar em computadores com o chip de maçã M1, ProM1, MaxM2, M2, ProM2, Max e M2 ultra, mas também por alcançar grandes avanços na seção gráfica do Linux.
E é isso recentemente A equipe de desenvolvimento do Asahi Linux apresentou um conjunto de ferramentas que permitem rodar jogos AAA em computadores com chip Apple M1 e é mencionado que um dos principais desafios técnicos foi a diferença no tamanho das páginas de memória, já que os programas compilados para a arquitetura x86 são projetados para utilizar páginas 4K, enquanto os sistemas Apple utilizam páginas 16K.
Para resolver esta discrepância, um segundo kernel Linux foi implantado em um ambiente virtual, Montado especificamente para lidar com diferentes tamanhos de páginas de memória. Isto é conseguido graças às ferramentas muvm que permitem que os jogos sejam executados em máquinas virtuais independentes, cada uma com seu próprio kernel.
Há um problema: o tamanho da página. Os sistemas operacionais alocam memória em “páginas” de tamanho fixo. Se um aplicativo espera páginas menores do que as usadas pelo sistema, ele falhará devido ao alinhamento insuficiente do mapeamento. Isso é um problema: o x86 espera páginas de 4K, mas os sistemas Apple usam páginas de 16K.
Embora o Linux não possa misturar tamanhos de página entre processos, você pode virtualizar outro kernel Arm Linux com um tamanho de página diferente. Portanto, rodamos jogos dentro de uma pequena máquina virtual usando muvm, passando por dispositivos como GPU e controladores de jogo. O hardware está feliz porque o sistema é 16K, o jogo está feliz porque a máquina virtual é 4K e você está feliz porque pode jogar Fallout 4.
As ferramentas Eles são projetados para suportar jogos AAA disponíveis no Steam, compilado originalmente para a arquitetura x86_64. O kit de ferramentas combina drivers desenvolvidos pela Asahi Linux, que implementam as APIs Vulkan 1.3 e OpenCL 3.0, juntamente com componentes que emulam a arquitetura x86_64 e fornecem suporte para jogos do Windows.
Fallout 4 no Asahi Linux
Quanto a jogos mais exigentes graficamente, como The Witcher 3 e Ghostrunner, que contam com o uso de tesselação e shaders de geometria, emulação de shader computacional é usada para que funcionem corretamente.
No entanto, alguns recursos principais ainda estão em desenvolvimento. Por exemplo, o controle Honeykrisp já suporta texturas esparsas, recurso essencial para jogos que utilizam DX12, como Cyberpunk 2077, mas detalhes estão sendo refinados para melhorar seu desempenho. Além disso, otimizações estão sendo feitas para garantir que os jogos atinjam 60 FPS suaves nesses ambientes emulados.
Vale a pena mencionar que Os pacotes necessários para ativar esta funcionalidade já estão disponíveis no repositório padrão da distribuição Fedora Asahi Remix. Para rodar jogos, os usuários só precisam atualizar os drivers usando o comando:
sudo dnf update --refresh
Depois disso, você pode instalar o Steam com
sudo dnf install steam
E instalará automaticamente todas as dependências necessárias.
Por fim, vale ressaltar também que o driver Vulkan Honeykrisp, o emulador FEX (que permite rodar aplicações x86 em sistemas ARM), o projeto Wine, e as camadas DXVK e vkd3d-proton, que implementam a API DirectX em cima do Vulkan, estão incluídos.
Os desenvolvedores mencionam que devido ao overhead introduzido pelo processo de emulação, é recomendado que os sistemas tenham pelo menos 16 GB de RAM e que também já funcionem em emulação x86 de uso geral.
Por fim, se estiver interessado em saber mais sobre o assunto, pode consultar os detalhes no link a seguir