Die Entwickler des Asahi Linux-Projekts, welches Linux für Apple Mac Computer mit ARM-Chips portiert, haben ein Toolkit vorgestellt, um moderne Computer-Spiele in Linux-Umgebungen, die auf Apple M1-Chips basieren, auszuführen. Es handelt sich um AAA-Spiele, die im Steam-Katalog verfügbar sind und für die Architektur x86_64 kompiliert wurden. Das Toolkit ermöglicht die Integration der durch das Projekt entwickelten Treiber, die die API Vulkan 1.3 und OpenCL 3.0 umsetzen, mit Komponenten, die die x86_64-Architektur emulieren und die Kompatibilität mit Windows gewährleisten.
Die erforderlichen Arbeits-Pakete wurden bereits im Standard-Repository der Fedora Asahi Remix-Distribution hinzugefügt – um die Spiele zu starten, genügt es, die Treiber mit dem Befehl „dnf upgrade --refresh“ zu aktualisieren und Steam mit dem Befehl „dnf install steam“ zu installieren, das alle notwendigen Abhängigkeiten mitbringt. Der für das Starten der Spiele verwendete Stack basiert auf dem Vulkan-Treiber Honeykrisp, dem Emulator FEX, der es ermöglicht, x86-Anwendungen auf ARM-Systemen auszuführen, dem Wine-Projekt und den Layern DXVK und vkd3d-proton, die die API DirectX über Vulkan umsetzen.
Aufgrund der zusätzlichen Overheads, die durch die Emulation verursacht werden, wird empfohlen, dass das System über 16 GB RAM verfügt. Probleme mit der Ausrichtung aufgrund von Diskrepanzen in der Seitengröße des von der Betriebssystem verwendeten Speichers und der benötigten Anwendungen (Programme, die für x86 kompiliert wurden, sind auf 4K-Seiten ausgelegt, während auf Apple-Systemen 16K-Seiten verwendet werden) konnten durch den Betrieb eines zweiten Linux-Kernels in einer virtuellen Umgebung mit einer anderen Seitengröße gelöst werden. Für die Ausführung der Spiele in separaten virtuellen Maschinen Umgebungen wird das Toolkit muvm verwendet. So konnte beispielsweise das Spiel Fallout 4 erfolgreich gestartet werden.

Um Spiele wie The Witcher 3 und Ghostrunner zu unterstützen, die Tesselierung und geometrische Shader verwenden, wird eine Emulation durch Compute-Shader eingesetzt. Unter den noch nicht umgesetzten Möglichkeiten wird die Unterstützung von Sparse Texturing im Honeykrisp-Treiber hervorgehoben, die notwendig ist, um einige DX12-basierte Spiele wie Cyberpunk 2077 auszuführen. Darüber hinaus wird an der Leistungsoptimierung gearbeitet, um in der emulierten Umgebung 60 FPS zu erreichen.

Quelle: opennet.ru
