Release of the FEX 2508 emulator, allowing the execution of x86 programs on ARM64 systems

The FEX 2508 project release has been published, developing an emulator for running games and applications built for x86 and x86-64 architectures in a Linux environment on systems with ARM64 (AArch64) processors. The FEX emulator is used by the Asahi project to run x86_64 architecture games from the Steam catalog on Apple Silicon ARM chip systems. The project’s code is written in C++ with assembly inserts and is distributed under the MIT license.

Libraries required to run x86 applications in an ARM64 environment are connected in the form of an overlay layer with a root filesystem (rootfs) image provided in SquashFS format. This type of layer allows for avoiding the creation of a separate chroot environment. The pre-built rootfs images are loaded using the FEXRootFSFetcher utility.

To access the features of the host environment, such as sound and 3D graphics tools, thunk libraries are placed in the rootfs, translating calls to libraries and code on the host system side (for example, calls to OpenGL and Vulkan can be redirected). Such libraries can also be used on the host side to access code in the guest environment. Available libraries for passthrough include: libEGL, libGL, libSDL2, libX11, libVDSO, libasound, libdrm, libfex_malloc, libvulkan, libwayland-client, and libxshmfence.

In the new version:

  • Significant optimization of the JIT compiler has led to an increase in FPS for the game Cyberpunk 2077 by 38.9%, Doom 2016 by 30.9%, Stray by 25.2%, Grim Fandango Remastered by 24.7%, Teardown by 12.6%, and God of War 2018 by 4.6%. The most significant impact came from optimizations in call-return stack operations and the involvement of TSO (Total Store Ordering) memory model in wow64/arm64ec libraries, supported by Apple Silicon CPUs.
    Release of the FEX 2508 emulator, allowing the execution of x86 programs on ARM64 systems
  • Support for the NX bit (No Execute) has been implemented to prevent the execution of instructions in memory areas specifically not marked as executable.
  • Improved support for code used to prevent debugging and altering game execution flow, as seen in titles like Peggle Deluxe and Crysis 2: Maximum Edition.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster