Дата публикации:Sat, 10 Feb 2024 10:38:46 +0300
Состоялся экспериментальный выпуск открытой реализации Win32 API - Wine 9.2. С момента выпуска 9.1 было закрыто 14 отчётов об ошибках и внесено 213 изменений.
Наиболее важные изменения:
- Движок Wine Mono с реализацией платформы .NET обновлён до выпуска 9.0.0.
Улучшена поддержка системного лотка.
На платформах ARM улучшена обработка исключений.
При сборке задействован макрос YEAR2038 для использования 64-разрядного типа time_t.
В драйвере winewayland.drv улучшена работа с курсором.
Закрыты отчёты об ошибках, связанные с работой игр: Elite Dangerous, Epic Games Launcher 15.21.0, LANCommander, Kodu.
Закрыты отчёты об ошибках, связанные с работой приложений: Quick3270 5.21, digikam, Dolphin Emulator, Windows Sysinternals Process Explorer 17.05, Microsoft Webview 2 installer.
Кроме того, опубликован релиз Android-приложения Winlator 5.0, предоставляющего обвязку над Wine и эмуляторами Box86/Box64 для выполнения Windows-приложений на платформе Android. Winlator разворачивает Linux-окружений на базе Ubuntu с Mesa3D, DXVK, D8VK и CNC DDraw, в котором при помощи эмулятора и Wine на ARM-устройствах с Android выполняются Windows-приложения, собранные для архитектуры x86.
В новой версии Winlator улучшена работа менеджера задач, повышена производительность, добавлена поддержка смены тем оформления и улучшена совместимость с XInput. Кроме Winlator для запуска Windows-игр в Android развивается Android-приложение Cassia, которое обещают довести до готовности к публикации в этом году. В Cassia используется Wine, DXVK/VKD3D и эмулятор FEX .
Также можно отметить публикацию в списке рассылки ядра Linux драйвера ntsync, реализующего символьное устройство /dev/ntsync и набор примитивов для синхронизации, применяемых в ядре Windows NT. Реализация подобных примитивов на уровне ядра позволяет существенно поднять производительность Windows-игр, запускаемых при помощи Wine. Например, при использовании драйвера ntsync по сравнению с реализацией примитивов синхронизации NT в пространстве пользователя максимальный FPS в игре Dirt 3 увеличился на 678%, в игре Resident Evil 2 - на 196%, Tiny Tina's Wonderlands - на 177%, Lara Croft: Temple of Osiris - на 131%, Call of Juarez - на 125%,
The Crew - на 96%, Forza Horizon 5 - на 48%, Anger Foot - на 43%.
Значительный прирост производительности достигается благодаря избавлению от накладных расходов, связанных с применением RPC в пространстве пользователя. Создание отдельного драйвера для ядра Linux объясняется проблематичностью корректной реализации API синхронизации NT поверх существующих примитивов в ядре, например, операция NtPulseEvent() и режим "wait-for-all" в NtWaitForMultipleObjects() требуют прямого управления очередью ожидания. Патчи с драйвером ntsync пока имеют статус RFC, т.е. выставлены для обсуждения и рецензирования сообществом, но пока не претендуют для принятия в основной состав ядра Linux.
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=60583