Se propone para revisión un controlador de Linux para la GPU Apple AGX, escrito en Rust.

En la lista de correo de desarrolladores del kernel de Linux se ha propuesto una implementación preliminar del controlador drm-asahi para las GPU de las series Apple AGX G13 y G14 utilizadas en los chips Apple M1 y M2. El controlador está escrito en Rust y, además, incluye un conjunto de enlaces universales sobre el subsistema DRM (Direct Rendering Manager) que se puede utilizar para desarrollar otros controladores de gráficos en Rust. Hasta ahora, el conjunto de parches publicado se ha propuesto solo para discusión por parte de los desarrolladores principales (RFC), pero puede ser aceptado en el equipo principal una vez que se completa la revisión y se eliminan las deficiencias identificadas.

Desde diciembre, el controlador se incluye en el paquete con el kernel de la distribución Asahi Linux y ha sido probado por los usuarios de este proyecto. El controlador se puede utilizar en distribuciones de Linux para organizar el entorno gráfico en dispositivos Apple con SoC M1, M1 Pro, M1 Max, M1 Ultra y M2. Al desarrollar el controlador, se intentó no solo aumentar la seguridad minimizando los errores al trabajar con la memoria en el código ejecutado en el lado de la CPU, sino también proteger parcialmente contra los problemas que surgen al interactuar con el firmware. En particular, el controlador proporciona ciertos enlaces para estructuras de memoria compartida inseguras con cadenas complejas de punteros utilizados en el firmware para interactuar con el controlador.

El controlador propuesto se utiliza junto con el controlador Asahi Mesa, que proporciona compatibilidad con OpenGL en el espacio de usuario y pasa las pruebas de compatibilidad con OpenGL ES 2 y está casi listo para admitir OpenGL ES 3.0. Al mismo tiempo, el controlador que funciona a nivel del kernel se desarrolla inicialmente teniendo en cuenta el soporte futuro para la API Vulkan, y la interfaz de programación para interactuar con el espacio del usuario se diseña teniendo en cuenta la UAPI proporcionada por el nuevo controlador Intel Xe.

Fuente: opennet.ru

Añadir un comentario