New versions of Box86 and Box64 emulators that allow you to run X86 games on ARM systems

Outlets of emulators Box86 0.2.6 and Box64 0.1.8 designed to launch Linux programs collected for architectures x86 and x86_64, on equipment with ARM, ARM64, PPC64LE processors and RISC-V. Projects are developing synchronously with one development team – BOX86 is limited to the possibility of launching 32-bit X86 applications, and BOX64 provides the launch of 64-bit executable files. The project pays great attention to the organization of launching game applications, including providing the ability to launch Windows assemblies through Wine and Proton. The source texts of the project are written in the Si language and distribute ( Box86 , BOX64 ) under the MIT license.

The feature of the project is the use of a hybrid execution model, in which emulation applies only to the machine code of the application itself and specific libraries. Typical system libraries, including LIBC, LIBM, GTK, SDL, VULKAN and OpenGL, Replaced For options, relatives for target platforms. Thus, library calls are performed without emulation, which makes it possible to achieve a significant increase in productivity.

Emulation of code for which there are no relatives for the target replacement platform is performed using the Dynamic recompilation (Dynarec) from one set of machine instructions in another. Compared to the interpretation of machine instructions, dynamic recompilation demonstrates 5-10 times higher performance.

in performance tests Emulators BOX86 and BOX64 execution on the ArmHF and AARCH64 platforms essentially ahead of the projects qemu and Fex -Emu , and in separate tests (Glmark2, OpenARENA) made it possible to achieve the performance of the identical launch of the assembly, native for the target platform. In 7-Zip and DAV1D tests that perform intensive calculations, the capacity of BOX64 was from 27% to 53% of the productivity of the native application (for comparison, QEMU showed the result of 5-16%, and Fex-EMU is 13-26%). Additionally, a comparison was made with the ROSETTA 2 emulator used by Apple to start the X86 code on systems with ARM chip M1. Rosetta 2 ensured the test of 7Zip diet with a capacity of 71% of native assembly, and BOX64 – 57%.

As for compatibility with applications, then from 165 tested games

/Media reports.