- Le patch di Natalie Vock per il kernel e KDE danno priorità alla VRAM dei giochi in primo piano, riducendo l'utilizzo della GTT e i rallentamenti.
- dmemcg-booster e plasma-foreground-booster coordinano il kernel e il desktop per proteggere la memoria GPU allocata al gioco attivo.
- I miglioramenti riguardano principalmente le GPU AMD con 8 GB di VRAM o meno, già ampiamente supportate da CachyOS e per le quali è prevista l'integrazione a monte.
- Il nuovo sistema sfrutta al meglio ogni MB di VRAM, stabilizza il frame rate minimo e prolunga la durata delle schede grafiche di fascia media su Linux.

Se giochi su un PC con Linux e stai ancora usando una scheda grafica con 8 GB di VRAM o menoProbabilmente avrete riscontrato scatti, micro-scatti e cali di FPS nei giochi più recenti. La cosa sorprendente è che, spesso, questa esperienza negativa non è dovuta tanto alla pura potenza della vostra GPU quanto a... come il sistema gestisce la memoria video quando le cose si mettono male.
Tutto questo ha appena preso una piega piuttosto seria grazie al lavoro di Natalie Vock, ingegnere del team di sviluppo dei driver grafici di Valve.Vock, specializzato in RADV (il driver Vulkan per le GPU AMD), ha sviluppato una serie di patch per il Kernel Linux, KDE Plasma e l'ecosistema Gamescope il che cambia completamente il modo in cui il sistema decide cosa rimane nella VRAM e cosa viene espulso nella RAM di sistema quando non c'è più spazio.
Il problema delle GPU con 8 GB di VRAM in Linux
Negli ultimi anni, la quantità di memoria video è diventata un vero e proprio collo di bottiglia. I giochi attuali caricano Texture enormi, geometrie complesse ed effetti avanzati che consumano la VRAM. Con 8 GB o meno, una quantità molto comune nelle schede grafiche di fascia media, è facile che il gioco saturi la memoria della scheda grafica non appena si aumentano anche solo leggermente le impostazioni.
In Linux, quando la VRAM inizia a traboccare, il cosiddetto Tabella di traduzione grafica (GTT)In pratica, il sistema inizia a spostare parte dei dati della GPU nella RAM del computer per evitare arresti anomali. Il problema è che la RAM, pur essendo veloce, è considerevolmente più lenta della VRAM, e questo salto di latenza si traduce in... Scatti, picchi di frame rate e una sensazione di gioco a scatti.
Fino ad ora, il kernel linux Non avevo un modo davvero raffinato per decidere quali dati meritavano di rimanere nella VRAM e quali potevano essere inviati alla RAM senza problemi seri. Il sistema non teneva conto correttamente se il processo fosse un gioco a schermo intero o un browser perso in backgroundIn molte situazioni, è stato il gioco stesso a essere parzialmente espulso dalla VRAM, mentre applicazioni desktop meno rilevanti hanno continuato a occupare la memoria video.
Tutto ciò ha portato a uno scenario tutt'altro che ideale per i giocatori: con una GPU da 8 GB, in titoli impegnativi come Cyberpunk 2077 sotto Steam PlayIl sistema utilizzava a malapena 6 GB di VRAM, mentre oltre 1,3 GB erano occupati dal GTT nella RAM, il che è assolutamente indesiderabile. In breve: Nonostante la VRAM disponibile fosse abbondante, il gioco ne risentì comunque..
La conseguenza pratica per l'utente era chiara: FPS minimi instabili, scatti durante il caricamento di nuove areepiccoli blocchi quando si ruota la telecamera o si entra in un'area diversa e una sensazione generale che "la grafica sia appena sufficiente", quando in realtà il collo di bottiglia era dovuto a una gestione della memoria mal ottimizzata.

