Una modifica nel kernel Linux aumenta le prestazioni dei giochi Windows su Linux del 50% e oltre

Una modifica nel kernel Linux aumenta le prestazioni dei giochi Windows su Linux del 50% e oltre

Nel 2021, un collaboratore del progetto Wine ha iniziato a creare qualcosa che consentisse l’implementazione dell’API degli oggetti di sincronizzazione di Windows NT nel kernel Linux. In questo modo sono state migliorate le prestazioni dei programmi Windows su Linux quando si utilizza Wine e ovviamente in tutto ciò che da Wine segue come Proton di Valve. Ma i progressi in questo senso nel corso degli anni si sono rallentati.

Arriviamo al 2024, dove tutto ciò ha ricevuto un grande impulso dalla stessa persona che ha dato il via a tutto. , che ora lavora per CodeWeavers, ha pubblicato una patch con l’etichetta “request for comments” (RFC) nelle mailing list del kernel Linux verso la fine di gennaio 2024. E questo per introdurre un nuovo driver per implementare la primitiva di sincronizzazione di Windows NT (NTSYNC) direttamente nel kernel Linux.

Ha anche condiviso alcuni benchmark utili che mostrano che i giochi funzionano meglio con tassi di miglioramento medi che vanno dal 50% al 150% quando si utilizza il nuovo driver rispetto a quando non lo si utilizza.

Primitiva Windows NTSYNC: cosa aspettarsi?

La necessità di un driver di questo tipo è nata quando si è scoperto che le primitive di sincronizzazione NT, una parte fondamentale dell’API di Windows emulata da Wine, si comportavano in modo orribile su pesanti attività multithread quando veniva creato un RPC sul “wineserver“.

Ciò ha provocato un collo di bottiglia che ha impedito a molti programmi e giochi di funzionare al massimo delle loro potenzialità, causando un’ampia varietà di rallentamenti, bug e altro.

Un'immagine di un launcher di gioco su Linux
Un’immagine di un launcher di gioco su Linux

In un post sulla mailing list del kernel, Elizabeth Figura ha menzionato che:

Negli ultimi anni le applicazioni, in particolare i giochi ad alte prestazioni, hanno fatto un uso massiccio di thread multipli e di conseguenza di queste primitive di sincronizzazione.

L’RPC sul “wineserver” è diventato non solo un collo di bottiglia, ma un collo di bottiglia pesante. È un problema particolarmente pesante perché il server è a thread singolo e può soddisfare solo una richiesta alla volta.

Il problema delle API di sincronizzazione NT era che erano difficili da implementare sulle primitive esistenti “senza sacrificare la correttezza”. Quindi, una soluzione per risolvere il problema è la necessità del momento.

Ha anche chiarito gli aspetti tecnici per gli sviluppatori:

Operazioni come NtPulseEvent() o la modalità “wait-for-all” di NtWaitForMultipleObjects() richiederebbero un controllo migliore per funzionare correttamente e ciò non è possibile senza una soluzione.

È qui che il driver primitivo di Windows NTSYNC mira a fornire agendo come un nuovo dispositivo a caratteri per implementare ” interfacce problematiche ” direttamente nel kernel Linux.

Non approfondirò ulteriormente gli aspetti tecnologici destinati agli sviluppatori ma ecco alcuni valori risultanti dai benchmark che dovrebbero rendere le cose più semplici ed evidenti. Questi test sono stati eseguiti su vari sistemi che eseguono giochi, sia vecchi che nuovi, con e senza il nuovo driver attivo.

Come riportato dal post mailing list del kernel di Elizabeth Figura i risultati sembrano abbastanza promettenti per non dire entusiasmanti:

una tabella che mostra i risultati del benchmarking di ntsync su vari giochi rispetto a un sistema senza nysync

Se questi numeri sono indicativi, i programmi e i giochi solo per Windows dovrebbero funzionare meglio che mai quando si utilizza Wine o altri derivati ​​​​basati su Wine.

Non vedo l’ora di vedere quando questo verrà implementato nel kernel Linux. Ma, dopo aver letto tutto ciò, forse ti starai chiedendo: quando questo diventerà realtà?

Bene, ci vorrà del tempo poiché è ancora soggetto all’approvazione dei manutentori e dello stesso Linus Torvalds. Per ora, possiamo solo aspettare e vedere se questa modifica verrà approvata in tempo per una delle prossime versioni del kernel Linux.

Per rimanere aggiornati sullo stato e per saperne di più sul driver primitivo di Windows NTSYNC, è possibile fare riferimento alla mailing list di archivio o la principale mailing list del kernel Linux. La LKML è la lista di posta elettronica principale per gli sviluppatori del kernel Linux, mentre lore.kernel.org è un sito che archivia discussioni e patch delle mailing list correlate allo sviluppo del kernel Linux.

La Linux Kernel Mailing List (LKML) è la principale lista di posta elettronica per lo sviluppo del kernel Linux. È il luogo in cui avvengono la maggior parte degli annunci, delle discussioni, dei dibattiti e delle “flame” riguardanti il kernel. La LKML funge da canale di comunicazione principale tra gli sviluppatori del kernel Linux. È una lista ad alto volume, che riceve solitamente circa 1.000 messaggi al giorno, la maggior parte dei quali sono patch di codice del kernel. Inoltre, è il luogo ufficiale per segnalare bug nel kernel Linux.

D’altra parte, lore.kernel.org è un sito che archivia le discussioni e le patch delle mailing list della comunità di sviluppo del kernel Linux. Offre archivi web rapidi e ricercabili, feed Atom per le liste o per i thread individuali e archivi mbox scaricabili per semplificare le risposte. Inoltre, utilizza un meccanismo di archiviazione basato su Git che può essere clonato e scaricato. Questo sito è particolarmente utile per riferimenti a discussioni di mailing list all’interno di commenti di codice o nei messaggi di commit Git.

Fonte: https://lkml.org/lkml/2024/2/14/1407
Fonte: https://news.itsfoss.com/linux-gaming-boost-driver/

Visited 20 times, 1 visit(s) today
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.