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 和質子層的兼容性。 可以在 AArch64 板(如 Raspberry Pi 3 和 4)上運行 Steam 上的許多 Linux 和 Windows 遊戲。
  • 改進了內存管理、mmap 行為和內存保護違規監控。
  • 改進了對 libc 中克隆系統調用的支持。 添加了對新系統調用的支持。
  • 在動態重新編譯引擎中,改進了與 SSE/x87 註冊表的工作,添加了對新機器代碼的支持,優化了浮點和雙精度轉換,改進了內部分支處理,簡化了對新架構的支持。
  • 改進的 ELF 文件加載器。

最後,如果你有興趣了解更多,可以查閱詳情 在下面的鏈接中。


成為第一個發表評論

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。