拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Box64:如何在ARM设备上跑起x86_64游戏与软件

Box64如何在ARM设备上跑起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/box64Box64 是一个运行在用户空间的 x86_64 模拟器专门让 ARM64、RISC-V、龙芯等 Linux 设备能直接执行 64 位 x86_64 程序——包括游戏。如果你有一台 ARM 设备树莓派、RK3588 开发板、ARM 服务器或安卓盒子又想在上面运行 x86_64 的 Linux 程序或 Windows 软件它就是那个让事情变简单的工具。3分钟跑通第一个x86_64程序上手只需三步克隆源码、编译、安装。整个过程不需要交叉工具链直接在目标设备上执行即可。下面的命令会拉取源码并进入构建目录git clone https://gitcode.com/gh_mirrors/bo/box64 cd box64 mkdir build cd build cmake .. -D ARM_DYNARECON -D CMAKE_BUILD_TYPERelWithDebInfo make -j$(nproc) sudo make install sudo systemctl restart systemd-binfmt-D ARM_DYNARECON是核心开关打开后 Box64 才启用动态重编译原理下文讲。如果你的设备是特定型号还能追加对应参数树莓派 4 加-D RPI4ARM641RK3588 加-D RK35881树莓派 5 加-D RPI5ARM641。完整的各平台参数列表在官方编译文档里都有。装完后跑一个 x86_64 程序就是一句话的事box64 ./你的x86_64程序看到版本信息或程序正常输出就成功了。安装细节和包管理相关内容可参考中文使用文档。Box64是怎么翻译指令的原理大白话版先说结论Box64 把 x86_64 指令动态重编译成你的 CPU 原生指令这就是它比纯解释器快 5~10 倍的原因。可以把它想象成一位同声传译官程序每执行一段新代码他就把 x86_64外语实时翻译成你设备能懂的本地话而不是逐字慢吞吞地念。再打个比方这位翻译官很聪明会把已经翻译过的段落记在速记本上——这就是 Box64 的动态缓存DynaCache默认开启文件存在~/.cache/box64。同一个程序第二次启动时大量代码直接查速记本启动时间明显缩短。缓存文件有压缩默认上限 2GB如果磁盘紧张可以用配置把它设为只读BOX64_DYNACACHE2。另一个关键设计Box64 只翻译指令不模拟操作系统——glibc、SDL、OpenGL 这些库全部直接调用宿主系统原生的。少了一层模拟性能和兼容性自然都更好这也是它和完整虚拟机最大的区别。实战你最可能跑的3类程序在ARM设备上玩SteamBox64 同时支持 Linux 版和 Windows 版 Steam仓库根目录自带一键脚本install_steam.sh装完直接运行steam就行。注意内存低于 6GB 的设备建议先加一个 swap 文件。完整的版本选择和 64 位运行时设置见Steam 专题文档。用Wine跑Windows程序Box64 Wine 的组合能让 Windows 程序在 ARM 上运行比如box64 wine64 notepad.exeWindows 程序有 32 位和 64 位之分选哪种 Wine 变体x86_64 Wine、WOW64 模式等直接影响能跑哪些程序这部分内容比较细建议对照 Wine 使用文档按自己的情况选。日常命令与调试除了直接跑程序还有几个实用入口box64-bash给你一个完整的 x86_64 bash 环境box64 -k可以杀掉所有正在模拟的进程程序卡死时很好用。3个常见报错与修复现象多半是哪里出了问题怎么修报缺少库文件、启动失败系统里没装对应的 x86_64 库用仓库自带的box64-bundle-x86-libs.sh脚本打包安装所需 x86 库用法见 BUNDLE-X86-LIBS.md图形程序黑屏或画面异常宿主 OpenGL/Mesa 版本对不上设置MESA_GL_VERSION_OVERRIDE3.2再启动程序越跑越慢、启动变长缓存或代码块策略没调好确认 DynaCache 开启默认就是可试BOX64_DYNAREC_BIGBLOCK232位程序跑不起来Box64 只管 64 位32 位 Linux 程序交给 Box86/Box32编译时加-DBOX32ON还有一个容易忽略的坑部分安装脚本会用uname -m判断架构在 ARM 上会拿到错误结果。这类脚本要写成box64 脚本.sh执行让 Box64 先接管。最省事的配置方式一份box64rc文件环境变量要一个个 export重启就没了配置文件才是省心方案。Box64 会依次读取/etc/box64.box64rc和~/.box64rcini 格式个人配置优先级更高。给常用场景写一份~/.box64rc以后不用记任何环境变量[*] BOX64_DYNAREC1 [steam] BOX64_DYNAREC_SAFEFLAGS0 BOX64_DYNAREC_BIGBLOCK2 [*.x86_64] BOX64_DYNAREC_STRONGMEM1其中[*]是所有程序的默认值[steam]只对名为 steam 的程序生效也支持通配符匹配。每个变量具体能取什么值、影响什么使用文档里有完整清单这里就不展开了。下一步行动按上面的命令在设备上编译安装用box64 任意x86_64程序验证成功创建一份~/.box64rc先只写[*]段的BOX64_DYNAREC1运行box64-bash进 x86_64 bash 环境体验与本地命令的差异遇到缺库或黑屏直接翻本文的报错速查表对照处理【免费下载链接】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),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门