Состоялся релиз FEX 2509, очередного ежемесячного обновления эмулятора с открытым исходным кодом, предназначенного для запуска x86/x86_64 игр и приложений в среде ARM64 Linux. Этот проект является альтернативой Box64 и QEMU-User и позволяет запускать в том числе Windows-программы с помощью Wine/Proton.
В новой версии разработчики внесли ряд улучшений в работу JIT-компилятора. Появились целевые оптимизации для Mono при работе на ARM64EC/WOW64. По словам авторов, специальные хаки для Mono должны обеспечить меньше задержек, больше производительности. Также были исправлены различные ошибки в JIT и повышены его общие показатели.
Важным изменением стало отключение по умолчанию поддержки 3DNow! для бинарных файлов Wine WOW64. Эта мера была принята для устранения проблемы с черным экраном, обнаруженной как минимум в одной игре. Теперь вместо проблемных инструкций будут использоваться кодовые пути SSE2, что решает проблему с рендерингом.
Click here to preview your posts with PRO themes ››
Кроме того, в FEX 2509 были исправлены другие ошибки. Например, скорректирован расчет размера BRK, что предотвращает потенциальное наложение сегментов и выделение памяти 32-битными приложениями в нижних страницах 64-битного пространства. Это также освобождает до 8 МБ виртуального адресного пространства, снижая вероятность ошибок нехватки памяти в старых 32-битных играх.
Обновления коснулись и пакетов FEX для дистрибутивов Linux. Была устранена проблема в Fedora Asahi Remix, где графическая утилита FEXConfig могла нарушать работу RootFS. Также была добавлена поддержка функции пересылки библиотек в NixOS, что значительно ускоряет эмуляцию за счет прямого вызова нативных ARM64-библиотек.