Pe lista de discuții a dezvoltatorilor nucleului Linux a fost propusă o implementare preliminară a driverului drm-asahi pentru GPU-urile Apple AGX din seriile G13 și G14, folosite în cipurile Apple M1 și M2. Driverul este scris în limbajul Rust și include, de asemenea, un set de legături universale peste subsystemul DRM (Direct Rendering Manager), care pot fi utilizate pentru dezvoltarea altor drivere grafice în limbajul Rust. Setul de patch-uri publicat este propus în prezent doar pentru discuții între dezvoltatorii nucleului (RFC), dar poate fi acceptat în compunerea principală după finalizarea revizuirilor și corectarea erorilor identificate.
Începând din decembrie, driverul face parte din pachetul cu nucleul pentru distribuția Asahi Linux și a fost testat de utilizatorii acestui proiect. Driverul poate fi utilizat în distribuțiile Linux pentru a organiza funcționarea mediului grafic pe dispozitivele Apple cu SoC M1, M1 Pro, M1 Max, M1 Ultra și M2. În dezvoltarea driverului s-a încercat nu doar îmbunătățirea securității prin minimizarea erorilor în gestionarea memoriei în codul care rulează pe CPU, ci s-a asigurat și o protecție parțială împotriva problemelor care apar în interacțiunea cu firmware-ul. În special, driverul oferă anumite legături pentru structuri nesigure de memorie partajată cu lanțuri complexe de pointeri, utilizate în firmware pentru interacțiunea cu driverul.
Driverul propus este utilizat împreună cu driverul Mesa asahi, care asigură suport pentru OpenGL în spațiul utilizatorului și trece cu succes testele de compatibilitate cu OpenGL ES 2 și este aproape gata pentru suportul OpenGL ES 3.0. În același timp, driverul care funcționează la nivel de nucleu este dezvoltat inițial având în vedere viitorul suport al API-ului Vulkan, iar interfața de programare pentru interacțiunea cu spațiul utilizatorului este proiectată având în vedere UAPI, furnizată de noul driver Intel Xe.
Sursa: opennet.ro
