Для рэцэнзавання прапанаваны Linux-драйвер для GPU Apple AGX, напісаны на Rust

У спісе рассылання распрацоўнікаў ядра Linux прапанавана папярэдняя рэалізацыя драйвера drm-asahi для GPU Apple AGX серый G13 і G14, якія выкарыстоўваюцца ў чыпах Apple M1 і M2. Драйвер напісаны на мове Rust і дадаткова ўключае набор універсальных абвязак над падсістэмай DRM (Direct Rendering Manager), якія можна выкарыстоўваць для распрацоўкі іншых графічных драйвераў на мове Rust. Апублікаваны набор патчаў пакуль прапанаваны толькі для абмеркавання распрацоўшчыкамі ядра (RFC), але можа быць прыняты ў асноўны склад пасля завяршэння рэцэнзавання і ўхіленні выяўленых недахопаў.

C снежня драйвер уваходзіць у склад склад пакета з ядром для дыстрыбутыва Asahi Linux і пратэставаны карыстачамі дадзенага праекту. Драйвер можа быць скарыстаны ў дыстрыбутывах Linux для арганізацыі працы графічнага асяроддзя на прыладах Apple з SoC M1, M1 Pro, M1 Max, M1 Ultra і M2. Пры распрацоўцы драйвера зроблена спроба не толькі павышэння бяспекі за кошт мінімізацыі памылак пры працы з памяццю ў кодзе, які выконваецца на баку CPU, але і забяспечана частковая абарона ад праблем, якія ўзнікаюць пры ўзаемадзеянні з прашыўкай. У прыватнасці, драйвер падае вызначаныя абвязкі для небяспечных структур падзялянай памяці са складанымі ланцужкамі паказальнікаў, якія ўжываюцца ў прашыўцы для ўзаемадзеяння з драйверам.

Прапанаваны драйвер выкарыстоўваецца ў спалучэнні з Mesa-драйверам asahi, які забяспечвае падтрымку OpenGL у прасторы карыстача і паспяхова праходзілы тэсты сумяшчальнасці з OpenGL ES 2 і амаль гатовы для падтрымкі OpenGL ES 3.0. Пры гэтым драйвер, які працуе на ўзроўні ядра, першапачаткова развіваецца з улікам будучай падтрымкі API Vulkan, а праграмны інтэрфейс для ўзаемадзеяння з прасторай карыстальніка спраектаваны з аглядкай на UAPI, які прадстаўляецца новым драйверам Intel Xe.

Крыніца: opennet.ru

Дадаць каментар