Jouer sous Linux a toujours été un peu plus compliqué que sous Windows (ou les consoles de jeu), et l’une des raisons en est le faible support des pilotes Nvidia sous Linux. La situation est en train de changer, mais il est difficile de savoir dans quelle mesure elle va s’améliorer.

Nvidia a annoncé mercredi qu’elle avait publié ses modules de noyau graphique Linux en tant que logiciel libre, sous une double licence GPL/MIT. En d’autres termes, tout le monde peut désormais consulter le code de Nvidia, et les développeurs peuvent soumettre des correctifs et de nouvelles fonctionnalités pour améliorer les pilotes. Canonical (développeur d’Ubuntu Linux), SUSE et Red Hat (développeur de Fedora Linux) ont applaudi la décision de Nvidia d’ouvrir enfin le code source de ses pilotes graphiques pour Linux.

Nvidia a déclaré dans son blog : « Dans cette version open-source, le support des GPU GeForce et Workstation est de qualité alpha. Les utilisateurs de GeForce et de Workstation peuvent utiliser ce pilote sur les GPU NVIDIA Turing et NVIDIA Ampere Architecture pour faire tourner des bureaux Linux et utiliser des fonctions telles que les affichages multiples, G-SYNC, et le ray tracing NVIDIA RTX dans Vulkan et NVIDIA OptiX ».

11 DISTROS LINUX QUI SUPPORTENT TOUJOURS L’ARCHITECTURE 32 BITS

Pourquoi l’Open-Source est important

Alors, pourquoi est-ce si important ? Eh bien, les cartes graphiques Nvidia n’ont jamais bien fonctionné avec les PC Linux. Intel et AMD maintiennent tous deux des pilotes graphiques open-source pour leurs produits, qui peuvent ensuite être inclus dans le noyau standard de Linux. Le résultat final est que si vous avez un PC de jeu avec un GPU Radeon, ou un ordinateur portable avec des graphiques Intel Xe, tout fonctionne sous Linux. Puisque le code est disponible pour que tout le monde puisse le regarder et le modifier, les graphiques Intel et AMD fonctionnent mieux avec les changements plus récents dans l’écosystème Linux, comme le serveur d’affichage émergent Wayland.

Contrairement à AMD et Intel, Nvidia n’a pas mis ses pilotes en libre accès (jusqu’à présent). Le paquet de pilotes propriétaires doit parfois être installé séparément, et comme Nvidia est le seul à avoir accès au code, les pilotes ne prennent pas en charge Wayland et d’autres fonctionnalités Linux plus récentes. Les développeurs Linux ont créé le pilote open-source Nouveau comme alternative, mais il offre généralement de moins bonnes performances que le logiciel de Nvidia, puisqu’il s’agit essentiellement d’un projet de rétro-ingénierie.

Pour faire simple, les PC Linux équipés de cartes graphiques Nvidia ont dû choisir entre deux mauvaises options pendant des années : un pilote fermé avec des bogues et des fonctionnalités manquantes, ou un pilote open-source avec de moins bonnes performances. En théorie, les pilotes open-source de Nvidia devraient être le meilleur des deux mondes.

Les pièges

Tout cela est une excellente nouvelle, mais il y a quelques raisons de tempérer votre enthousiasme. Hector Martin, le développeur principal d’Asahi Linux, a partagé dans une série de tweets qu’une grande partie du code graphique important n’est pas réellement open-source. Nvidia semble avoir déplacé une grande partie de son code propriétaire dans le firmware de ses cartes graphiques, avec lequel le code open-source interagit – un peu comme le moteur de gestion Intel sur les CPU Intel.

Martin a émis l’hypothèse qu’une partie du code de Nvidia ne peut pas être mis en libre accès en raison de brevets et d’accords de licence, de sorte que cette demi-mesure était le seul moyen de mettre en place des pilotes en libre accès. Les pilotes graphiques d’AMD utilisent également certains composants de microprogrammes propriétaires, mais pas autant que ceux de Nvidia.

Il y a aussi d’autres problèmes. Le pilote open-source ne prend en charge que les cartes graphiques qui utilisent les architectures Ampère et Turing de Nvidia, ce qui inclut les GeForce série 16, RTX série 20 et les GPU plus récents. Toute personne possédant une carte GTX 10 ou tout autre matériel plus ancien n’a pas accès au nouveau pilote.

Enfin, Nvidia ne gère pas réellement les mises à jour de code comme la plupart des projets open-source. La section FAQ de l’annonce indique que chaque version du code sera « un instantané généré à partir d’une base de code partagée, de sorte que les contributions peuvent ne pas être reflétées comme des commits Git distincts dans le repo GitHub ». En d’autres termes, il sera difficile pour les développeurs extérieurs à Nvidia de suivre les changements et de diagnostiquer les problèmes.

Un long chemin à parcourir

La publication du pilote open-source pourrait être décevante pour certains, en particulier pour tous ceux qui utilisent encore des cartes graphiques Nvidia plus anciennes qui ne sont pas prises en charge (il a été un peu difficile d’acheter une nouvelle carte graphique ces derniers temps). Cependant, il s’agit d’un pas important dans la bonne direction, ne serait-ce que parce que des entreprises comme Canonical et Red Hat ont la possibilité de contribuer à l’amélioration du code de Nvidia pour la toute première fois.

Nvidia espère que le pilote open-source pourra être intégré en amont dans le noyau Linux, ce qui pourrait enfin donner aux PC équipés de matériel GeForce la même expérience plug-and-play que celle dont bénéficient les PC basés sur AMD et Intel depuis des années sous Linux.