Udgivelsen af emulatoren FEX 2508, der muliggør kørsel af x86-programmer på ARM64-systemer

Udgivelsen af projektet FEX 2508, der udvikler en emulator til at køre spil og applikationer bygget til arkitekturerne x86 og x86-64 i et Linux-miljø på systemer med ARM64 (AArch64) processorer. Emulatoren FEX anvendes af projektet Asahi til at køre spil fra Steam kataloget, der er bygget til arkitekturen x86_64, på Apple Silicon ARM-chips. Koden til projektet er skrevet i C++ med assembler-instruktioner og distribueres under MIT-licensen.

De biblioteker, der er nødvendige for at køre x86-applikationer i et ARM64-miljø, tilsluttes i form af et overlay-lag med et rootfs-billede leveret i SquashFS-format. Et sådant lag gør det muligt at undgå at oprette et separat chroot-miljø. Indlæsningen af de allerede dannede rootfs-billeder fra projektet udføres af værktøjet FEXRootFSFetcher.

For at få adgang til funktionerne i værtsmiljøet, såsom værktøjer til lyd og 3D-grafik, placeres thunk-biblioteker i rootfs, der translerer kald til biblioteker og kode på værtsystemets side (for eksempel kan kald til OpenGL og Vulkan omdirigeres). Sådanne biblioteker kan også anvendes på værtsiden for at få adgang til koden i gæstemiljøet. Blandt de tilgængelige biblioteker til passthrough er: libEGL, libGL, libSDL2, libX11, libVDSO, libasound, libdrm, libfex_malloc, libvulkan, libwayland-client og libxshmfence.

I den nye version:

  • Der er udført betydelig optimering af JIT-kompilatoren, hvilket har resulteret i en stigning i FPS i spillet Cyberpunk 2077 på 38,9%, Doom 2016 – på 30,9%, Stray – på 25,2%, Grim Fandango Remastered – på 24,7%, Teardown – på 12,6%, og Gold of War 2018 – på 4,6%. De største forbedringer kom fra optimeringer af stack calls og returns samt anvendelsen af TSO (Total Store Ordering) hukommelsesmodellen i wow64/arm64ec bibliotekerne, som understøttes af Apple Silicon CPU'er.
    Udgivelsen af emulatoren FEX 2508, der muliggør kørsel af x86-programmer på ARM64-systemer
  • Understøttelse af NX-bit (No Execute) er implementeret for at forbyde udførelse af instruktioner i områder af hukommelsen, der ikke er angivet som tilladte til udførelse.
  • Understøttelsen af kode, der anvendes til at forhindre debugging og ændring af udførelsesforløbet i spil som Peggle Deluxe og Crysis 2: Maximum Edition, er forbedret.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster