Box64 快速上手指南:在 ARM64 设备上运行 x86_64 程序

发布时间:2026/10/10 20:07:57

Box64 快速上手指南:在 ARM64 设备上运行 x86_64 程序 Box64 快速上手指南在 ARM64 设备上运行 x86_64 程序【免费下载链接】box64Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64, RV64 and LoongArch Linux devices项目地址: https://gitcode.com/gh_mirrors/bo/box64把一个在 PC 上编译好的 64 位工具拷到 ARM64 设备大概率收到同一句回复Exec format error。Box64 是 Linux 用户态的 x86_64 模拟器它把 x86_64 指令翻译成 ARM64、RISC-V、龙芯的原生指令不需要虚拟机也不改内核。这篇文章按场景组织先装好并验证再跑 Steam、Wine、32 位二进制这些实际场景遇到问题时再谈调参和机制。Box64 安装步骤在 ARM64 上编译并验证Debian/Ubuntu 系先装构建工具sudo apt install -y build-essential cmake git然后克隆、编译、安装。-D ARM_DYNARECON会打开动态重编译器DynaRec把 x86_64 在线翻译成原生指令的组件git clone https://gitcode.com/gh_mirrors/bo/box64 cd box64 mkdir build cd build cmake .. -D ARM_DYNARECON -DCMAKE_BUILD_TYPERelWithDebInfo make -j4 sudo make install sudo systemctl restart systemd-binfmt重启 binfmt 服务这步最容易被漏掉。注册成功后系统会把 x86_64 二进制自动路由给 box64输入程序名就能直接跑。验证只需两条命令box64 --version box64 /bin/ls版本号能打出来、目录列表和原生运行一致说明装好了。内存小的设备比如 1GB 的树莓派把-j4降成-j1或-j2防止编译中途内存不足。在 ARM 上运行 x86_64 程序四个实战场景直接跑 64 位 Linux 程序问题PC 上编译好的 64 位工具某款服务器组件、独立工具在 ARM 上拒绝启动。操作装好 box64 后直接输程序名binfmt 会自动转发未注册 binfmt 时用box64 ./程序名的形式。预期效果程序启动行为与原生运行一致。在 ARM 上安装 Steam问题Linux 版 Steam 客户端本身是 x86_64 二进制装不上。操作用项目根目录自带的安装脚本./install_steam.sh steam Linux 客户端依赖 Box86 或 Box32 并开启 binfmt内存低于 6GB 的机器建议先准备 swap。启用 Steam 的 64 位专属客户端SteamRT3在 Box64 下更稳。预期效果客户端启动后可直接下载并运行 64 位 Linux 游戏。用 Wine 跑 Windows 64 位程序问题notepad.exe 这类 64 位 Windows 程序在 ARM 上没有反应。操作先在宿主机装 wine64 软件包再让 box64 接管 winebox64 wine64 notepad.exe预期效果记事本窗口弹出。同一条链路还能跑其他 x86_64 Windows 程序Steam PlayProton场景也走这里。处理 32 位 x86 二进制问题32 位 x86 程序 box64 不管——它只处理 64 位。操作编译时在 cmake 命令追加-DBOX32ON -DBOX32_BINFMTON。Box32 集成在 box64 内部用 64 位环境模拟出 32 位运行环境armhf 设备也可以考虑兄弟项目 Box86。⚠️ Box32 仍处于实验阶段关键业务别依赖它。预期效果安装后 32 位和 64 位二进制都能被系统识别并自动执行。Box64 配置参数速查表配置从三处读取~/.box64rc用户、/etc/box64.box64rc系统、环境变量。rc 文件优先于环境变量用户文件优先于系统文件。最常用的三个参数参数默认作用什么时候调BOX64_DYNAREC_BIGBLOCK2控制重编译器拼出的原生代码块有多大Unity 这类多线程/JIT 程序用 0Wine 场景可试 3BOX64_DYNAREC_FORWARD128拼代码块时允许的向前间隙只接受 0/128/256/512/1024越大越激进BOX64_DYNACACHE1翻译出的原生代码缓存写到~/.cache/box640 关闭2 只读不写默认上限 2048 MiB其余还有几十个参数强内存模型、标志位处理、LD_LIBRARY_PATH 等完整清单见 docs/USAGE.md。~/.box64rc支持按程序名开段落例如给[factorio]单独一组参数[*]段落则是全局默认。Box64 常见问题与排查现象装完还是Exec format error。原因binfmt 注册没生效多半是服务没重启。解决执行sudo systemctl restart systemd-binfmtAndroid 上没有 systemd需手动挂载binfmt_misc并注册步骤见 docs/COMPILE.md。现象error while loading shared libraries: libxxx.so.x。原因box64 不模拟图形、音频这类库调用直接转发给宿主机的原生库——缺库说明 ARM 宿主机本身没装。解决装上对应的宿主机库Mesa GL、OpenAL 等库路径不常规时用 BOX64_LD_LIBRARY_PATH 指向库目录。现象大程序第一次启动慢第二次明显快。原因不是故障。DynaCache 首次运行时把翻译好的代码落盘第二次启动直接命中缓存。解决保持默认的 BOX64_DYNACACHE1缓存目录别删缓存目录太大就用 BOX64_DYNACACHE_LIMIT 控制体积。Box64 的工作原理一句话热代码现场重编译库调用直接借用。动态重编译器盯住跑得最勤的代码块把它们从 x86_64 翻译成原生指令并缓存复用翻译不动的部分回落到解释执行。程序调用 OpenGL、Vulkan、X11 时box64 不模拟这些库而是经包装层直接转发给宿主机的本地实现。DynaCache 再把生成的原生代码写到磁盘下次启动免翻译。重编译器实现见 src/dynarec/主流程入口在 src/core.c。配套组件与容器化部署box64 编译时还可以开启实验性的 WowBox64cmake 选项-DWOW64ON供 Wine WOW64 使用32 位环境除了 Box32armhf 设备上也可搭配 Box86。容器内照宿主机的克隆 → cmake → make install流程走一遍入口命令直接跑任意 64 位 Linux 程序即可。各平台RK3588、树莓派、RISC-V、龙芯等的编译参数差异见 docs/COMPILE.md 里的分平台清单。至此Box64 让 x86_64 软件在 ARM64 设备上变成装完就能跑先跑通遇到卡顿或异常再回配置表里找参数。参数全表docs/USAGE.md核心源码src/core.c。【免费下载链接】box64Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64, RV64 and LoongArch Linux devices项目地址: https://gitcode.com/gh_mirrors/bo/box64创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/10 6:58:51

