MIT License

项目介绍

ptitSeb/box64 是一个托管在 GitHub 上的开源项目,主要使用 C 编写,采用 MIT License 许可证,目前获得 5.7k 个 Star、472 次 Fork。

仓库全名
ptitSeb/box64
开源许可证
MIT License
Star 数
5.7k
Fork 数
472
未关闭 Issue
176

README 摘要

Box64: Linux Userspace x86-64 Emulator with a Twist Website | Changelog | 中文 | Українська | Report an Error Check out our game compatibility list at https://box86.org/app/, please help us improve it! Box64 enables running x8664 Linux programs, including games, on non-x8664 Linux systems such as Arm (64-bit little-endian host system required). Box64 leverages native system libraries (libc, libm, SDL, OpenGL),…

完整内容见 GitHub 原始 README 或本页 。

常见问题

box64 用什么语言开发?

主要使用 C 编写,采用 MIT License 许可证,目前有 5.7k 个 Star。

box64 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 box64 的源码?

可以直接克隆仓库:git clone https://github.com/ptitSeb/box64.git,默认分支为 main;安装与运行步骤见仓库 README。

box64 最近还在维护吗?

仓库最近一次更新为 1 天前,当前有 176 个未关闭 Issue;Star 数为 5.7k,可作为社区活跃度的参考。

简要分析

热度分
6725
价值分
3562
活跃状态
活跃

语言占比

Assembly
C
C++
CMake
Makefile
Python
Shell

Release

README

Official logo

Box64: Linux Userspace x86-64 Emulator with a Twist

Website | Changelog | 中文 | Українська | Report an Error

Build Status Stars Forks Contributors Pull Requests Issues


Check out our game compatibility list at https://box86.org/app/, please help us improve it!


Box64 enables running x86_64 Linux programs, including games, on non-x86_64 Linux systems such as Arm (64-bit little-endian host system required).

Box64 leverages native system libraries (libc, libm, SDL, OpenGL), offering ease of integration and surprising performance in many applications. For performance benchmarks, check this analysis.

With DynaRec for Arm, RISC-V and LoongArch platforms, Box64 achieves a speed boost 5-10x faster than the interpreter alone. For a deeper look at DynaRec, see Inner workings. For a more detailed look at Box64 internals and optimization strategies, see our EuroSys 2026 paper, Practical and Efficient x86-64 Emulation on RISC-V, which focuses on RISC-V but covers many techniques that apply more broadly to Box64.

Box64 Icon

Logo and icon by @grayduck - Thank you!


Usage

  • $ box64 ./program [args] to run Linux x86_64 programs.
  • $ box64 -k to kill all the emulated processes.
  • $ box64-bash to have an x86_64 bash environment.
  • Want to use wine? see Wine Documentation.

Box64 also offers environment variables and rcfile to control its behavior. For details, see Usage Documentation.


Compiling and Installation


Version History

See the Changelog for version updates.


Platform Compatibility Notes

Box64 requires 64-bit libraries on the host system, as it directly translates x86_64 function calls. For 32-bit binaries, use Box86 or Box32.

Notes

  1. Box32 is still experimental, but it’s pretty stable now and can be used.
  2. Some shell scripts (such as the GOG game installer) may rely on uname -m to determine the current architecture. Please run them as box64 script.sh to allow Box64 to take over.

Note that DynaCache is now enabled by default (with compression). This will creates files in ~/.cache/box64 to save generated code for executed binaries and libraries, so launch time can be greatly reduced on second run. The files are compressed and will take up to 2Gb by default. You can disable DynaCache writing, by switching it to a Read-only mode by creating (or modifying) ~/.box64rc and writing there

[*]
BOX64_DYNACACHE=2

(or 0 to completely disabled it). Please refer to Usage Documentation for more details on how to configure Box64.


Configuration

Box64 has configuration files located in /etc/box64.box64rc and ~/.box64rc, both formatted as .ini files. If you don’t want to use the default /etc/box64.box64rc file, copy it to ~/.box64rc to ensure compatibility.

Settings priority: ~/.box64rc > /etc/box64.box64rc > Command line.

For more information, check Usage Documentation.


Additional Platform-Specific Notes

Unity Game Emulation

  • Many Unity games require OpenGL 3+, which may be challenging on ARM/RISC-V SBCs.
  • Tip for Pi4 and Pi5 Users: Set MESA_GL_VERSION_OVERRIDE=3.2 with BOX64_DYNAREC_STRONGMEM=1 to prevent freezes and enable strong memory mode.
  • Using Panfrost: For better compatibility on ARM, enable PAN_MESA_DEBUG=gl3 to force higher OpenGL profiles. This can help if a game starts but quits unexpectedly before showing any content.

Steam

See Steam Documentation.

Wine

Box64 supports Wine64 and Proton. For 32-bit components, Box86 is required. Systems with both Box64 and Box86 can run 32- and 64-bit Windows programs.

Note: You can use Wine WOW64 build to run x86 Windows programs in Box64-only environments, this is still experimental, but it works in most cases.

For more information, check Wine Documentation.


Final word

I want to thank everyone who has contributed to box64 development. There are many ways to contribute: code contribution, financial, hardware and advertisement! So, in no particular order, I want to thank:

And I also thank the many other people who participated even once in this project.

(If you use Box64 in your project, please don’t forget to mention it!)

评论

暂无评论