Arm 桌面:仿真 - Marcin Juszkiewicz

这是“让我尝试将 AArch64 系统用作桌面”系列的第 5 部分:

  • 系列文章:

  • 关于在非 x86 系统上运行 x86-64 程序:人们常被问到能否运行特定 x86-64 二进制文件,可通过 FEX-emu 实现。

    • 软件栈:寻找在 Fedora/Arm 上运行 x86-64 应用的方法,常参考 Asahi 文档,但如果 Arm 系统运行 4K 页大小内核,可跳过大部分文档,只需 FEX-emu 及相关组件,可移除一些 QEMU 包如dnf remove qemu-static-*
    • 检查模拟:安装 FEX-emu 会安装 Fedora/x86-64 rootfs,可通过uname -m检查模拟是否工作,正常应显示 x86_64,/usr/lib/binfmt.d/目录应只有两个文件FEX-x86_64.confFEX-x86.conf
    • Geekbench 6:在模拟 CPU 上运行 Geekbench 6,结果不佳,单核心 459,多核心 4110,相当于 2021 年的 Intel Atom CPU,远不如 AMD Ryzen 5 3600。
    • 可改进之处:FEX-Emu 开发者提到可利用一些 Arm CPU 特性加快模拟,如各种加密、TSO 模拟等,Ampere Altra 的 Neoverse-N1 核心支持部分特性。
    • 技巧和窍门:通过减少 x86 FPU 精度和禁用 TSO 可使模拟稍快,如修改配置文件~/.fex-emu/Config.json。此更改使 Factorio 可见提速,但 Geekbench 结果会随机崩溃。
    • Steam:安装 Steam 包(从 RPM Fusion non-free 页面获取)并安装,无需依赖,运行FEXBash steam,可得到 Steam 窗口,准备玩游戏。
    • Factorio:作者对 Factorio 游戏在基于 Ampere Altra 的系统上的体验,未调整 FEX-Emu 配置时无法玩,调整后在有很多机器人的区域可运行 16 - 25 FPS,接近 60/60 时需靠近空旷区域,可能会尝试 100 小时内完成游戏。
    • 有趣故事:@chenlin3 为 EDK2 构建系统添加 Ninja 构建解决方案,起初用 Ninja 构建 ALTRA8UD - 1L2T 固件耗时 2 分钟(72 分钟总 CPU 时间),发现是在模拟,将 x86 - 64 二进制的 Ninja 替换为 aarch64 符号链接后有明显改进,作者在拉取请求中添加 NAK。
  • 是否值得使用:作者不打算经常使用 x86(-64)模拟,可能会尝试玩一些较老的游戏如 Torchlight II,曾运行一次后停止工作。
阅读 7
0 条评论