The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

09.07.2024 14:28

Опубликован выпуск эмулятора 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.


  1. Главная ссылка к новости (https://box86.org/2024/07/new-...)
  2. OpenNews: Выпуск эмулятора QEMU 9.0.0
  3. OpenNews: Представлен Blink, эмулятор x86-64, опережающий QEMU по производительности
  4. OpenNews: Релиз эмулятора DOSBox Staging 0.81
  5. OpenNews: Выпуск свободного эмулятора классических квестов ScummVM 2.8.0
  6. OpenNews: Выпуск эмулятора игровых консолей RetroArch 1.16
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/61510-box64
Ключевые слова: box64, emulator
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (35) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 14:45, 09/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я хочу купить рисковый ноут и запускать на нём всякие бинарные slack/zoom/discord. Это по ходу, все проприетарные трояны что у меня есть.
     
     
  • 2.6, Аноним (6), 15:03, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Он же только для игр.
     
     
  • 3.7, Аноним (7), 15:07, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А Discord для геймеров! Что теперь, нельзя?
     
     
  • 4.9, Аноним (6), 15:24, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Геймерам можно остальным нет.
     
  • 4.41, Аноним (41), 19:41, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не только для геймеров. Это заблуждение
     
     
  • 5.42, Аноним (41), 19:42, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Даже скажу так. Им пользуюсь, но ни разу не для игр.
     
  • 2.12, анон (?), 15:32, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Запусти на нем что нибудь с BattleEye, чтобы жизнь веселее стала.
     
  • 2.30, жырымагнап (ok), 17:57, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    а ссылочкой на рисковый ноутбук поделиться можешь?
     
     
  • 3.32, Аноним (1), 18:54, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://deepcomputing.io/product/dc-roma-risc-v-laptop-ii/
    Что-то типа такого, но ещё не купил. Ещё думаю...
     
     
  • 4.48, 12yoexpert (ok), 11:37, 10/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    очередная поделка с убогим цпу уровня малинки или эппловых армов
     
     
  • 5.50, Аноним (50), 14:12, 10/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как будто, у Огрызка низкий уровень Армов.
     
  • 3.37, Аноним (37), 19:13, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Оверпрайсная какая-то ерунда. https://aliexpress.ru/wholesale?SearchText=risc-v+laptop&g=y&page=1&searchInfo
     
  • 2.49, Аноним (49), 13:42, 10/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Я хочу купить рисковый ноут

    Хочешь - покупай!
    Как говорится risc дело благородное. :-)

     

  • 1.3, Аноним (3), 14:48, 09/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Вот бы такую систему сделали для родного исполнения Решило бы проблему ада зави... большой текст свёрнут, показать
     
     
  • 2.22, Аноним (22), 16:00, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Наоборот, подменяется то, что можно пересобрать Писатель новости умные слова ти... большой текст свёрнут, показать
     
     
  • 3.35, Аноним (35), 19:06, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А я и не утверждал, что либы пересобрать нельзя Я утверждал, что такая подмена ... большой текст свёрнут, показать
     
  • 2.24, кнео (?), 16:41, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В Box86/64 всё настолько завязано на версии библиотек из Ubuntu 18.04, что у меня на Debian 12 даже C++ Hello World не запустился.

    https://github.com/ptitSeb/box86/issues/924

     
     
  • 3.46, Аноним (46), 23:17, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вот же название взяли, специально чтобы с 86Box путали?
     

  • 1.4, Аноним (3), 14:51, 09/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Добавлена переменная окружения BOX64_AVX, выставление 1 в которой включает поддержку AVX, BMI1, F16C и VAES, а в 2 - AVX2, BMI2, FMA, ADX, VPCLMULQDQ и RDRAND.

    Это должно диспетчеризоваться автоматически и в clang и gcc есть все необходимые аттрибуты для автоматической генерации кода диспетчеризации.

     
     
  • 2.8, Аноним (8), 15:11, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так смысл в том, чтобы отключить в рантайме. Во многих случаях задействование avx нежелательно. Автоматически сгенерированный код диспетчеризации позволяет управлять? И всё равно зависит от компилятора и сборочной среды, много условий.
     
     
  • 3.10, Аноним (6), 15:25, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мы так дойдем до эмулятора х86avx на х86 и наоборот.
     
     
  • 4.40, Аноним (40), 19:19, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Владельцы P-3 и ниже будут благодарны :)
     
  • 3.36, Аноним (35), 19:12, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Автоматически сгенерированный код диспетчеризации позволяет управлять? И всё равно зависит от компилятора и сборочной среды, много условий.

    Да, позволяет. Один из вариантов использования: функция анотируется архитектурой, а тело функции - от программера. Если надо - может засунуть туда проверку. Если не надо - может не засовывать. Главное - что никакого ручного кода проверки CPUIDов и их аналогов для целого вороха архитектур.

    Если совсем лениво, то есть другой вариант. Функция анотируется набором архитектур, для каждой архитектуры генерится свой оптимизированный под неё код. Но лучше всё-таки SIMDы ручками - обычно для них требуются хитрости и очень специфичные извращённые алгоритмы. Даниэль Лемир - большой спец по таким.

     
  • 3.38, Аноним (35), 19:15, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >И всё равно зависит от компилятора и сборочной среды, много условий.

    Есть только 2 компилятора: gcc и clang. Остальное - ффтопку. Потому что либо платная проприетарь, либо просто проприетарь с конской лицензией и наглым вендором, либо не поддерживает современный C++.

     
     
  • 4.45, Аноним (-), 21:39, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Потому что либо платная проприетарь

    Если эта проприетарь работает лучше чем тот же шланг или гыцыцы - то почему бы и нет?
    Вам шашечки или ехать?

     
     
  • 5.47, Аноним (47), 00:41, 10/07/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.5, Аноним (6), 15:02, 09/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Розетта на минималках.
     
     
  • 2.34, Аноним (34), 19:06, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вот бы оно ещё рекомпилировало, чтобы не на ходу эмулировать.
     
     
  • 3.39, Аноним (40), 19:16, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А DynaRec не оно?
     

  • 1.25, Vivaswan (ok), 16:53, 09/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Однозначно НУЖНО!
     
  • 1.26, Vivaswan (ok), 16:54, 09/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А на PowerPC запустить можно?
     
  • 1.43, Аноним (41), 19:56, 09/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Личное мнение - изврат. Но наверно просто я уже давно не подросток. Х86 лучшее запускать именно на соответствующем железе и ОС, ну или забить на эти игры. Их же каждый год выпускают новые на любой вкус. Пишите под соответствующие архитектуры господа игроделы. А пользователи - покупайте и желательно отечественное, может и вам в такой компании захочется поработать.
     
     
  • 2.44, Аноним (41), 19:59, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Впрочем бывают же программы, которые на другую архитектуру не портировали, кроме игр. Вот это нужно порой.
     
  • 2.51, kusb reg (ok), 17:31, 10/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Моим следующим компьютером может оказаться banana pi или старая x86 плата с базара.
     
     
  • 3.53, Аноним (53), 12:27, 12/07/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру