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

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3246
Зарегистрирован: 20.08.2022

#

Выпуск эмутятора Box64 0.3.0, позволяющего запускать x86-игры на системах ARM64 и RISC-V
Дата публикации:Tue, 09 Jul 2024 14:28:26 +0300




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



Особенностью проекта является применение гибридной модели выполнения, при которой эмуляция применяется только к машинному коду самого приложения и специфичных библиотек. Типовые системные библиотеки, включая libc, libm, GTK, SDL, Vulkan и OpenGL, подменяются на варианты, родные для целевых платформ. Таким образом, библиотечные вызовы выполняются без эмуляции, что позволяет добиться значительного увеличения производительности.




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



В новой версии:
  • Реализована поддержка процессорных расширений 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.


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=61510

Жизнь за Нер'зула!

Ответить