Выпуск эмутятора Box64 0.3.0, позволяющего запускать x86-игры на системах ARM64 и RISC-V

Опубликован выпуск эмулятора Box64 0.3.0, предназначенного для запуска Linux-программ, собранных для архитектуры x86_64, на оборудовании с процессорами ARM64, RISC-V и Loongarch64. Проект уделяет большое внимание организации запуска игровых приложений и предоставляет возможность запуска Windows-сборок через wine и Proton. Исходные тексты проекта написаны на языке Си и распространяются под лицензией MIT.

A distinctive feature of the project is the use of a hybrid execution model, where emulation is applied only to the machine code of the application itself and specific libraries. Standard system libraries, including libc, libm, GTK, SDL, Vulkan, and OpenGL, are replaced with native alternatives for the target platforms. This way, library calls are executed without emulation, significantly improving performance.

Эмуляция кода, для которого отсутствуют родные для целевой платформы замены, выполняется с использованием техники динамической перекомпиляции (DynaRec) из одного набора машинных инструкций в другой. По сравнению с интерпретацией машинных инструкций динамическая перекомпиляция демонстрирует в 5-10 раз более высокую производительность.

Yeni versiyada:

  • Реализована поддержка процессорных расширений AVX, AVX2, BMI1, BMI2, ADX, FMA, F16C и RDRAND.
  • Добавлена переменная окружения BOX64_AVX, выставление 1 в которой включает поддержку AVX, BMI1, F16C и VAES, а в 2 — AVX2, BMI2, FMA, ADX, VPCLMULQDQ и RDRAND.
  • Добавлена поддержка динамической перекомпиляции (DynaRec) AVX, AVX2 и подобных инструкций в представление на базе инструкций NEON, предоставляемых в CPU на базе архитектуры ARM64.
  • Добавлена начальная поддержка перекомпиляции инструкций SIMD в инструкции RVV на системах RISC-V.
  • Проведена оптимизация механизма DynaRec, добавлена поддержка новых покодов для RISC-V и Loongarch64.
  • Обновлён список опкодов CPUID, по умолчанию вместо Pentium IV через CPUID теперь выдаётся CPU серии Haswell.
  • Добавлена поддержка Wayland и предосатвлена возможность динамической перекомпиляции связанных с Wayland библиотек, что позволило добиться совместимости с Wine-wayland.
  • Расширено число поддерживаемых игр, например, добавлена совместимость с игрой Death Stranding. Обеспечено определение использования библиотеки UnityPlayer.dll в запускаемых в Wine программах и автоматическое выставление параметра BOX64_DYNAREC_STRONGMEM=1.

Mənbə: opennet.ru

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster