Emulator’s release BOX64 0.3.0 has been published and is designed to launch Linux programs compiled for the X86_64 architecture on devices with ARM64, RISC-V, and LOONGARCH64 processors. The project focuses on launching gaming applications and enables the launch of Windows programs via Wine and Proton. The project’s initial texts are written in SI and shared under the MIT license.
The project features a hybrid performance model where emulation is applied only to the application’s machine code and specific libraries. System libraries like libc, libm, GTK, SDL, VULKAN, and Opengl are replaced with alternatives suitable for the target platforms, allowing library calls to be performed without emulation, resulting in a significant performance boost.
Code emulation for instructions without native support on the target platform is achieved through Dynamic cross-regulation (Dynarec), which provides 5-10 times greater performance compared to instruction interpretation.
In the new version:
- Support for processor extensions AVX, AVX2, BMI1, BMI2, ADX, FMA, F16C, and RDRAND.
- Added a variable environment Box64_AVX, IMP 1 including support for AVX, BMI1, F16C, and VAES, and IMP 2 for AVX2, BMI2, FMA, ADX, VPClmulqdQ, and RDRAND.
- Added support for dynamic cross-regulation (Dynarec) of AVX, AVX2, and similar instructions on Arm64-based CPUs.
- Initial support for cross-reg