Release of FEX 2412 emulator, allowing to run x86 programs on ARM64 systems

The release of the FEX 2412 project, which develops an emulator for running games and applications compiled for x86 and x86-64 architectures, has been presented. Linux-environment on systems with ARM64 (AArch64) processors. Among other things, the FEX emulator is used by the Asahi project to organize launch in Linux-environments running on systems with Apple Silicon ARM chips, games from the Steam catalog, compiled for the x86_64 architecture. The project code is written in C++ with assembly inserts and is distributed under the MIT license.

Libraries required to run x86 applications in the ARM64 environment are connected in the form of an overlay layer with the root file system image (rootfs), supplied in the squashfs format. Such an overlay makes it possible to do without creating a separate chroot environment. Loading of rootfs images already generated by the project is performed by a specially prepared utility FEXRootFSFetcher.

To provide access to certain host environment capabilities, such as sound and 3D graphics tools, special thunk libraries are placed in the rootfs, which translate 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. Among the libraries available for forwarding are: libEGL, libGL, libSDL2, libX11, libVDSO, libasound, libdrm, libfex_malloc, libvulkan, libwayland-client, and libxshmfence.

The changes in the new version include solving problems with launching the Steam client, switching the emulation of the x86 PAUSE instruction to use the ARM WFE instruction instead of YIELD, providing emulation of system calls necessary for working with gamepads, improving CPUID and RDTSCP emulation, restructuring FEXCore (CPU emulation backend), and eliminating flaws in the emulation of AVX extensions.

Source: opennet.ru

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