La proposta di Valve e Natalie Vock: dare priorità al gaming sulla VRAM
Per affrontare questo problema alla radice, Vock ha progettato una soluzione che combina modifiche al kernel tramite strumenti in spazio utenteL'idea centrale è semplice da spiegare, anche se dietro c'è molta ingegneria: dire chiaramente a Linux Quale applicazione è in primo piano e dovrebbe avere la priorità assoluta nella VRAM?.
Il nucleo tecnico di questa proposta consiste in patch per il Controller cgroup della memoria del dispositivo (DRM) e una serie di profonde modifiche al sottosistema di gestione della memoria Translation Table Maps (TTM) del kernel. Il TTM è responsabile di decidere come la memoria viene allocata e rilasciata nei dispositivi grafici, quindi è il luogo ideale per insegnare al sistema un nuovo modo di pensare.
Ciò che fanno queste patch è consentire al kernel Identificare il gruppo di memoria associato al gioco in primo piano e riservargli un trattamento VIP. Quando qualcosa deve essere espulso dalla VRAM perché non c'è più spazio, il sistema cercherà prima nella processi desktop, browser, lettori multimediali o utilità che vengono eseguiti in background, lasciando i contenuti di gioco critici come ultima risorsa.
In termini meno tecnici: d'ora in poi, se stai giocando a un gioco e hai più finestre aperte, La VRAM "appartiene" al gioco prima di ogni altra cosa.Solo quando non ci sono letteralmente altre opzioni Linux accederà alle risorse del titolo attivo, riducendo notevolmente la probabilità di rallentamenti dovuti a una decisione errata di espulsione.
Dietro questo cambiamento si cela una stretta integrazione con le funzionalità di cgroup Linux utilizza un meccanismo che systemd già impiega per isolare e controllare le risorse delle applicazioni. Vock ha sfruttato questo sistema per creare un modo per classificare e proteggere la memoria GPU in base ai gruppi di processiconsentendo al kernel di sapere in ogni momento cosa deve essere preservato e cosa può essere sacrificato.
dmemcg-booster: il cuore del nuovo controllo della memoria del dispositivo
Il pezzo chiave nello spazio utente è chiamato potenziatore dmemcgSi tratta di un servizio per systemd che gestisce l'applicazione di limiti e priorità. Gruppi di controllo della memoria del dispositivo (DMEM cgroups) riguardo alle applicazioni che utilizzano la GPU.
La sua funzione principale è quella di comunicare chiaramente al sistema quale programma deve essere protetto nella VRAM in ogni momento. Quando avvii un gioco e diventa la finestra principale, dmemcg-booster lo contrassegna come processo prioritario all'interno del suo cgroup, quindi il kernel capisce che Quella memoria video non può essere trattata con leggerezza..
In assenza di questo meccanismo, il kernel considerava tutti gli utilizzi della VRAM praticamente identici, portando a espulsioni "cieche". Con dmemcg-booster in esecuzione, se è necessario liberare spazio perché la memoria è piena, I primi processi a essere caricati nella RAM saranno i processi secondari.: desktop, browser o applicazioni che non sono in primo piano.
Questa prioritizzazione non riduce magicamente il consumo di VRAM del gioco, ma lo fa sfruttare al massimo ogni singolo megabyte disponibilePertanto, una GPU che in precedenza sembrava non essere all'altezza a causa della sua gestione della memoria ora può eseguire molto più vicino al suo vero potenziale.
Nei test che Vock ha condiviso con Cyberpunk 2077 Su una scheda da 8 GB utilizzando Steam Play, il cambiamento è molto evidente: prima delle patch, il gioco utilizzava a malapena 6 GB di VRAM, con circa 1,37 GB trasferiti alla GTT nella RAM. Dopo aver attivato la nuova architettura di memoria, il titolo utilizza... circa 7,4 GB di VRAM effettiva, mentre l'utilizzo di GTT scende a circa 650 MB, vale a dire, è ridotto a meno della metà.
potenziatore di primo piano al plasma e coordinamento con KDE Plasma
Affinché l'intero sistema di priorità funzioni senza intoppi, non è sufficiente modificare il kernel; è necessario modificare anche l'ambiente desktop. comunica al sistema quale finestra è attualmente in primo pianoÈ qui che entra in gioco il secondo componente sviluppato da Valve: potenziatore di primo piano al plasma.
Questo modulo è progettato per integrarsi con Plasma KDE e funge da ponte tra il desktop e i meccanismi cgroup della memoria del dispositivo. La sua missione è semplice, ma cruciale: segnala in tempo reale quale finestra è attiva (di solito il gioco in modalità schermo intero) in modo che il sistema possa regolare dinamicamente le priorità della VRAM.
Quando si passa da un'applicazione all'altra o si preme Alt+Tab per passare a un'altra finestra, plasma-foreground-booster aggiorna le informazioni che raggiungono il kernel e dmemcg-booster, in modo che La priorità "corona" sulla VRAM può cambiare Se lo desideri. Si tratta di una coreografia tra desktop e kernel che prima semplicemente non esisteva.
Oltre a KDE Plasma, Valve ha preso in considerazione anche coloro che utilizzano altri ambienti desktop. In questi casi, la soluzione prevede lo sfruttamento di le ultime versioni di GamescopeGamescope, il noto micro-compositore di Valve ampiamente utilizzato su Steam Deck e negli ambienti di gioco, può svolgere una funzione simile a Plasma. Individua la finestra di gioco e contrassegnala in modo che riceva la priorità delle risorse.oppure, in alcuni flussi di lavoro, utilizzare strumenti come Bottiglie per gestire le sessioni di compatibilità.
L'idea di base è quella di costruire un ecosistema coordinato, dal kernel al desktop, in cui l'intero sistema è allineato a ciò che l'utente desidera realmente: che il gioco che ha di fronte funzioni nel modo più fluido possibile, anche se ci sono altre cose in esecuzione in background.
Risultati concreti in giochi come Cyberpunk 2077
Al di là della teoria, ciò che conta è come tutto questo si traduca nell'esperienza di gioco quotidiana. Negli esempi pubblici che Vock ha mostrato, uno dei casi più rappresentativi è Cyberpunk 2077 in esecuzione su Steam Play su una GPU da 8 GB.
Prima dell'aggiornamento, il gioco utilizzava una quantità di VRAM che, sulla carta, sembrava accettabile, ma in realtà era ben lungi dallo sfruttare appieno la memoria disponibile: circa 6 GB sulla GPU e 1,37 GB "spostati" sulla GTTQuesto costante riversamento significava che una parte significativa dei dati grafici si trovava effettivamente nella RAM del sistema, costringendo la GPU a interrogarla tramite il GTT e generando salti nel tempo di risposta.
Con la nuova architettura in atto, il paesaggio cambia in modo significativo. Cyberpunk 2077 inizia a utilizzare quasi tutta la VRAM disponibile, circa 7,4 GBmentre l'utilizzo di GTT scende a circa 650 MB. Meno memoria espulsa significa meno accessi lenti alla RAM e, quindi, un'esperienza di gioco molto più stabile.
È importante sottolineare che queste patch non sono tanto orientate a Aumenta il numero massimo di FPSQuel piccolo numero che vedi quando guardi un muro, ma per migliorare il FPS minimi e stabilità del tempo di renderingIn altre parole, le interruzioni sono ridotte, i picchi di fluidità sono smussati e si percepisce una maggiore fluidità generale, che è ciò che il giocatore nota davvero quando si muove per Night City o qualsiasi altro mondo aperto impegnativo.
In pratica, il vantaggio è particolarmente evidente nei sistemi in cui la VRAM era già molto vicina al suo limite: schede grafiche da 8 GB o meno in grado di eseguire giochi AAA modernicon diversi programmi aperti contemporaneamente. È proprio in questi scenari "quanto basta" che una buona gestione delle espulsioni e delle priorità può prolungare la durata della carta di un paio di generazioni.
Distribuzioni, compatibilità e stato attuale delle patch
Ora che i dettagli sono stati pubblicati, il modo più semplice per testare questa nuova architettura di memoria è utilizzare cachyOS, una distribuzione che si è portata avanti rispetto alle altre e integra queste patch di default sia nel kernel che nei componenti dello spazio utente.
Per altre distribuzioni è possibile Compila il kernel modificato e i pacchetti dmemcg-booster e plasma-foreground-booster. in modo indipendente, sebbene ciò implichi già un livello di conoscenza leggermente superiore. Vock e l'ecosistema intendono che, nel tempo, tutti questi miglioramenti diventino realtà. sono integrati a monte nel kernel Linux ufficiale e nei repository ufficiali di KDE e Valve, in modo che gli utenti di Ubuntu, Fedora, Arch e altri possano beneficiarne senza dover toccare nulla di insolito; e, per coloro che necessitano di livelli di compatibilità, ci sono anche opzioni come Vinaccio - Wine.
C'è una sfumatura importante: questi cambiamenti sono principalmente destinati a GPU AMD con driver open source e lo stack RADV. Il motivo è semplice: la gestione della memoria delle schede NVIDIA si basa fortemente su driver proprietari chiusiQuesto limita fortemente le possibilità di intervento del kernel e degli spazi utente liberi. Nel caso di AMD, la disponibilità di driver open source consente una messa a punto molto migliore dell'interazione tra kernel, DRM, TTM e driver grafico.
Per quanto riguarda la tempistica, alcune distribuzioni stanno già lavorando per integrare questi miglioramenti a breve e medio termine. Poiché il kernel con supporto per il Controller DMEM cgroup E man mano che le patch TTM vengono consolidate in versioni stabili, sarà più comune trovare distribuzioni che includono Prioritizzazione della VRAM per i giochi praticamente "pronto all'uso".
Per coloro che utilizzano desktop diversi da KDE Plasma, il percorso più logico sarà quello di sfruttare gamescope Nella sua versione più recente, Valve lo sta rendendo lo strumento standard per la gestione delle sessioni di gioco, soprattutto su hardware come Steam Deck o su ipotetiche future macchine dell'azienda.
Impatto sull'esperienza di gioco e sulla durata dell'hardware.
La conseguenza diretta di tutto questo lavoro è che milioni di giocatori con GPU da 8 GB Possono continuare a spingere un po' di più le loro schede grafiche senza dover abbassare drasticamente le impostazioni grafiche o aggiornare immediatamente il loro hardware. L'approccio di Vock e Valve sottolinea il efficienza del software e allocazione intelligente delle risorsecompensando, in una certa misura, i limiti fisici del chip stesso e della sua memoria.
Invece di rassegnarsi al riempimento della VRAM e alla decisione casuale del sistema su cosa espellere, ora esiste una strategia ben precisa: Il gioco in primo piano è l'ultimo a lasciare la VRAM.Questo significa che, anche con texture pesanti e ambienti complessi, il motore di gioco tenderà a conservare i dati critici nella memoria veloce della GPU, riducendo al minimo i blocchi improvvisi.
Per l'utente medio, questo si traduce in qualcosa di molto tangibile: puoi continuare a usare il tuo desktop, avere un browser aperto con diverse schede, un lettore musicale o app di chat, sapendo che, quando arriva il momento critico, Saranno loro i primi a sacrificarsi Mi riferisco alla VRAM, non al tuo gioco.
Da una prospettiva più ampia, il lavoro di Vock rafforza anche il messaggio che Valve prende molto sul serio il gaming su Linux.Non si limita a rilasciare console tipo Steam Deck o possibili Steam Machine con 8 GB di GDDR6 come memoria video condivisa, ma investe risorse anche nel miglioramento dell'intero ecosistema: kernel, driver, ambiente desktop e strumenti come Gamescope.
Per coloro che sono preoccupati per la latenza, i tempi dei frame e la stabilità nei titoli complessi, queste patch forniscono esattamente ciò che era necessario: un gestione dell'espulsione sensibile al contestoche capisce cos'è un gioco a schermo intero e cosa è semplicemente rumore di fondo sul desktop.
In breve, la nuova infrastruttura guidata da Natalie Vock rappresenta un significativo passo avanti nel modo in cui Linux gestisce la memoria video su sistemi con risorse limitate. Combinando cgroup della memoria del dispositivo, patch per il sottosistema TTM, il servizio dmemcg-booster e integrazione con KDE Plasma e Gamescope.Finalmente, il sistema funziona a favore del giocatore, e non viceversa. Per chiunque giochi su Linux con una GPU da 8 GB o meno, questo è uno di quei miglioramenti silenziosi che, una volta provati, si rimpiangono terribilmente se dovessero scomparire.
Scrittore appassionato del mondo dei byte e della tecnologia in generale. Adoro condividere le mie conoscenze attraverso la scrittura, ed è quello che farò in questo blog, mostrarti tutte le cose più interessanti su gadget, software, hardware, tendenze tecnologiche e altro ancora. Il mio obiettivo è aiutarti a navigare nel mondo digitale in modo semplice e divertente.
