Die Veröffentlichung des Emulators FEX 2508, der die Ausführung von x86-Programmen auf ARM64-Systemen ermöglicht.

Die Veröffentlichung des Projekts FEX 2508 wurde bekannt gegeben, das einen Emulator entwickelt, um Spiele und Anwendungen, die für die Architekturen x86 und x86-64 erstellt wurden, in einer Linux-Umgebung auf Systemen mit ARM64-Prozessoren (AArch64) auszuführen. Der FEX-Emulator wird vom Asahi-Projekt verwendet, um Spiele aus dem Steam-Katalog, die für die x86_64-Architektur erstellt wurden, auf Systemen mit Apple Silicon ARM-Chips zu starten. Der Code des Projekts ist in C++ mit Assembler-Einfügungen geschrieben und wird unter der MIT-Lizenz veröffentlicht.

Die für die Ausführung von x86-Anwendungen in einer ARM64-Umgebung erforderlichen Bibliotheken werden in Form einer Overlay-Schicht mit einem Root-Dateisystem-Image (rootfs), das im SquashFS-Format bereitgestellt wird, eingebunden. Eine solche Schicht ermöglicht es, ohne die Erstellung einer separaten chroot-Umgebung auszukommen. Das Laden der bereits vom Projekt erstellten rootfs-Images erfolgt mit dem Tool FEXRootFSFetcher.

Um auf die Funktionen der Host-Umgebung zuzugreifen, wie z. B. Werkzeuge für die Arbeit mit Audio und 3D-Grafik, werden in das rootfs Thunk-Bibliotheken eingefügt, die Aufrufe an die Bibliotheken und Codes auf der Host-Seite übertragen (z. B. können Aufrufe an OpenGL und Vulkan umgeleitet werden). Solche Bibliotheken können auch auf der Host-Seite verwendet werden, um auf den Code im Gast-Umfeld zuzugreifen. Zu den verfügbaren weitergereichten Bibliotheken gehören: libEGL, libGL, libSDL2, libX11, libVDSO, libasound, libdrm, libfex_malloc, libvulkan, libwayland-client und libxshmfence.

In der neuen Version:

  • Es wurde eine umfassende Optimierung des JIT-Compilers durchgeführt, die eine FPS-Steigerung in Spielen wie Cyberpunk 2077 um 38,9 %, Doom 2016 um 30,9 %, Stray um 25,2 %, Grim Fandango Remastered um 24,7 %, Teardown um 12,6 % und Gold of War 2018 um 4,6 % ermöglichte. Die größten Auswirkungen hatten Optimierungen des Call-Return-Stacks sowie die Nutzung des TSO (Total Store Ordering) in den Bibliotheken wow64/arm64ec, die von den CPUs von Apple Silicon unterstützt werden.
    Die Veröffentlichung des Emulators FEX 2508, der die Ausführung von x86-Programmen auf ARM64-Systemen ermöglicht.
  • Die Unterstützung für das NX-Bit (No Execute) wurde implementiert, um die Ausführung von Anweisungen in Speicherbereichen zu verbieten, die nicht ausdrücklich als ausführbar gekennzeichnet sind.
  • Die Unterstützung für Code wurde verbessert, um das Debuggen und die Änderung des Ablaufs in Spielen wie Peggle Deluxe und Crysis 2: Maximum Edition zu verhindern.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster