Die Entwickler des Asahi Linux-Projekts, das Linux für Apple Mac-Computer mit ARM-Chips portiert, haben ein Werkzeug präsentiert, das die Ausführung moderner PC-Spiele in Linux-Umgebungen auf Systemen mit Apple M1-Chips ermöglicht. Es geht um AAA-Spiele, die im Steam-Katalog verfügbar sind und für die x86_64-Architektur kompiliert wurden. Das Werkzeug sorgt für die Integration der vom Projekt entwickelten Treiber, die die APIs Vulkan 1.3 und OpenCL 3.0 implementieren, mit Komponenten, die die x86_64-Architektur emulieren und die Kompatibilität mit Windows gewährleisten.
Die erforderlichen Pakete sind bereits im regulären Repository der Fedora Asahi Remix-Distribution enthalten – 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, wodurch alle notwendigen Abhängigkeiten mitgeladen werden. Der verwendete Stack zum Ausführen von Spielen basiert auf dem Vulkan-Treiber Honeykrisp, dem Emulator FEX, der die Ausführung von x86-Anwendungen auf ARM-Systemen ermöglicht, dem Projekt Wine sowie den Layern DXVK und vkd3d-proton, die die DirectX-API über Vulkan implementieren.
Aufgrund zusätzlicher Betriebskosten, die durch die Emulation entstehen, wird empfohlen, dass das System über 16 GB RAM verfügt. Probleme mit der Ausrichtung aufgrund von Inkompatibilitäten bei der Seitengröße im Speicher, die von dem Betriebssystem und den Anwendungen verwendet wird (Programme, die für x86 kompiliert wurden, nutzen 4K-Seiten, während Systeme von Apple 16K-Seiten verwenden), konnten durch den Betrieb eines zweiten Linux-Kerns in einer virtuellen Umgebung mit einer anderen Seitenkonfiguration gelöst werden. Um Spiele in separaten zu starten. virtuellen Maschinen wurde vereinfacht. mit ihrem eigenen Kern wurde das Tool muvm eingesetzt. So konnte beispielsweise das Spiel Fallout 4 gestartet werden.

Um Spiele wie The Witcher 3 und Ghostrunner, die Tessellation und geometrische Shader verwenden, zum Laufen zu bringen, wurde Emulation durch Compute-Shader verwendet. Zu den noch nicht realisierten Funktionen zählt die Unterstützung von Sparse-Texturen im Honeykrisp-Treiber, die für den Start bestimmter DX12-basierter Spiele wie Cyberpunk 2077 erforderlich sind. Zudem wird an der Optimierung der Leistung gearbeitet, um im emulierten Umfeld eine Bildrate von 60 FPS zu erreichen.

Quelle: opennet.ru
