The OpenNET Project / Index page

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

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

02.08.2025 11:31

Опубликован релиз проекта FEX 2508, развивающего эмулятор для выполнения игр и приложений, собранных для архитектур x86 и x86-64, в Linux-окружении на системах с процессорами ARM64 (AArch64). Эмулятор FEX применяется проектом Asahi для запуска на системах с ARM-чипами Apple Silicon игр из каталога Steam, собранных для архитектуры x86_64. Код проекта написан на языке С++ с ассемблерными вставками и распространяется под лицензией MIT.

Библиотеки, необходимые для запуска x86-приложений в ARM64-окружении, подключаются в форме overlay-прослойки с образом корневой ФС (rootfs), поставляемой в формате SquashFS. Подобная прослойка даёт возможность обойтись без создания отдельного chroot-окружения. Загрузка уже сформированных проектом образов rootfs производится утилитой FEXRootFSFetcher.

Для доступа к возможностям хост-окружения, таким как средства для работы со звуком и 3D-графикой, в rootfs помещаются thunk-библиотеки, транслирующие обращения к библиотекам и коду на стороне хост-системы (например, могут перенаправляться обращения к OpenGL и Vulkan). Подобные библиотеки также могут использоваться и на стороне хоста для обращения к коду в гостевом окружении. Среди доступных для проброса библиотек: libEGL, libGL, libSDL2, libX11, libVDSO, libasound, libdrm, libfex_malloc, libvulkan, libwayland-client и libxshmfence.

