Do recenzji zaproponowano sterownik dla systemu Linux dla procesora graficznego Apple AGX, napisany w języku Rust.

Lista mailingowa deweloperów jądra Linuksa oferuje wstępną implementację sterownika drm-asahi dla procesorów graficznych Apple AGX z serii G13 i G14 używanych w chipach Apple M1 i M2. Sterownik napisany jest w języku Rust i dodatkowo zawiera zestaw uniwersalnych powiązań nad podsystemem DRM (Direct Rendering Manager), za pomocą których można rozwijać inne sterowniki graficzne w języku Rust. Opublikowany zestaw poprawek jest na razie wystawiony jedynie do dyskusji przez twórców jądra (RFC), ale może zostać przyjęty do głównego składu po zakończeniu przeglądu i wyeliminowaniu zidentyfikowanych braków.

Od grudnia sterownik znajduje się w pakiecie jądra dystrybucji Asahi Linux i jest testowany przez użytkowników tego projektu. Sterownik można wykorzystać w dystrybucjach Linuksa do organizacji pracy środowiska graficznego na urządzeniach Apple z SoC M1, M1 Pro, M1 Max, M1 Ultra i M2. Przy opracowywaniu sterownika starano się nie tylko poprawić bezpieczeństwo poprzez minimalizację błędów podczas pracy z pamięcią w kodzie wykonywanym po stronie procesora, ale także zapewnić częściową ochronę przed problemami pojawiającymi się podczas interakcji z oprogramowaniem. W szczególności sterownik zapewnia pewne powiązania dla niebezpiecznych struktur pamięci współdzielonej ze złożonymi łańcuchami wskaźników używanych w oprogramowaniu sprzętowym do interakcji ze sterownikiem.

Proponowany sterownik jest używany w połączeniu ze sterownikiem asahi Mesa, który zapewnia obsługę OpenGL w przestrzeni użytkownika i pomyślnie przechodzi testy kompatybilności z OpenGL ES 2 i jest prawie gotowy do obsługi OpenGL ES 3.0. Jednocześnie sterownik działający na poziomie jądra jest początkowo rozwijany z uwzględnieniem przyszłej obsługi Vulkan API, a interfejs oprogramowania do interakcji z przestrzenią użytkownika jest projektowany z myślą o UAPI zapewnianym przez nowy sterownik Intel Xe.

Źródło: opennet.ru

Dodaj komentarz