È stata effettuata l'uscita sperimentale dell'implementazione open source dell'API Win32 — Wine 9.2. Dalla versione 9.1, sono stati chiusi 14 rapporti di bug e apportate 213 modifiche.
Le modifiche più importanti:
- Il motore Wine Mono con implementazione della piattaforma .NET è stato aggiornato alla versione 9.0.0.
- Migliorata la compatibilità con l'area di sistema.
- Su piattaforme ARM migliorata la gestione delle eccezioni.
- Durante la compilazione è stato utilizzato il macro YEAR2038 per l'uso del tipo a 64 bit time_t.
- Nel driver winewayland.drv migliorata la gestione del cursore.
- Chiusi i rapporti di bug relativi al funzionamento dei giochi: Elite Dangerous, Epic Games Launcher 15.21.0, LANCommander, Kodu.
- Chiusi i rapporti di bug relativi al funzionamento delle applicazioni: Quick3270 5.21, digikam, Dolphin Emulator, Windows Sysinternals Process Explorer 17.05, Microsoft Webview 2 installer.
Inoltre, è stata pubblicata la versione dell'app Android Winlator 5.0, che fornisce un wrapper su Wine e emulatori Box86/Box64 per eseguire applicazioni Windows sulla piattaforma Android. Winlator implementa ambienti Linux basati su Ubuntu con Mesa3D, DXVK, D8VK e CNC DDraw, in cui tramite l'emulatore e Wine su dispositivi ARM con Android vengono eseguite applicazioni Windows compilate per architettura x86. Nella nuova versione è stata migliorata la funzionalità del gestore attività, aumentata la performance, aggiunta la possibilità di cambiare i temi e migliorata la compatibilità con XInput.
Si segnala anche la pubblicazione nella mailing list del kernel Linux del driver ntsync, che implementa il dispositivo simbolico /dev/ntsync e un insieme di primitive per la sincronizzazione utilizzate nel kernel Windows NT. L'implementazione di tali primitive a livello di kernel consente di aumentare significativamente le prestazioni dei giochi Windows eseguiti con Wine. Ad esempio, con l'utilizzo del driver ntsync rispetto all'implementazione delle primitive di sincronizzazione NT nello spazio utente, il FPS massimo nel gioco Dirt 3 è aumentato del 678%, nel gioco Resident Evil 2 del 196%, Tiny Tina’s Wonderlands del 177%, Lara Croft: Temple of Osiris del 131%, Call of Juarez del 125%, The Crew del 96%, Forza Horizon 5 del 48%, Anger Foot del 43%.
Un significativo aumento delle prestazioni si ottiene eliminando l'overhead associato all'uso di RPC nello spazio utente. La creazione di un driver separato per il kernel Linux è giustificata dalle difficoltà di una corretta implementazione dell'API di sincronizzazione NT sopra i primitivi esistenti nel kernel; ad esempio, l'operazione NtPulseEvent() e la modalità 'wait-for-all' in NtWaitForMultipleObjects() richiedono un controllo diretto della coda di attesa. I patch con il driver ntsync sono attualmente in fase RFC, cioè sono all'attenzione della comunità per discussione e revisione, ma non sono ancora candidati per l'inserimento nel kernel Linux principale.
Fonte: opennet.ru
