Versiuni noi de Wine 9.2 și Winlator 5.0. A fost propus un driver ntsync pentru nucleul Linux

A avut loc o lansare experimentală a unei implementări deschise a API-ului Win32 - Wine 9.2. De la lansarea versiunii 9.1, 14 rapoarte de erori au fost închise și au fost făcute 213 modificări.

Cele mai importante schimbari:

  • Motorul Wine Mono cu implementarea platformei .NET a fost actualizat pentru lansarea 9.0.0.
  • Suport îmbunătățit pentru bara de sistem.
  • Gestionarea excepțiilor a fost îmbunătățită pe platformele ARM.
  • Compilarea folosește macrocomanda YEAR2038 pentru a folosi tipul time_t pe 64 de biți.
  • Driverul winewayland.drv a îmbunătățit gestionarea cursorului.
  • Rapoartele de eroare legate de funcționarea jocurilor sunt închise: Elite Dangerous, Epic Games Launcher 15.21.0, LANCommander, Kodu.
  • Rapoarte de eroare închise legate de funcționarea aplicațiilor: Quick3270 5.21, digikam, Dolphin Emulator, Windows Sysinternals Process Explorer 17.05, programul de instalare Microsoft Webview 2.

În plus, a fost lansată aplicația Winlator 5.0 pentru Android, oferind un cadru pentru emulatorii Wine și Box86/Box64 pentru rularea aplicațiilor Windows pe platforma Android. Winlator implementează medii Linux bazate pe Ubuntu cu Mesa3D, DXVK, D8VK și CNC DDraw, în care aplicațiile Windows construite pentru arhitectura x86 sunt executate pe dispozitive ARM Android folosind un emulator și Wine. Noua versiune îmbunătățește managerul de activități, îmbunătățește performanța, adaugă suport pentru schimbarea temelor și îmbunătățește compatibilitatea cu XInput.

De asemenea, puteți observa publicarea pe lista de corespondență a nucleului Linux a driverului ntsync, care implementează dispozitivul de caractere /dev/ntsync și un set de primitive de sincronizare utilizate în nucleul Windows NT. Implementarea unor astfel de primitive la nivel de kernel poate îmbunătăți semnificativ performanța jocurilor Windows lansate folosind Wine. De exemplu, la utilizarea driverului ntsync, comparativ cu implementarea primitivelor de sincronizare NT în spațiul utilizatorului, FPS-ul maxim în jocul Dirt 3 a crescut cu 678%, în jocul Resident Evil 2 - cu 196%, Tiny Tina's Wonderlands - cu 177% , Lara Croft: Templul lui Osiris - cu 131%, Call of Juarez - cu 125%, The Crew - cu 96%, Forza Horizon 5 - cu 48%, Anger Foot - cu 43%.

Se obțin câștiguri semnificative de performanță prin eliminarea costurilor generale asociate cu rularea RPC în spațiul utilizatorului. Crearea unui driver separat pentru nucleul Linux se explică prin dificultatea implementării corecte a API-ului de sincronizare NT peste primitivele existente în nucleu, de exemplu, operațiunea NtPulseEvent() și modul „așteptați pentru toți” în NtWaitForMultipleObjects( ) necesită gestionarea directă a cozii de așteptare. Patch-urile cu driverul ntsync au încă starea RFC, de exemplu. au fost puse în discuție și revizuire de către comunitate, dar nu sunt încă eligibile pentru adoptare în kernel-ul principal Linux.

Sursa: opennet.ru

Adauga un comentariu