Беше извършена експериментална версия на отворена реализация на 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.
В допълнение беше пуснато Android приложението Winlator 5.0, което предоставя рамка за Wine и Box86/Box64 емулатори за стартиране на Windows приложения на платформата Android. Winlator внедрява базирани на Ubuntu Linux среди с Mesa3D, DXVK, D8VK и CNC Ddraw, в които приложенията на Windows, изградени за x86 архитектурата, се изпълняват на ARM Android устройства, използващи емулатор и Wine. Новата версия подобрява диспечера на задачите, подобрява производителността, добавя поддръжка за промяна на теми и подобрява съвместимостта с XInput.
Можете също така да отбележите публикацията в пощенския списък на ядрото на 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() и режима „изчакване за всички“ в NtWaitForMultipleObjects( ) изискват директно управление на опашката за изчакване. Пачовете с драйвера ntsync все още имат RFC статус, т.е. са поставени за обсъждане и преглед от общността, но все още не отговарят на условията за приемане в основното ядро на Linux.
Източник: opennet.ru