Các phiên bản mới của Box86 và Box64 đã được phát hành

Gần đây việc phát hành các phiên bản mới của Trình giả lập Box86 0.2.6 và Box64 0.1.8. Các dự án được phát triển đồng bộ bởi cùng một nhóm phát triển.

Box86 bị ​​giới hạn để chạy các ứng dụng x86 32-bit (chẳng hạn như trò chơi) trên các hệ thống Linux không phải x86, chẳng hạn như ARM (hệ thống máy chủ lưu trữ phải là 32-bit little-endian). Do đó, cần có một hệ thống con 32-bit để chạy và biên dịch Box86. Box86 vô dụng trên các hệ thống chỉ 64-bit. Ngoài ra, bạn cần một chuỗi công cụ 32-bit để biên dịch Box86.

Vì Box86 sử dụng phiên bản gốc của một số thư viện "hệ thống", chẳng hạn như libc, libm, SDL và OpenGL, nên dễ dàng tích hợp và sử dụng với hầu hết các ứng dụng và hiệu suất có thể cao đáng ngạc nhiên trong nhiều trường hợp.

Tương tự đối với Box64, chỉ như vậy và cho phép chạy các tệp thực thi 64 bit. Dự án rất chú trọng đến việc tổ chức phát hành các ứng dụng trò chơi, bao gồm khả năng phát hành các bản dựng Windows thông qua Wine và Proton.

Một tính năng của dự án là sử dụng mô hình thực thi kết hợp, trong đó mô phỏng chỉ được áp dụng cho mã máy của chính ứng dụng và các thư viện cụ thể. Các thư viện hệ thống chung, bao gồm libc, libm, GTK, SDL, Vulkan và OpenGL, được thay thế bằng các biến thể gốc trên nền tảng đích. Do đó, các lệnh gọi thư viện được thực hiện mà không cần mô phỏng, điều này cho phép tăng hiệu suất đáng kể.

Mã mô phỏng không có ghi đè gốcs đối với nền tảng đích được thực hiện bằng cách sử dụng kỹ thuật biên dịch lại động (DynaRec) từ một bộ lệnh máy này sang bộ lệnh máy khác. So với việc thông dịch các lệnh máy, biên dịch lại động cho thấy hiệu suất tốt hơn từ 5 đến 10 lần.

trong các bài kiểm tra hiệu suất, khi chạy trên nền tảng Armhf và Aarch64, Trình giả lập Box86 và Box64 vượt trội hơn đáng kể so với các dự án QEMU và FEX-emu và trong một số thử nghiệm (glmark2, openarena), chúng đã đạt được hiệu suất giống như việc chạy một assembly gốc cho nền tảng đích.

Về khả năng tương thích trong số các ứng dụng, dTrong số 165 trò chơi được thử nghiệm, khoảng 70% đã thành công. Khoảng 10% công việc nhiều hơn, nhưng với một số bảo lưu và hạn chế nhất định.

Trong số các trò chơi có vấn đề được lưu ý, đã đề cập đến các trò chơi dựa trên công cụ Unity3D, được gắn với gói Mono, có tính năng mô phỏng không phải lúc nào cũng hoạt động do biên dịch JIT được sử dụng trong Mono và cũng có đồ họa khá cao, yêu cầu điều đó không phải lúc nào cũng đạt được trên bo mạch ARM. Việc thay thế các thư viện ứng dụng GTK hiện chỉ giới hạn ở GTK2 (việc thay thế GTK3 / 4 không được thực hiện đầy đủ).

Đối với những thay đổi chính trong các bản phát hành mới, phần sau được đánh dấu:

  • Đã thêm liên kết cho thư viện Vulkan. Đã thêm hỗ trợ API đồ họa Vulkan và DXVK (triển khai DXGI, Direct3D 9, 10 và 11 qua Vulkan).
  • Cải thiện ràng buộc cho các thư viện GTK. Đã thêm các ràng buộc cho gstreamer và các thư viện thường được sử dụng trong các ứng dụng GTK.
  • Đã thêm hỗ trợ ban đầu (cho đến nay chỉ có chế độ diễn giải) cho kiến ​​trúc RISC-V và PPC64LE.
  • Các bản sửa lỗi đã được thực hiện để cải thiện khả năng tương thích với SteamPlay và Lớp Proton. Có thể chạy nhiều trò chơi Linux và Windows từ Steam trên bo mạch AArch64 như Raspberry Pi 3 và 4.
  • Cải thiện quản lý bộ nhớ, hành vi mmap và giám sát các vi phạm bảo vệ bộ nhớ.
  • Cải thiện hỗ trợ cho cuộc gọi hệ thống nhân bản trong libc. Đã thêm hỗ trợ cho các cuộc gọi hệ thống mới.
  • Trong công cụ biên dịch lại động, công việc với các đăng ký SSE / x87 đã được cải thiện, hỗ trợ mã máy mới được thêm vào, chuyển đổi float và kép đã được tối ưu hóa, xử lý nhánh nội bộ được cải thiện, hỗ trợ đơn giản hóa cho các kiến ​​trúc mới.
  • Trình tải tệp ELF được cải tiến.

Cuối cùng, nếu bạn quan tâm muốn biết thêm về nó, bạn có thể tham khảo chi tiết Trong liên kết sau đây.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.