Recherche de site Web

Tyr : un pilote graphique Linux écrit en Rust pour les GPU ARM Mali


Préparez-vous pour Tyr, un tout nouveau pilote graphique DRM du noyau Linux pour votre système Linux ! Tyr n'est pas juste un autre pilote GPU. C'est un port de Panthor, un pilote existant, et il vise à reproduire toutes les fonctionnalités de Panthor au fil du temps.

Ce projet passionnant est écrit en Rust, un langage de programmation moderne. Tyr fonctionne avec les GPU ARM Mali, en particulier ceux utilisant le microprogramme Command Stream Frontend (CSF). Cela signifie qu'il prend en charge le matériel graphique Mali plus récent, à partir de la génération "Gen10".

Un effort conjoint des ingénieurs de Collabora, ARM et Google, la version initiale de Tyr offre des fonctionnalités limitées, principalement pour valider de nouvelles abstractions au sein du noyau Linux.

Les développeurs prévoient de soumettre les composants du pilote en amont de manière itérative afin de réduire les régressions et de prouver la viabilité des abstractions du noyau en cours de développement.

Qu'est-ce que Tyr ?

Tyr est un pilote graphique DRM (Direct Rendering Manager) basé sur Rust pour les GPU ARM Mali CSF. Ce pilote est un port Rust du pilote Panthor existant, visant la parité des fonctionnalités grâce à un développement progressif.

Le nom « Tyr » vient même de la mythologie nordique, tout comme les autres noms de GPU d'ARM !

Mais voici la partie vraiment excitante : Tyr est une initiative conjointe de quelques noms très importants dans le domaine de la technologie :

  • Collabora
  • ARM
  • Google

Oui, des ingénieurs de ces entreprises leaders collaborent pour créer ce pilote. Cet effort combiné montre un engagement fort envers Rust dans les composants systèmes critiques.

Que peut faire Tyr en ce moment ?

Cette première version de Tyr n'est que le début. Elle peut réussir à mettre sous tension votre GPU et permettre au pilote de « sonder » (ce qui signifie qu'il peut être détecté et initialisé). Elle peut également extraire et enregistrer des informations diagnostiques importantes sur votre GPU.

Bien qu'il ne puisse pas encore démarrer complètement le microcontrôleur (MCU) du GPU - cela nécessite plus de travail sous-jacent sur l'« abstraction GPUVM » - cette première version est cruciale.

Il aide à tester et valider de nouvelles abstractions Rust en cours de développement pour le noyau Linux. Cette approche étape par étape aide à réduire les problèmes potentiels au fur et à mesure de l'avancement du développement.

Le pouvoir de Rust dans le noyau Linux

Rust gagne en popularité, en particulier pour la programmation au niveau système. Pourquoi ? Parce qu'il offre des avantages majeurs :

  • Sécurité de la mémoire améliorée : Rust est conçu pour prévenir les erreurs courantes comme les « débordements de tampon » ou les « pointeurs pendants » dès la compilation. Cela signifie que votre système peut être beaucoup plus fiable et sécurisé.
  • Concurrence sûre : Écrire du code qui gère plusieurs tâches à la fois peut être délicat, mais la conception de Rust aide à prévenir les « data races » et autres problèmes similaires. Cela rend la programmation parallèle beaucoup plus sûre.
  • Performance : Rust peut souvent égaler la vitesse de langages comme C et C++ car il se compile directement en code machine et n'utilise pas de ramasse-miettes.

Linus Torvalds, le créateur de Linux, soutient même l'intégration de Rust dans le noyau Linux ! C'est un énorme vote de confiance pour le langage.

Le développement de Tyr est une preuve du rôle croissant de Rust dans les logiciels système vitaux. Il montre que la création de pilotes sûrs et robustes est une priorité absolue pour certains des plus grands noms de la technologie.

La route à venir pour le pilote GPU Tyr

Les équipes derrière Tyr ont déjà une version plus avancée fonctionnant en interne. Cette version peut démarrer le MCU et effectuer certaines tâches graphiques de base.

L'objectif est d'intégrer progressivement toutes ces fonctionnalités en amont dans le noyau Linux principal. Attendons de voir comment cela évolue dans les jours à venir.

Ressource :

  • Présenter Tyr - LKML