虽然 Apple M1 SoC 是一款出色的硬件,但 Apple Silicon 在其最新款 Mac 上如此成功的很大一部分原因在于他们的 Rosetta 2 软件,用于动态转换 x86/x86_64 软件以在这些 64 位 Arm 系统上良好运行. 多亏了 Rosetta 2,为之前的英特尔 Mac 优化的现有应用程序和游戏继续在其最新硬件上以出色的状态运行。虽然在 Linux 上正在为 Apple Silicon 进行 Linux 启动工作,但开源世界目前还没有引人注目的 Rosetta 2 替代方案的优势,但 FEX-Emu 项目希望改变这种前景。
显然有 QEMU 以及Box86/Box64等其他软件但在 AArch64 上享受 x86/x86_64 软件时,它不如 Apple 的 Rosetta 2 快速或无故障。Linux 用户确实具有大量使用通常可以针对多种架构的开源软件的优势,但是对于所有的专有软件,尚未针对现代 Arm 指令扩展进行优化的软件,尤其是商业游戏,没有可行的 AArch64此时支持。FEX-Emu 旨在成为在 AArch64 上运行 x86/x86_64 二进制文件的引人注目的开源解决方案,其性能足以处理游戏,并且足够先进以处理 Linux 游戏,包括在 Valve 的 Steam Play / Proton 下运行的游戏。FEX-Emu 还被设计为有效地将调用转发到主机 OpenGL 驱动程序和其他组件。
FEX-Emu 今天将作为本周末FOSDEM 2022 活动的一部分进行展示。为了纪念这一时刻,FEX-2202 也作为该模拟器的最新版本发布。FEX-Emu 开发者 Ryan Houdek 也是 Dolphin-Emu 开发者 GameCube/Wii 仿真器开发者,他是今天下午在 FOSDEM 上介绍这款用于 AArch64 的快速 x86 仿真的人。
FEX-Emu 依赖于对 IR 进行 JIT 处理,然后在 AArch64 上高效执行。FEX-Emu 包含所有 Linux 5.0 到 5.16 时代的系统调用,以实现访客覆盖。随着新的 FEX-2202 版本,它开始支持一些 SSE 4.2 指令,建立在现有的 SSE 4.1 支持的基础上。但是,AVX/AVX2 支持尚未在其他用于处理现代游戏的较新指令集扩展中得到处理。
FEX-Emu 仍在致力于更快的代码生成、模糊测试、更多的库 thunking 以及完成对质子/压力容器的支持。FEX-2202 超越了最初的 SSE4.2 工作,还修复了压力容器挂起,作为能够在 AArch64 上享受 Valve 的 Proton 以及许多其他错误修复的又一步。
那些希望了解更多关于 FEX-Emu 并希望允许 Valve 的 Steam Play / Proton 与其他适用于 Linux Arm 硬件的现代 x86/x86_64 软件一起在 AArch64 上运行的人,请参阅FOSDEM 演示文稿。该项目托管在FEX-Emu.org和GitHub 上。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun124802.html