Nova fait du sous-système GPU du noyau Linux le laboratoire de Rust
À l’approche de la fenêtre de fusion de Linux 7.4, le pilote NVIDIA Nova, écrit en Rust, continue de bâtir l’infrastructure DRM en Rust du noyau. C’est le signal d’un basculement : le sous-système graphique devient le terrain d’essai où Rust gagne ses galons dans le noyau, GPU par GPU.
13 octobre 2026. Phoronix rapporte que les changements Rust du sous-système DRM ont été soumis pour intégration dans DRM-Next, en vue de la fenêtre de fusion de Linux 7.4 qui s’ouvre la semaine suivante. Octobre 2026. Le pilote Nova de NVIDIA — un pilote noyau open source écrit en Rust — en constitue l’essentiel, poursuivant son rôle de pionnier des pilotes GPU en Rust dans le noyau. Début octobre 2026. Nova faisait l’objet d’une présentation à la Linux Plumbers Conference de Prague. Pourquoi c’est important : le sous-système graphique, domaine de très haute performance et de sécurité sensible, devient le laboratoire où Rust fait la preuve qu’il peut remplacer C dans le noyau.
Nova, le successeur Rust de Nouveau
Pour comprendre l’enjeu, il faut replacer Nova dans la longue histoire des pilotes NVIDIA sous Linux. Historiquement, le pilote officiel est propriétaire, tandis que la communauté maintenait Nouveau, un pilote libre conçu par rétro-ingénierie. Nova change la donne : c’est un pilote noyau open source, développé par des ingénieurs de Red Hat, destiné à succéder à Nouveau comme pilote mainline des GPU NVIDIA reposant sur le GPU System Processor (GSP).
Le périmètre est précis : Nova couvre les GPU GeForce RTX 20 de la famille Turing et plus récents. Le projet se découpe en deux pilotes, nova-core et nova-drm. Et surtout, il est écrit en Rust, ce qui en fait la vitrine du projet Rust for Linux dans le sous-système graphique. NVIDIA maintient d’ailleurs un dépôt dédié — NVIDIA/nova — où chaque pull request déclenche une batterie de tests sur du vrai silicium avant soumission en amont vers drm-rust-next.
Pourquoi GSP change tout
Le point d’appui technique de Nova est le GPU System Processor (GSP). Sur les générations Turing et suivantes, une partie de la logique du pilote ne tourne plus dans le noyau : elle est déportée dans un processeur embarqué sur la carte, piloté par un firmware propriétaire. C’est ce déplacement qui rend un pilote noyau open source crédible, là où l’ancien Nouveau devait rétro-ingénierer des fonctions matérielles sans accès au silicium.
Concrètement, Nova n’a pas besoin de réimplémenter toute l’initialisation du GPU ni la gestion fine de l’alimentation : ces tâches sont prises en charge par le GSP. Le pilote noyau se concentre sur ce qui lui revient — l’allocation mémoire, les tables de pages MMU, la soumission de commandes — des responsabilités que Rust permet d’écrire avec des garanties de sûreté mémoire que le C historique n’offre pas. C’est la raison pour laquelle Nova se présente non comme un fork de Nouveau, mais comme une réécriture pensée pour une architecture différente.
Ce que Linux 7.4 apporte au pilote
La soumission ciblant Linux 7.4 est essentiellement composée des évolutions de Nova et de l’infrastructure nécessaire à ses nouvelles fonctions, plus quelques correctifs pour Tyr, le pilote Rust expérimental pour les GPU Arm Mali.
Côté Nova, le lot introduit une API interne baptisée NovaCoreApi, pensée pour être consommée par des pilotes enfants — la signature d’une architecture qui anticipe plusieurs familles de GPU derrière un cœur commun. S’y ajoute un nouvel ioctl de rapport d’informations qui expose à l’espace utilisateur l’architecture du GPU, l’identifiant de puce et les détails de la vRAM.
Le gros du travail porte sur la gestion mémoire : allocation buddy de la vRAM, invalidation du TLB, types de tables de pages MMU v2 et v3, et accès CPU à la vRAM mappée via BAR1. Le tout complété par des améliorations de rapport d’erreurs, de nouveaux self tests et une gestion du firmware revue. C’est du travail de fond, peu spectaculaire, mais c’est exactement ce qui transforme un pilote expérimental en pilote utilisable.
Rust s’installe dans l’infrastructure DRM
Au-delà de Nova, l’événement est l’infrastructure elle-même. Le terme Rust DRM infrastructure revient dans la soumission : en bâtissant les abstractions Rust du Direct Rendering Manager, Nova construit des fondations dont profitent les autres constructeurs.
Tyr, le pilote expérimental pour le Mali d’Arm, en est le premier bénéficiaire : il reçoit des correctifs dans la même soumission. Ce n’est pas un hasard. La logique de Rust for Linux est cumulative — chaque pilote écrit en Rust élargit la surface des abstractions sûres disponibles pour le suivant, ce qui abaisse le coût d’entrée de chaque nouveau venu. Le fait qu’un sous-système aussi exigeant que le DRM serve de rampe de lancement est un vote de confiance dans la maturité de Rust au sein du noyau.
La temporalité s’inscrit dans le cycle du noyau : la fenêtre de fusion de Linux 7.4 s’ouvre la semaine du 19 octobre 2026, pour une sortie stable fin 2026 ou début 2027. Le noyau stable 7.3, lui, est attendu dans la seconde moitié d’octobre.
Le débat Rust contre C, vu du noyau
Nova ne se résume pas à une prouesse technique de NVIDIA : il alimente un débat de fond sur la place de Rust dans le noyau Linux. Depuis le lancement du projet Rust for Linux, les opposants brandissent le risque d’un noyau à deux langages, plus difficile à maintenir, tandis que les partisans répondent que la sûreté mémoire de Rust élimine toute une classe de vulnérabilités — dépassements de tampon, use-after-free — qui dominent depuis des décennies les bulletins de sécurité du noyau.
Le sous-système DRM est un terrain d’essai révélateur : c’est un code de très haute performance, proche du matériel, longtemps considéré comme le domaine réservé du C. Qu’un acteur majeur comme NVIDIA y investisse dans Rust, aux côtés de l’infrastructure partagée que réutilise déjà Arm avec Tyr, est un signal que la bascule n’est plus une hypothèse d’école. Reste à savoir si Nova passera l’épreuve de la fusion mainline dans 7.4 et des itérations suivantes : c’est là que se joue la crédibilité de Rust auprès des mainteneurs les plus sceptiques.
Ce que ça change pour les utilisateurs et les distributions
Pour l’utilisateur NVIDIA sous Linux, la signification est concrète mais progressive. Nova ne remplace pas du jour au lendemain le pilote propriétaire pour les cas d’usage intensifs — jeu, calcul, CUDA. Mais il trace une trajectoire où un pilote open source, intégré au noyau, peut un jour couvrir l’essentiel des besoins, sans module externe à recompiler à chaque mise à jour de noyau.
Pour les distributions, l’enjeu est tout autre. Un pilote NVIDIA mainline en Rust signifie un support qui ne dépend plus de la bonne volonté d’un binaire externe : les mises à jour de noyau ne cassent plus le pilote, et les correctifs de sécurité peuvent être appliqués par la communauté. Pour les mainteneurs du noyau, enfin, Nova est la démonstration qu’un grand fournisseur accepte Rust dans un chemin critique — un argument qui pèse lourd dans le débat sur l’adoption de Rust face au C hérité.
Verdict
Si vous utilisez un GPU NVIDIA récent sous Linux, rien à faire immédiatement : Nova est une trajectoire, pas un remplacement pour demain — continuez sur le pilote propriétaire pour le jeu et CUDA, et suivez les kernel.org et Phoronix pour jauger la maturité. Si vous êtes mainteneur de distribution ou intégrateur, c’est le moment de commencer à tester Nova en parallèle : la fenêtre 7.4 est le bon jalon pour mesurer ce qu’il couvre déjà sur Turing et au-delà. Et si vous suivez l’adoption de Rust dans le noyau, retenez la leçon de cette soumission : ce ne sont plus des pilotes périphériques isolés qui portent Rust, c’est une infrastructure partagée — et c’est précisément ainsi qu’un langage s’installe pour de bon.