COSCUP 2026 - Conference for Open Source Coders, Users, and Promoters

Box64 in Action: Playing x86-64 Steam Games on ARM64 / RISC-V with Dynamic Binary Translation
2026/08/08 , TR213

Running unmodified x86-64 binaries on ARM64 and RISC-V
Linux systems remains important, but general-purpose emulators such as
QEMU often impose too much overhead for demanding workloads, while
hardware-assisted translators such as Rosetta 2 depend on platform-
specific silicon. Box64 addresses this gap with a wrapping-first architec-
ture that routes calls into native host libraries through ABI translation
wrappers and reserves JIT compilation for guest code.
This paper describes three parts of the design: a native wrapping layer
spanning 278 libraries, including entry-point interception and callback
bridging; a four-pass JIT compiler with flag liveness analysis, deferred
flag computation, and native flag reuse; and system-level support for
deployment, including Steam container bypass, Wine mixed-bitness co-
ordination, and TSO emulation on weakly ordered hosts. Evaluation on
Raspberry Pi 5 (ARM64), HiFive™ Premier P550 and Andes AX45MP
(RISC-V) shows a median of 67% native CPU performance on ARM64
microbenchmarks, 63–94% native throughput for favorable wrapped
library calls, and a median 4× speedup over QEMU, reaching
40×when wrapping removes translation from the hot path.


難易度: 中級

NCKU CSIE 115