Linux 7.3 include interventi di Igalia su V3D, AMDGPU, display AMD e gestione della memoria grafica tramite cgroup. Cambiano l’invio dei lavori, l’affidabilità dei contatori e il modo in cui alcuni limiti VRAM vengono applicati; il resoconto di Igalia non quantifica un aumento generale degli FPS. L’azienda riferisce 69 patch scritte e 59 revisionate per questa versione del kernel.
NeoTeo aveva già raccontato le novità di rete di Linux 7.3. Qui il punto è un altro: capire quali interventi grafici riguardano driver e funzioni specifici.
| Area | Modifica in Linux 7.3 | Effetto e ambito |
| V3D | Invio dei lavori organizzato in una sequenza ordinata; sincronizzazione tra code con un monitor delle prestazioni collegato | Contatori più affidabili durante debug e profilazione |
| AMDGPU | Semplificazione dell’invio dei job e dei percorsi per contesti e buffer | Igalia riferisce un minore uso della CPU nell’invio dei job |
| Display AMD | Interventi sul banding dei gradienti HDR per le famiglie DCN 3.0+ e DCN3.2+ | Correzione circoscritta alle famiglie indicate |
| Memoria dmem | Recupero della memoria quando un cgroup abbassa dmem.max sotto l’uso corrente | Il limite viene applicato anche se il recupero non riesce a riportare subito l’uso sotto soglia |
| sched-ext | Rimozione di copie duplicate di nodi spinlock BPF e funzione ops.cgroup_set_bandwidth() resa sospendibile | La funzione può chiamare operazioni che richiedono di sospendere l’esecuzione, come un’allocazione di memoria |
In questo articolo
- V3D e AMDGPU: invio dei lavori e uso della CPU
- La correzione HDR riguarda specifiche famiglie AMD
- Cosa succede quando un cgroup abbassa dmem.max
- nouveau e V3D: compatibilità e manutenzione
V3D e AMDGPU: invio dei lavori e uso della CPU
Per V3D, il driver grafico impiegato sui dispositivi Raspberry Pi, Linux 7.3 riunisce i percorsi di invio dei lavori in un’astrazione comune, rappresentata da un array ordinato. La modifica riguarda i lavori di rendering, texture e calcolo. Quando è collegato un monitor delle prestazioni, il driver serializza inoltre l’accesso tra code diverse: i valori dei contatori risultano così più affidabili per debug e profilazione.
Nel driver AMDGPU, Igalia riferisce una riduzione dell’uso della CPU durante l’invio dei job. Gli interventi comprendono la rimozione di un mutex inutilizzato, la memorizzazione di controlli IP invarianti e una minore riattivazione dei worker inattivi. Igalia non indica una percentuale di riduzione né risultati sugli FPS: il dato riguarda l’uso della CPU in quel percorso del driver, non un aumento misurato delle prestazioni nei giochi.
La correzione HDR riguarda specifiche famiglie AMD
Le modifiche al display AMD affrontano il banding dei gradienti HDR nelle famiglie DCN 3.0+ e DCN3.2+. Il banding appare come gradini visibili in una sfumatura che dovrebbe essere uniforme. Il lavoro interviene sulle LUT, cioè tabelle di conversione del colore, con una segmentazione distinta per le funzioni che trasformano il segnale codificato in valori lineari quando mancano curve hardware adatte.
La correzione ha quindi un ambito preciso, legato alle famiglie di display indicate; non è una modifica generale a ogni GPU AMD o a qualsiasi problema visivo in HDR.
Cosa succede quando un cgroup abbassa dmem.max
Un cgroup, o gruppo di controllo, raccoglie processi a cui Linux può applicare limiti di risorse. Il controller dmem gestisce memoria del dispositivo, compresa la VRAM nei driver compatibili. Quando si abbassa dmem.max al di sotto dell’uso corrente, il kernel tenta di recuperare memoria spostando oggetti dalla VRAM alla GTT, l’area di memoria grafica accessibile tramite la memoria di sistema.
Normalmente la scrittura del nuovo limite attende che il recupero faccia scendere l’uso sotto la soglia. Con O_NONBLOCK la scrittura non resta in attesa. Se il recupero non basta, il limite più basso continua comunque a valere e impedisce nuove allocazioni oltre il massimo. dmem.min protegge in modo rigido una quota dall’espulsione; dmem.low offre una protezione meno rigida. Linux 7.3 aggiunge anche dmem.peak, un valore di picco consultabile in sola lettura, e consente di aggiornare una regione per ogni scrittura.
nouveau e V3D: compatibilità e manutenzione
Linux 7.3 integra il controller dmem nel driver open source nouveau, oltre alle integrazioni precedenti per Intel Xe e AMDGPU. Per le schede NVIDIA, questo riguarda nouveau: non dimostra l’integrazione nel driver proprietario NVIDIA.
Igalia ha inoltre annunciato che Linux 7.3 è l’ultima versione a supportare V3D 3.3 e 4.1 e che il supporto del kernel per queste generazioni sarebbe stato deprecato nella versione successiva. La deprecazione annunciata è una fase di manutenzione del supporto, non una rimozione già avvenuta.