Box86和Box64的新版本已经发布

最近 释放 的新版本 Box86 0.2.6 和 Box64 0.1.8 模拟器. 这些项目由同一个开发团队同步开发。

Box86 仅限于运行 86 位 x32 应用程序 (例如游戏)在非 x86 Linux 系统上,例如 ARM(主机系统必须是 32 位 little-endian)。 因此,运行和编译 Box32 需要一个 86 位的子系统。 Box86 在仅限 64 位系统上是无用的。 此外,您需要一个 32 位工具链来编译 Box86。

由于 Box86 使用了一些“系统”库的原生版本,例如 libc、libm、SDL 和 OpenGL,因此它很容易与大多数应用程序集成和使用,并且在许多情况下性能可以达到惊人的高。

Box64 也是如此, 只有这样并允许 运行 64 位可执行文件. 该项目非常注重游戏应用程序发布的组织,包括通过 Wine 和 Proton 发布 Windows 构建的能力。

该项目的一个特点是使用混合执行模型,其中仿真仅应用于应用程序本身的机器代码和特定库。 通用系统库,包括 libc、libm、GTK、SDL、Vulkan 和 OpenGL,在目标平台上被本机变体取代。 因此,无需仿真即可执行库调用,从而显着提高性能。

模拟没有本机覆盖的代码目标平台的 s 是使用从一组机器指令到另一组机器指令的动态重新编译 (DynaRec) 技术完成的。 与解释机器指令相比,动态重新编译的性能要好 5 到 10 倍。

在性能测试中,在 Armhf 和 A​​arch64 平台上运行时, Box86 和 Box64 仿真器的性能明显优于 QEMU 和 FEX-emu 项目 并且在一些测试(glmark2、openarena)中,它们实现了与运行目标平台本机程序集相同的性能。

在兼容性方面 应用程序,d在测试的 165 款游戏中,大约 70% 是成功的。 大约增加 10% 的工作量,但有一定的保留和限制。

在注意到问题的游戏中,提到了基于 Unity3D 引擎的游戏,它与 Mono 包绑定,由于 Mono 中使用的 JIT 编译,其仿真仍然无法正常工作,并且图形要求很高这在 ARM 板上并不总是可以实现。 GTK 应用程序库的替换目前仅限于 GTK2(GTK3/4 替换尚未完全实现)。

至于 新版本的主要变化,突出显示以下内容:

  • 添加了 Vulkan 库的链接。 添加了 Vulkan 和 DXVK 图形 API 支持(通过 Vulkan 实现 DXGI、Direct3D 9、10 和 11)。
  • 改进了 GTK 库的绑定。 为 GTK 应用程序中常用的 gstreamer 和库添加了绑定。
  • 添加了对 RISC-V 和 PPC64LE 架构的初始支持(目前仅解释模式)。
  • 已修复错误以提高与 SteamPlay 和质子层的兼容性。 可以在 Raspberry Pi 64 和 3 等 AArch4 板上运行 Steam 上的许多 Linux 和 Windows 游戏。
  • 改进了内存管理、mmap 行为和内存保护违规监控。
  • 改进了对 libc 中克隆系统调用的支持。 添加了对新系统调用的支持。
  • 在动态重新编译引擎中,改进了对 SSE/x87 注册表的工作,添加了对新机器码的支持,优化了浮点和双精度转换,改进了内部分支处理,简化了对新架构的支持。
  • 改进的 ELF 文件加载器。

最后,如果你有兴趣了解更多,可以查阅详情 在下面的链接中。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。