Gli sviluppatori del progetto Asahi Linux, che si occupa del porting di Linux per computer Mac con chip Apple ARM, hanno presentato un toolkit per eseguire giochi per computer moderni in ambienti Linux su sistemi con chip Apple M1. Si tratta di giochi di classe AAA, disponibili nel catalogo Steam e compilati per l'architettura x86_64. Il toolkit garantisce l'integrazione dei driver sviluppati dal progetto, che implementano le API Vulkan 1.3 e OpenCL 3.0, con i componenti che forniscono l'emulazione dell'architettura x86_64 e la compatibilità con Windows.
I pacchetti necessari sono già stati aggiunti al repository standard della distribuzione Fedora Asahi Remix: per avviare i giochi è sufficiente aggiornare i driver con il comando «dnf upgrade --refresh» e installare Steam con il comando «dnf install steam», che scaricherà tutte le dipendenze necessarie. Il stack utilizzato per l'esecuzione dei giochi è costruito sulla base del driver Vulkan Honeykrisp, dell'emulatore FEX, che consente di eseguire applicazioni x86 su sistemi ARM, del progetto Wine e di intermediary come DXVK e vkd3d-proton con implementazione delle API DirectX sopra Vulkan.
A causa dei costi aggiuntivi dovuti all'emulazione, si raccomanda di avere 16 GB di RAM nel sistema. I problemi di allineamento causati dalla discrepanza nella dimensione delle pagine di memoria, usata nel sistema operativo e necessaria per le applicazioni (i programmi compilati per x86 sono progettati per pagine da 4K, mentre sui sistemi Apple si usano pagine da 16K), sono stati risolti eseguendo in un ambiente virtuale un secondo kernel Linux, compilato con una dimensione di pagina diversa. Per avviare i giochi in isolamento macchine virtuali sono stati utilizzati strumenti con il proprio kernel muvm. Ad esempio, in questo modo è stato possibile avviare il gioco Fallout 4.

Per garantire il funzionamento di giochi come The Witcher 3 e Ghostrunner, che utilizzano tessellazione e shader geometrici, è stata utilizzata l'emulazione tramite shader computazionali. Tra le possibilità ancora non implementate si segnala il supporto per le texture sparse nel driver Honeykrisp, necessarie per l'esecuzione di alcuni giochi basati su DX12, come Cyberpunk 2077. Inoltre, sono in corso lavori per ottimizzare le prestazioni per raggiungere nei contesti emulati un livello di 60 FPS.

Fonte: opennet.ru