В новой версии:

  • Проведена значительная оптимизация JIT-компилятора, позволившая добиться повышения FPS в игре Cyberpunk 2077 на 38.9%, Doom 2016 - на 30.9%, Stray - на 25.2%, Grim Fandango Remastered - на 24.7%, Teardown - 12.6%, на God of War 2018 - на 4.6%. Наибольшее влияние оказали оптимизации стека вызовов и возвратов (call-return), а также задействование в библиотеках wow64/arm64ec модели памяти TSO (Total Store Ordering), поддерживаемой в CPU Apple Silicon.

  • Реализована поддержка NX-бита (No Execute) для запрета исполнения инструкций в областях памяти, специально не помеченных, как допустимые для исполнения.
  • Улучшена поддержка кода, используемого для предотвращения отладки и изменения хода выполнения в играх, таких как Peggle Deluxe и Crysis 2: Maximum Edition.


  1. Главная ссылка к новости (https://fex-emu.com/FEX-2508/...)
  2. OpenNews: Выпуск Hangover 10.11, пакета для запуска Windows-приложений на системах ARM64
  3. OpenNews: Выпуск эмулятора FEX 2503, позволяющего запускать x86-программы на системах ARM64
  4. OpenNews: Проект Asahi Linux подготовил инструментарий для запуска Windows-игр
  5. OpenNews: Новые версии эмуляторов Box86 и Box64, позволяющих запускать x86-игры на системах ARM
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63666-fex-emu
Ключевые слова: fex-emu, game, wine, emulator
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (48) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:56, 02/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Как это в сравнении с https://box86.org/ ?
     
  • 1.2, Аноним (2), 12:03, 02/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хорошо эмулирует? Кто пользовался?)
     
  • 1.3, Аноним (3), 12:10, 02/08/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –8 +/
     

  • 1.6, Аноним (6), 12:37, 02/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Объясните, зачем это. Неужели геймеры станут покупать аарч64 для игор? Типа, "трудности люблю, стоя в гамаке и на лыжах"?
     
     
  • 2.8, Аноним (8), 12:44, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > геймеры

    ноныче в тилипонах залипают.

     
  • 2.10, Аноним (10), 13:06, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • +10 +/
    В новости об этом сказано. Геймеры покупают Мак, а потом с удивлением обнаруживают, что система не та.
     
     
  • 3.25, Аноним (25), 16:16, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    К сожалению поддержка там никакенская. м1 уже устарел, м2 поддерживается плохо, а м3/м4 вообще не работает и скорее всего никогда не заработает в Линуксе.
     
  • 3.54, Аноним (54), 14:17, 03/08/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Геймер не купит Эпл для игр. Геймер разбирается в железе.
     
  • 2.29, Аноним (29), 17:49, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Box86/Box64 используется в winlator который вполне шустро гоняет игры на флагманах. FEX 2508 как я понял тоже можно прикрутить к некоторым форкам winlator. Т.к. с каждым годом смартфоны и планшеты все мощнее то необходимость эмуляторов таких растет.
     
  • 2.32, Karl Richter (ok), 20:21, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Кто-то же использует Linux для игр. А тут ещё больший "хардкор".
     
     
  • 3.40, Аноним (40), 23:30, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Какой к свиньям хардкор? В протоне 99% игор запускается одной кнопкой. Хардкор - это портировать netbsd на новые платформы, а играть на линухе - это попса.
     
     
  • 4.41, Аноним10084 и 1008465039 (?), 00:01, 03/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А ведь NetBSD славилась своей портируемостью
     
  • 4.48, Аноним (48), 11:24, 03/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нет там и близко 99%. До сих пор 4000+ игр числятся в «неподдерживаемых».
     
  • 4.53, Аноним (54), 14:16, 03/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    На какие новые платформы? Все BSD поддерживают ARM64, RISC-V.
     
  • 2.61, Аноним (61), 01:20, 04/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для Декарда же
     

  • 1.7, Аноним (8), 12:38, 02/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > оптимизация JIT-компилятора

    Зачем там JIT, если можно AOT 1 раз сделать не спеша. Боятся что засудят за дизасм экзешников? Ну так он и в jit происходит же ж, только потоково.

     
     
  • 2.9, Аноним (9), 13:05, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Действительно незачем. Сделайте!
     
  • 2.21, blkkid (?), 16:00, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну дурачки, нужно было чтобы ты им сказал, а то ведь они-то и не знают как лучше
     
  • 2.38, Аноним (-), 21:58, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это же азы, которые неплохо было бы знать.

    1. JIT позволяет не компилировать всё, а только то, что влияет на производительность. Эмуляция кода инициализации, которая выполняется один раз, как правило выходит быстрее, чем компиляция в натив код и выполнение.

    2. JIT позволяет накапливать статистику выполнения и перекомпилировать. Некоторые теоретики до сих пор убеждены что java быстрее C++, потому что Java компилируется джаст-ин-тайм, и поэтому если дать программе "прогреться", то код лучше оптимизирован. На практике же, PGO порвёт весь JIT как тузик грелку, но я не слышал, чтобы PGO применяли бы к AOT. Ты можешь попробовать, может это быстрее будет?

     

  • 1.12, Аноним (10), 13:07, 02/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    В обратную-то сторону когда сделают?

    Арм у меня только в мобиле, а тестировать билды надо для армов.

     
     
  • 2.14, _kp (ok), 13:25, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так на мобиле быстрее работает. Хотя, для некритичного по скорости ПО эмуляторы были в средах разработки изначально, и на современных процессорах на издержки эмуляции можно и забить.
     
  • 2.15, name (??), 13:40, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Давно сделали, но проприетарное, libhoudini и libndk. Есть ещё медленный qemu.
     
     
  • 3.20, Аноним (10), 15:46, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А хауту есть?

    Мне не андроидные программы запускать, а гну.

     
     
  • 4.34, name (??), 20:24, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В binfmt их прописать, наверное.
     
  • 3.24, Аноним (10), 16:13, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Qemu в 20 раз медленнее, я просто в толк не возьму, почему за так много лет никто не оптимизировал.
     
     
  • 4.33, name (??), 20:22, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нет спроса. Он не для скорости, а для точности. У быстрых эмуляторов много багов.
     
  • 4.46, Аноним (46), 08:52, 03/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Его можно оптимизировать то по через Плис.
     

  • 1.27, Аноним (25), 16:17, 02/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    К сожалению вещь практически ненужная. Поддержка армовского десктопного железа в Линуксе такая, что её практически нет. Впрочем и на винде 3Д практически не работает.
     
     
  • 2.28, freeperson (?), 17:45, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Raspberry Pi же есть. Что ещё нужно?
     
     
  • 3.36, Аноним (36), 21:08, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тебе сказали: "декстопного".
     
     
  • 4.39, Аноним (39), 22:04, 02/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда ссылочку на по-вашему десктопное глянуть бы. Ябблотехника не в счёт, это шибко для особой категории юзверей. И сильно огороженная, поэтому не увидивительо, что поддержка открытыми ОС может быть слабовата.
     
  • 4.49, funny.falcon (?), 12:16, 03/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Малинка (особенно последняя) мощнее самых крутых рабочих станций девяностых годов. Да и большинства персональных компьютеров нулевых годов.

    Вы конечно же правы. Но всё в этом мире относительно.

     
  • 3.42, Аноним (42), 00:08, 03/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Cyberpunk на RPi? Дайте две.
     
     
  • 4.45, Аноним (46), 08:51, 03/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Куда спешить?
     
  • 4.47, Аноним (47), 11:14, 03/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    на rpi драйвера vulcan нету. есть вечно недоделанный кое как натянутый на 1.0 с ужасной производительностью. киберпанк поэтому не пойдет, не смотря на отличную x86 эмуляцию.
     
  • 3.50, Аноним (54), 14:06, 03/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Месье знает толк в извращениях.
     
  • 3.51, Аноним (54), 14:08, 03/08/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    AMD64 для десктопа и серверов, ARM64 для смартфонов. Никто не делает десктопы на ARM64 при наличии AMD64, это просто не имеет смысла.
     
  • 2.52, Аноним (54), 14:13, 03/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Главное какой смысл ARM64 на десктопе? Apple это отдельная история, с PowePC перешли Intel только 2006 году.
     
     
  • 3.55, Аноним (55), 18:19, 03/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    энергоэффективность, производительность, тишина
     
     
  • 4.57, кантикариус (?), 18:34, 03/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Использую как десктоп планшет двухлетку на Снап 8 ген 1 - ну, такая себе производительность. Только потреблять контент. ИИ, что гуглявый, что сасунговский - практически бесполезная игрушка.
     

  • 1.31, slavanap (?), 19:35, 02/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не понятно, зачем образы squashfs качать, когда можно грамотно разрулить через папки и foreign architecture...
     
  • 1.56, кантикариус (?), 18:31, 03/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Запускаем эмулятор в виртуальной машине через череду прослоек.
     
  • 1.58, Аноним (58), 20:10, 03/08/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Дропнуть 32-битные библиотеки было наибольшей глупостью после SystemD и Wayland.
     
     
  • 2.59, кантикариус (?), 00:18, 04/08/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.60, антиквариус (?), 01:00, 04/08/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Прости, чиркабот, но я должен переписать этот комментарий. -
    Они надругались над нашими МАШИНАМИ!
     

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



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

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