Efficient X86_64 emulation with Box86

Running applications on a different architecture than the one they were built for is a common occurrence, not least with Apple’s architectural migration every decade or so. It is also commonly used with, for example, ARM, OpenRISC, and RISC-V systems to run applications that are only available for x86 or x86_64. Although QEMU and kin are often used here, they are very resource intensive, which is where an option like Box86 and its 64-bit sibling Box64 are attractive options. Unlike QEMU, both offer dynamic recompilation and redirection of dynamic library calls to native libraries, including those for SDL and OpenGL.

Both are available on GitHub under an MIT license, with Box64 probably the most interesting these days as apps and games have moved into a 64-bit only world. The only hard requirement that Box64 has for a host system is that it be little-endian, which is a fairly easy requirement to meet. The most recent release was on March 10, with Box86 0.3 and Box64 0.2.2. Essentially a translation layer, it doesn’t offer full compatibility with every program out there, but it’s already good enough to run Steam, GoG, and Epic Game Store clients and install and run Windows games using Wine for x86 .

A simple set of benchmarks comparing it to QEMU and FEX (another emulator) shows that it runs more applications and with significantly better performance.

Leave a Reply

Scroll to Top
%d bloggers like this: