“Control” draait op Asahi Linux
Het lijkt erop dat alle wonderen die over het "Asahi Linux"-project zijn geschilderd niet alleen maar woorden zullen zijn, aangezien de ontwikkelaars van de distributie sinds de aankondiging van het project hard hebben gewerkt om deze Linux-distributie naar een ander niveau te tillen.
Asahi Linux is iets meer dan drie jaar oud van de ontwikkeling en in zo'n korte tijd is het erin geslaagd zich te onderscheiden van andere distributies, niet alleen vanwege zijn kenmerkend voor het draaien op computers met de appelchip M1, ProM1, MaxM2, M2, ProM2, Max en M2 ultra, maar ook voor het bereiken van grote vooruitgang in de grafische sectie in Linux.
En het is dat onlangs Het Asahi Linux-ontwikkelteam heeft een presentatie gegeven een set van tools waarmee u AAA-spellen kunt uitvoeren op computers met de Apple M1-chip en er wordt vermeld dat een van de belangrijkste technische uitdagingen het verschil in de grootte van geheugenpagina's was, aangezien programma's die zijn gecompileerd voor de x86-architectuur zijn ontworpen om 4K-pagina's te gebruiken, terwijl systemen die Apple gebruikt 16K-pagina's.
Om deze discrepantie op te lossen, een tweede Linux-kernel werd ingezet in een virtuele omgeving, Speciaal samengesteld om verschillende geheugenpaginaformaten te verwerken. Dit wordt bereikt dankzij muvm-tools waarmee games op onafhankelijke virtuele machines kunnen worden uitgevoerd, elk met een eigen kernel.
Er is één probleem: de grootte van de pagina. Besturingssystemen wijzen geheugen toe in “pagina’s” met een vaste grootte. Als een applicatie kleinere pagina's verwacht dan het systeem gebruikt, zal deze mislukken vanwege onvoldoende uitlijning van de kaarten. Dat is een probleem: x86 verwacht 4K-pagina's, maar Apple-systemen gebruiken 16K-pagina's.
Hoewel Linux paginaformaten tussen processen niet kan mixen, kun je een andere Arm Linux-kernel met een ander paginaformaat virtualiseren. Daarom draaien we games in een kleine virtuele machine met behulp van muvm, via apparaten zoals de GPU en gamecontrollers. De hardware is blij omdat het systeem 16K is, de game is blij omdat de virtuele machine 4K is en jij bent blij omdat je Fallout 4 kunt spelen.
gereedschap Ze zijn ontworpen om AAA-games te ondersteunen die beschikbaar zijn op Steam, oorspronkelijk gecompileerd voor de x86_64-architectuur. De gereedschapskist combineert stuurprogramma's ontwikkeld door Asahi Linux, die de Vulkan 1.3- en OpenCL 3.0-API's implementeren, samen met componenten die de x86_64-architectuur emuleren en ondersteuning bieden voor Windows-games.
Fallout 4 op Asahi Linux
Wat betreft meer grafisch veeleisende games, zoals The Witcher 3 en Ghostrunner, die afhankelijk zijn van het gebruik van mozaïekpatroon- en geometrie-shaders, Er wordt gebruik gemaakt van computationele shader-emulatie zodat ze correct kunnen werken.
Sommige belangrijke functies zijn echter nog in ontwikkeling. De Honeykrisp-controller ondersteunt bijvoorbeeld al schaarse texturen, een essentiële functie voor games die DX12 gebruiken, zoals Cyberpunk 2077, maar details worden verfijnd om de prestaties te verbeteren. Daarnaast wordt er gewerkt aan optimalisaties om ervoor te zorgen dat games in deze geëmuleerde omgevingen een soepele 60 FPS bereiken.
Het is vermeldenswaard dat de Pakketten die nodig zijn om deze functionaliteit in te schakelen zijn nu beschikbaar in de standaardrepository van de Fedora Asahi Remix-distributie. Om games uit te voeren, hoeven gebruikers alleen de stuurprogramma’s bij te werken met behulp van de opdracht:
sudo dnf update --refresh
Daarna kun je Steam installeren met
sudo dnf install steam
En het zal automatisch alle vereiste afhankelijkheden installeren.
Ten slotte is het ook de moeite waard om te vermelden dat de Vulkan Honeykrisp-driver, de FEX-emulator (die het uitvoeren van x86-applicaties op ARM-systemen mogelijk maakt), het Wine-project en de DXVK- en vkd3d-proton-lagen, die de DirectX API bovenop Vulkan implementeren, zijn inbegrepen.
De ontwikkelaars vermelden dat vanwege de overhead die door het emulatieproces wordt veroorzaakt, het wordt aanbevolen dat systemen ten minste 16 GB RAM hebben en dat ze ook al werken in x86-emulatie voor algemene doeleinden.
Tot slot, als u er meer over wilt weten, kunt u de details raadplegen in de volgende link.