Lancement du pilote GPU Tyr Rust pour GPU Arm Mali : avancées et performances en 3D

Tyr - Un pilote GPU Rust pour les GPU Arm Mali

Comme le rapporte cnx-software, le noyau Linux 6.18 a récemment intégré une innovation marquante avec le pilote GPU Tyr Rust, développé pour les GPU Arm Mali basés sur CSF. Ce projet est un portage du pilote GPU Panthor C, qui a été inauguré dans la version 6.10 de Linux, et il a vu le jour grâce à la collaboration entre Collabora, Arm et Google.

Tyr Rust et l’API Panthor : 43,2 TOPS de potentiel pour les utilisateurs

Tyr Rust a pour objectif d’implémenter la même API d’espace utilisateur que celle proposée par Panthor. Cela signifie qu’il pourrait un jour remplacer le pilote PanVK Vulkan de l’entreprise. Bien que Tyr soit en phase de développement, il pourrait remplacer Panthor C dans plusieurs années. Pour l’heure, Panthor, qui est plus mature et conforme à OpenGL ES 3.1 depuis juillet 2024, reste la référence.

Les progrès récents dans le développement de Tyr, avec une mise à jour fournie fin novembre par Collabora, sont significatifs. Le prototype du pilote fonctionne efficacement avec des environnements comme GNOME et Weston, ainsi que des jeux 3D en plein écran tels que SuperTuxKart. Pour le moment, le protoype est comparable en termes de performances au pilote C, mais un travail supplémentaire est nécessaire pour l’intégration complète dans le noyau principal de Linux. La note suivante dans le journal des modifications de Linux 6.18 résume bien cela :

Démarrage initial du pilote Rust pour les GPU ARM Mali. Il peut alimenter le GPU, interroger ses métadonnées via MMIO et les fournir à l’espace utilisateur via le périphérique DRM IOCTL (struct drm_panthor_dev_query).

Tests prometteurs sur Radxa ROCK 5B avec Tyr : performances en vue

Le prototype Tyr a été testé sur un ordinateur monocarte Radxa ROCK 5B, mais il est également probable qu’il fonctionne sur d’autres plateformes équipées du Rockchip RK3588. Dans ce cadre, plusieurs tests ont montré des résultats prometteurs, comme par exemple, la capacité à dessiner un cube 3D, un indicateur classique de l’accélération graphique. Dans les tests, l’utilisation de vkcube sur Weston a permis d’atteindre une résolution 4K de 4096 x 2160, comme l’illustre l’image ci-dessous.

vkcube sur Weston sur Tyr

En plus de cela, il est possible d’utiliser GNOME avec Firefox pour regarder des vidéos YouTube, comme l’illustre la capture d’écran suivante.

GNOME sur Tyr Firefox YouTube

Enfin, il est également démontré que le pilote Tyr permet de jouer à SuperTuxKart 3D, avec une expérience de jeu solide en mode plein écran, bien que quelques problèmes subsistent en mode fenêtré, une situation qui nécessitera des améliorations ultérieures.

Pilote Supertuxkart Tyr Rust

Actuellement, bien que Tyr ne soit pas encore prêt pour un usage quotidien, les avancées notées sont encourageantes. Pour les développeurs souhaitant tester ce pilote sur leur carte ROCK 5B, le code de démonstration est disponible sur le serveur GitLab de Freedesktop, mais ils devront d’abord activer CONFIG_TYR_DRM_DEPS et CONFIG_DRM_TYR dans la configuration de leur noyau.

YouTube video