Состоялся релиз эмулятора Box64 0.4.0 с улучшенной поддержкой игр на архитектурах ARM64 и Loongarch

Команда разработчиков проекта Box64 представила новую версию своего эмулятора под номером 0.4.0. Программное обеспечение предназначено для запуска Linux приложений, скомпилированных для архитектуры x86_64, на оборудовании с процессорами ARM64, RISC-V и Loongarch64. Авторы проекта уделяют особое внимание возможности запуска компьютерных игр, предоставляя инструменты для работы с Windows-сборками через слои совместимости Wine и Proton.

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

В представленном обновлении был внедрен унифицированный декодировщик префиксов кода операций. Он задействован как в интерпретаторе, так и во всех бэкендах динамической перекомпиляции. Новый механизм позволяет более универсально обрабатывать редкие сочетания префиксов и отказаться от специфичных хаков в коде, что упрощает сопровождение проекта. Кроме того, началась работа над оптимизацией памяти: система научилась удалять блоки кода, которые были скомпилированы в нативный вид, но перестали использоваться. Это нововведение снижает потребление ресурсов при запуске масштабных приложений вроде клиента Steam.

Улучшения коснулись и поддержки аппаратных платформ. Для архитектуры ARM664 был реализован профиль сборки под процессор NVIDIA GB10, а также продолжена работа над оптимизацией циклов. Бэкенд для архитектуры RISC-V получил повышение стабильности и производительности, что позволило обеспечить корректный запуск Steam и Wine. Однако для работы с защищенным контентом на этой платформе по-прежнему требуется оборудование с поддержкой 48-разрядного адресного пространства.

Существенный прогресс достигнут в поддержке архитектуры Loongarch. Разработчики довели эмуляцию до состояния, позволяющего запускать Steam и Proton. Текущей производительности уже достаточно для комфортной игры на процессоре Loongarch 3A6000, хотя для этого требуется использование страниц памяти размером 4K в ядре операционной системы. Также в новой версии была повышена стабильность режима Box32, отвечающего за поддержку 32-битных исполняемых файлов, что положительно сказалось на работе внутриигровых оверлеев в OpenGL-проектах.

Источник: www.playground.ru

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии