La empresa Collabora ha anunciado avances en el desarrollo del controlador Tyr para el núcleo de Linux, escrito en el lenguaje Rust. Este controlador está diseñado para trabajar con GPUs ARM Mali, que utilizan la tecnología CSF (Command Stream Frontend), como el Mali G310, G510 y G710. Se señala que Tyr ha alcanzado un nivel adecuado para soportar el entorno de escritorio GNOME, el servidor compuesto Weston y juegos en pantalla completa como SuperTuxKart. El rendimiento del nuevo controlador se evalúa como comparable al controlador Panthor, escrito en lenguaje C.


El código del controlador Tyr se ha integrado en el núcleo de Linux 6.18, cuyo lanzamiento se espera a principios de diciembre. Sin embargo, el controlador aún no está listo para el uso continuo de los usuarios habituales y se considera un prototipo experimental para probar las abstracciones para el desarrollo de controladores en el lenguaje Rust.
Se han utilizado componentes del controlador abstracto rust_platform_driver y del controlador Nova, desarrollado para GPUs NVIDIA, escrito en Rust y añadido al núcleo de Linux 6.16, como base para crear el nuevo controlador. La funcionalidad para interactuar con GPU Mali se ha portado desde el controlador DRM existente Panthor (Direct Rendering Manager), escrito en lenguaje C. La uAPI del controlador Tyr es idéntica a la uAPI del controlador Panthor, lo que permite utilizar componentes de espacio de usuario ya existentes con él.
La tecnología CSF, utilizada desde la décima generación de GPU Mali, es notable por delegar algunas funciones del controlador al firmware y emplear un nuevo modelo de organización de tareas en la GPU. En la GPU con interfaz CSF, en lugar de un modelo basado en el envío de cadenas de trabajos, se utiliza un modelo basado en un flujo de comandos con programación de la cola de flujo de comandos en el firmware. Para organizar el trabajo del planificador, la GPU incorpora un microcontrolador Cortex-M7, y se ha previsto una unidad especial para la ejecución de comandos (Command Execution Unit) para llevar a cabo los instructivos de CSF.
Fuente: opennet.ru
