Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

Выпуск Box64 0.4.0, эмулятора для запуска x86-игр на системах ARM64, RISC-V и Loongarch64

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 1199
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 47 раз
Поблагодарили: 26 раз

Выпуск Box64 0.4.0, эмулятора для запуска x86-игр на системах ARM64, RISC-V и Loongarch64

Сообщение root:# »

Выпуск Box64 0.4.0, эмулятора для запуска x86-игр на системах ARM64, RISC-V и Loongarch64
Опубликован выпуск эмулятора Box64 0.4.0, предназначенного для запуска Linux-программ, собранных для архитектуры x86_64, на оборудовании с процессорами ARM64, RISC-V и Loongarch64. Проект уделяет большое внимание организации запуска игровых приложений и предоставляет возможность запуска Windows-сборок через Wine и Proton. Исходные тексты проекта написаны на языке Си и распространяются под лицензией MIT.
Особенностью проекта является применение гибридной модели выполнения, при которой эмуляция применяется только к машинному коду самого приложения и специфичных библиотек. Типовые системные библиотеки, включая libc, libm, GTK, SDL, Vulkan и OpenGL, подменяются на варианты, родные для целевых платформ. Таким образом, библиотечные вызовы выполняются без эмуляции, что позволяет добиться значительного увеличения производительности.

Эмуляция кода, для которого отсутствуют родные для целевой платформы замены, выполняется с использованием техники динамической перекомпиляции (DynaRec) из одного набора машинных инструкций в другой. По сравнению с интерпретацией машинных инструкций динамическая перекомпиляция демонстрирует в 5-10 раз более высокую производительность.
В новой версии:
  • Представлен унифицированный декодировщик префиксов кода операций (prefix opcode decoder), задействованный в интерпретаторе и во всех бэкендах динамической перекомпиляции (DynaRec). Новый декодировщик более универсально обрабатывает редкие сочетания префиксов опкодов и позволяет обойтись без специфичных "хаков" и дублирования кода в интерпрететоре и бэкендах DynaRec. Переработка декодировщика привела к удалению лишнего кода, упрощению сопровождения кодовой базы и возможности работы DynaRec с нетипичными комбинациями префиксов опкодов. Началась работа над механизмом для удаления из памяти блоков кода, сконвертированных в нативный код, но уже не используемых. Подобная оптимизация позволяет сократить потребление памяти при запуске приложений, выполняющих большой объём операций при запуске, таких как Steam и приложения, использующие libcef. Улучшена поддержка архитектуры ARM64: Реализован сборочный профиль для CPU NVIDIA GB10. В бэкенде динамической перекомпиляции (DynaRec) продолжена реализация техник оптимизации циклов, таких как вынос операций выставления регистров XMM/YMM из тела цикла. Повышена стабильность и производительность бэкенда динамической перекомпиляции для архитектуры RISC-V. Обеспечен корректный запуск Steam, Proton и Wine, но для работы с защищённым DRM-контентом, требующим эмуляции системных вызовов Windows, требуется оборудование с поддержкой 48-разрядного адресного пространства (SV48) или использование модифицированных сборок Wine и Proton. Значительно продвинулась разработка бэкенда для архитектуры Loongarch, которая доведена до возможности запуска Steam, Wine и Proton, но пока отстаёт по функциональности от бэкенда для систем ARM64. Для работы пока требуется использование в ядре страниц памяти, размером 4K (по умолчанию для Loongarch обычно выставляется 16K). Производительности уже достаточно для запуска игр на CPU Loongarch 3A6000 (2.5 GHz c 4 физическими ядрами).

    https://www.youtube.com/embed/6Fa50RHPJcY
    Повышена стабильность режима Box32, обеспечивающего поддержку 32-разрядных исполняемых файлов в Box64. В данном режиме отмечается повышение стабильность работы Steam на всех архитектурах и возможность использования внутриигровых оверлеев в некоторых OpenGL-играх.


Источник: https://www.opennet.ru/opennews/art.shtml?num=64552