Nel repository dove si sta sviluppando la versione del kernel Linux 5.19, è stato approvato un nuovo insieme di modifiche relative al sottosistema DRM (Direct Rendering Manager) e ai driver grafici. L'insieme di patch approvato è interessante perché include 495 mila righe di codice, un numero comparabile alla dimensione totale delle modifiche in ciascun ramo del kernel (ad esempio, nel kernel 5.17 sono state aggiunte 506 mila righe di codice).
Circa 400.000 righe aggiunte provengono da file header generati automaticamente contenenti dati per i registri ASIC nel driver per GPU AMD. Altre 22.500 righe garantiscono l'implementazione iniziale del supporto per AMD SoC21. La dimensione complessiva del driver per GPU AMD ha superato i 4 milioni di righe di codice (per confronto, l'intero kernel Linux 1.0 conteneva 176.000 righe di codice, 2.0 — 778.000, 2.4 — 3,4 milioni, 5.13 — 29,2 milioni). Oltre a SoC21, il driver AMD include il supporto per SMU 13.x (System Management Unit), ha aggiornato il supporto per USB-C e GPUVM, e sono stati fatti preparativi per supportare le prossime generazioni di piattaforme RDNA3 (RX 7000) e CDNA (AMD Instinct).
Nel driver Intel, il numero maggiore di modifiche (5.6 mila) è presente nel codice per la gestione del consumo energetico. Inoltre, nel driver Intel sono stati aggiunti identificatori per la GPU Intel DG2 (Arc Alchemist), utilizzate sui laptop, è stato garantito il supporto iniziale per la piattaforma Intel Raptor Lake-P (RPL-P), sono state aggiunte informazioni sulle schede grafiche Arctic Sound-M, è stato implementato l'ABI per i motori di calcolo e per le schede DG2 è stato aggiunto il supporto per il formato Tile4, mentre per i sistemi basati sull'architettura microarchitetturale Haswell è stata implementata la supporto per DisplayPort HDR.
Nel driver Nouveau, in totale, le modifiche hanno coinvolto circa un centinaio di righe di codice (è stata effettuata la transizione all'utilizzo del gestore drm_gem_plane_helper_prepare_fb, per alcune strutture e variabili è stata applicata l'assegnazione statica della memoria). Per quanto riguarda l'uso nei moduli del kernel di codice sorgente aperto rilasciato dalla NVIDIA, il lavoro finora si è concentrato sull'identificazione e la risoluzione di errori. In futuro, il firmware rilasciato sarà utilizzato per migliorare le prestazioni del driver.
Fonte: opennet.ru
