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

Das Projekt FEX 2412 wurde vorgestellt, um einen Emulator zu entwickeln, der Spiele und Anwendungen, die für die x86- und x86-64-Architekturen erstellt wurden, in einer Linux-Umgebung auf Systemen mit ARM64-Prozessoren (AArch64) ausführt. Unter anderem wird der FEX-Emulator von dem Asahi-Projekt verwendet, um in Linux-Umgebungen, die auf Apple Silicon ARM-Chips laufen, Spiele aus dem Steam-Katalog, die für die x86_64-Architektur zusammengestellt wurden, zu starten. Der Code des Projekts ist in C++ mit Assembler-Einfügungen geschrieben und wird unter der MIT-Lizenz verbreitet.

Die Bibliotheken, die für die Ausführung von x86-Anwendungen in der ARM64-Umgebung erforderlich sind, werden in Form einer Overlay-Schicht mit einem im squashfs-Format gelieferten rootfs-Image verbunden. Eine solche Schicht ermöglicht es, ohne die Schaffung einer separaten chroot-Umgebung auszukommen. Der Download bereits vom Projekt erstellter rootfs-Images erfolgt durch das speziell vorbereitete Dienstprogramm FEXRootFSFetcher.

Um den Zugriff auf bestimmte Funktionen der Host-Umgebung, wie Audio- und 3D-Grafikwerkzeuge, zu ermöglichen, werden spezielle Thunk-Bibliotheken in den rootfs eingefügt, die Aufrufe zu Bibliotheken und Code in der Host-Systemseite umleiten (zum Beispiel können Aufrufe zu OpenGL und Vulkan umgeleitet werden). Solche Bibliotheken können auch auf der Host-Seite verwendet werden, um auf den Code in der Gastsystem-Umgebung zuzugreifen. Zu den verfügbaren durchleitbaren Bibliotheken gehören: libEGL, libGL, libSDL2, libX11, libVDSO, libasound, libdrm, libfex_malloc, libvulkan, libwayland-client und libxshmfence.

Zu den Änderungen in der neuen Version gehören die Behebung von Problemen beim Start des Steam-Clients, die Umstellung der Emulation des x86-Befehls PAUSE zur Verwendung des ARM-Befehls WFE anstelle von YIELD, die Sicherstellung der Emulation von Systemaufrufen, die für die Arbeit mit Gamecontrollern erforderlich sind, die Verbesserung der Emulation von CPUID und RDTSCP, die Umstrukturierung von FEXCore (Backend der CPU-Emulation) sowie die Behebung von Mängeln in der Emulation von AVX-Erweiterungen.

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