Utgivningen av projektet FEX 2508 har publicerats, vilket utvecklar en emulator för att köra spel och applikationer sammanstÀllda för arkitekturerna x86 och x86-64, i Linux-miljöer pÄ system med ARM64 (AArch64) processorer. Emulatorn FEX anvÀnds av projektet Asahi för att köra spel frÄn katalogen Steam, sammanstÀllda för arkitekturen x86_64, pÄ system med ARM-chip frÄn Apple Silicon. Kodbasen för projektet Àr skriven i C++ med assemblerinsÀttningar och distribueras under MIT-licensen.
Biblioteken som krÀvs för att köra x86-applikationer i ARM64-miljön lÀggs till i form av en overlay-lager med en rotfilsbild (rootfs) levererad i SquashFS-format. Ett sÄdant lager gör det möjligt att undvika behovet av att skapa en separat chroot-miljö. Inladdningen av redan skapade rotfs-bilder utförs av verktyget FEXRootFSFetcher.
För att fÄ Ätkomst till vÀrdmiljöfunktioner, sÄsom verktyg för ljud och 3D-grafik, placeras thunk-bibliotek i rootfs som översÀtter anrop till bibliotek och kod pÄ vÀrdsystemet (till exempel kan anrop till OpenGL och Vulkan omdirigeras). Dessa bibliotek kan ocksÄ anvÀndas pÄ vÀrdsidan för att anropa kod i gÀstmiljön. Bland de tillgÀngliga biblioteken för vidarebefordran finns: libEGL, libGL, libSDL2, libX11, libVDSO, libasound, libdrm, libfex_malloc, libvulkan, libwayland-client och libxshmfence.
I den nya versionen:
- Betydande optimering av JIT-kompilatorn har genomförts, vilket har resulterat i en ökning av FPS i spelet Cyberpunk 2077 med 38,9%, Doom 2016 med 30,9%, Stray med 25,2%, Grim Fandango Remastered med 24,7%, Teardown med 12,6% och Gold of War 2018 med 4,6%. De största effekterna kom frÄn optimeringar av anrops- och returstacken, samt utnyttjande av TSO (Total Store Ordering)-minnesmodellen i wow64/arm64ec-biblioteken, som stöds av Apple Silicons CPU.

- Stöd för NX-bit (No Execute) har implementerats för att förbjuda körning av instruktioner i minnesomrÄden som inte sÀrskilt mÀrkts som tillÄtna för körning.
- Stödet för kod som anvÀnds för att förhindra debugging och förÀndring av exekveringsflödet i spel som Peggle Deluxe och Crysis 2: Maximum Edition har förbÀttrats.
KĂ€lla: opennet.ru