让Stable-code-3b推理速度翻倍:Flash Attention 2加速终极指南

让Stable-code-3b推理速度翻倍:Flash Attention 2加速终极指南 【免费下载链接】stable-code-3b 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/stable-code-3b Stable-code-3b 是 Stability AI 开源的 2.7B 参数代码大模型,支持 18 …

2026/10/9 23:49:30

如何快速搭建FxA开发环境:从0到1的完整教程

如何快速搭建FxA开发环境:从0到1的完整教程 【免费下载链接】fxa Monorepo for Mozilla Accounts (formerly Firefox Accounts) 项目地址: https://gitcode.com/gh_mirrors/fx/fxa 一文看懂 Mozilla Accounts 单体仓库的本地运行指南 FxA(Firefo…

2026/10/11 1:00:50

VCMI Mod开发入门:从mod.json到第一个可用Mod的完整流程

VCMI Mod开发入门:从mod.json到第一个可用Mod的完整流程 【免费下载链接】vcmi Open-source engine for Heroes of Might and Magic III 项目地址: https://gitcode.com/gh_mirrors/vc/vcmi VCMI 是《英雄无敌3》(Heroes of Might and Magic III&…

2026/10/11 2:52:31

Java 应届简历怎么写才过筛?先把它当成面试脚本

投 Java 后端校招时,很多人把时间花在两件事上:把技能栏写满,以及把项目名起得更“业务化”。 这两件事都有用,但都不是分水岭。 我更相信另一个标准:简历上的每一条,能不能自然长出一道面试题。 能&…

2026/10/11 2:52:31

EasyHook 实战:VS2010 C++ 实现 API Hook 注入 Demo 与稳定避坑指南

简介:EasyHook 函数钩子完整稳定 Demo 程序,面向使用 VS2010 进行 C 开发的 Windows 程序员,提供了一套可直接复用的 Hook 注入与拦截方案。资源包含 Hook.dll 动态库与 Inject.exe 注入器,动态库将下钩子逻辑封装为数组配置形式&…

2026/10/11 2:52:31

家庭网络设备实战指南:从光猫桥接到智能排错全程解析

说起网络设备,很多人第一反应是“不就是路由器吗,买回来插上就能用”。这话对了一半,但另一半才是关键——同一套设备,有人把千兆宽带用成百兆还老是掉线,有人家里只有五十兆的小水管,却能全屋流畅看视频、…

2026/10/11 2:52:31

HttpClient与微信登录:外卖小程序用户端核心开发实战

下午五点,带着前一天刚接完微信支付的余温,我开始动手Day6的内容:HttpClient、微信小程序开发、微信登录、商品浏览。说实话,到了这个阶段才是我觉得外卖项目真正“活”过来的临界点。前面几天一直在搭后端、写管理端接口&#xf…

2026/10/11 2:47:31

EMC标准体系详解:通用标准与产品族标准如何选择

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 0:02:13

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/11 0:02:13

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/11 0:02:13

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/11 0:02:13

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/11 0:02:13

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/11 0:02:13

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