V seznamu pro vývojáře jádra Linux byl navržen předběžný implementace ovladače drm-asahi pro GPU Apple AGX řady G13 a G14 používané v čipech Apple M1 a M2. Ovladač je napsán v jazyce Rust a navíc zahrnuje sadu univerzálních obalů nad subsystémem DRM (Direct Rendering Manager), které lze využít pro vývoj dalších grafických ovladačů v jazyce Rust. Publikovaná sada patchů byla zatím navržena pouze k diskusi pro vývojáře jádra (RFC), ale může být přijata do hlavní větve po dokončení revize a odstranění zjištěných nedostatků.
Od prosince ovladač je součástí balíčku jádra pro distribuci Asahi Linux a byl testován uživateli tohoto projektu. Ovladač může být použit v distribucích Linuxu pro zajištění funkce grafického prostředí na zařízeních Apple s SoC M1, M1 Pro, M1 Max, M1 Ultra a M2. Při vývoji ovladače byla podniknuta snaha nejen o zvýšení bezpečnosti minimalizací chyb při práci s pamětí v kódu prováděném na CPU, ale také byla zajištěna částečná ochrana před problémy, které se vyskytují při interakci s firmwarem. Zejména ovladač poskytuje určité obaly pro nezabezpečené struktury sdílené paměti se složitými řetězci ukazatelů, používané ve firmwaru pro interakci s ovladačem.
Návrhový ovladač se používá ve spolupráci s Mesa-ovladačem asahi, který zajišťuje podporu OpenGL v uživatelském prostoru a úspěšně prochází testy kompatibility s OpenGL ES 2 a je téměř připraven na podporu OpenGL ES 3.0. Přitom ovladač na úrovni jádra je vyvíjen s ohledem na budoucí podporu API Vulkan, a programové rozhraní pro interakci s uživatelským prostorem je navrženo s ohledem na UAPI poskytované novým ovladačem Intel Xe.
Zdroj: opennet.ru
