Održano je eksperimentalno izdanje otvorene implementacije Win32 API — Wine 9.2. Od izdavanja verzije 9.1 zatvoreno je 14 prijava grešaka i unesenih 213 promjena.
Najvažnije promjene:
- Wine Mono motor sa implementacijom platforme .NET ažuriran je na verziju 9.0.0.
- Poboljšana je podrška za sistemsku obavijest.
- Na ARM platformama poboljšana je obrada iznimaka.
- Prilikom izgradnje korišten je makro YEAR2038 za upotrebu 64-bitnog tipa time_t.
- U drajveru winewayland.drv poboljšan je rad s kursorom.
- Zatvorene su prijave grešaka vezane uz rad igara: Elite Dangerous, Epic Games Launcher 15.21.0, LANCommander, Kodu.
- Zatvorene su prijave grešaka vezane uz rad aplikacija: Quick3270 5.21, digikam, Dolphin Emulator, Windows Sysinternals Process Explorer 17.05, Microsoft Webview 2 instalator.
Osim toga, objavljeno je izdanje Android aplikacije Winlator 5.0, koja pruža omotač iznad Wine i emulatora Box86/Box64 za izvršavanje Windows aplikacija na Android platformi. Winlator raspoređuje Linux okruženja zasnovana na Ubuntu s Mesa3D, DXVK, D8VK i CNC DDraw, gdje uz pomoć emulatora i Wine na ARM uređajima s Androidom izvršavaju se Windows aplikacije, sastavljene za x86 arhitekturu. U novoj verziji poboljšan je rad menadžera zadataka, povećana je izvedba, dodana je podrška za promjenu tema i poboljšana je kompatibilnost s XInput.
Također, vrijedi spomenuti objavu u mailing listi Linux jezgra drajvera ntsync, koji implementira simbolsku jedinicu /dev/ntsync i set primitiva za sinhronizaciju primjenjivanih u Windows NT jezgru. Implementacija takvih primitiva na razini jezgre može značajno povećati performanse Windows igara pokrenutih uz pomoć Wine. Na primjer, korištenjem drajvera ntsync, u usporedbi s implementacijom NT primitiva sinhronizacije u korisničkom prostoru, maksimalni FPS u igri Dirt 3 povećao se za 678%, u igri Resident Evil 2 — za 196%, Tiny Tina’s Wonderlands — za 177%, Lara Croft: Temple of Osiris — za 131%, Call of Juarez — za 125%, The Crew — za 96%, Forza Horizon 5 — za 48%, Anger Foot — za 43%.
Značajno poboljšanje performansi postiže se eliminacijom troškova povezanih s korištenjem RPC u korisničkom prostoru. Kreiranje posebnog vozača za Linux jezgru objašnjava se problematičnošću ispravne implementacije NT API sinhronizacije preko postojećih primitivi u jezgru, na primjer, operacija NtPulseEvent() i način "wait-for-all" u NtWaitForMultipleObjects() zahtijevaju direktno upravljanje redom čekanja. Patchevi s vozačem ntsync trenutno imaju status RFC, tj. postavljeni su na raspravu i recenziju zajednice, ali za sada ne pretendiraju na prihvaćanje u glavni sastav Linux jezgre.
Izvor: opennet.ru
