Для рецензирования предложен 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