COMPTOIR
  
register

ENFIN un driver NVIDIA open-source pour Linux... non ?

Voilà un fantasme de Linuxien qui devient réalité : le caméléon a enfin ouvert les sources de son pilote GPU, supportant Turing, Ampere Pro, Ampere grand public et « Gnext ». Distribué sous une double licence GPL/MIT, le bousin représente une phénoménale avancée dans le domaine puisque Nouveau, la version reverse-engineerée par des développeurs externes à la firme, faisait du sur-place depuis l’introduction de firmware signé nécessaire à la modification des fréquences d’origine de la carte.

 

Sauf que, vous l’imaginez bien, tout n’est pas si rose. En effet, si une partie du pilote est bien libre et lisible par tous, ce n’est pas le cas de la majorité du code, soit plus de 900 fonctions, qui se retrouvent intégrées dans… le firmware de 34 mégaoctets. À titre de comparaison, le firmware du GPU d’Apple ne pèse que 400 kio (et vous imaginez bien que la pomme n’est pas la dernière en matière de cachotage de code), et 7 Mio pour son contrôleur d’affichage. Autant dire que les quelque 56 Mio de code effectivement libérés ont furieusement l’odeur d’un écran de fumée, d’autant plus que le code tournant dans l’espace utilisateur (pour CUDA par exemple) demeure lui aussi fermé.

 

Au niveau des versions supportées, seule la 515.43.04 est disponible à l’heure actuelle, mais la liste devrait sans nul doute s’allonger au fil des mises à jour. Reste que bien des questions émergent quant aux raisons ayant poussé le caméléon à un tel changement de sa politique. Si LAPSUS$ a peut-être eu un léger rôle dans cette affaire, l’arrivée prochaine de complexes CPU/GPU à base de Grace et Hopper pour les pros requiert probablement un front-end commun que la firme a préféré distribuer sous une licence libre, et le projet est loin d'être récent. À moins que la firme ne cherche tout simplement à faire bonne image et s’inscrire dans la mouvance libriste qui a déjà emporté la plupart de ses concurrents… À voir ce qu’il en sera dans les mois qui suivent !

 

 
nvidia coude logo
Un poil avant ?

Ventes de jeux vidéo : la routine prend presque le dessus

Un peu plus tard ...

La RTX 4090 monstrueuse et pas si énergivore qu'attendu ?

Les 7 ragots
Les ragots sont actuellement
ouverts à tous, c'est open bar !
par Jemporte, le Mercredi 18 Mai 2022 à 15h21  
par Un doctorant curieux de Bretagne, le Mardi 17 Mai 2022 à 07h10
Pour bosser sous Linux et sur le machine learning, il faut quand même avouer que les drivers actuels ne sont pas oufs niveau intégration et il faut parfois s'arracher les cheveux pour utiliser CUDA ou faire reconnaitre une Quadro.

Avoir enfin une distribution libre ça serait chouette, car une grosse partie de mon domaine d'activité est sous Linux, mais même avis que Nicolas, il faut voir l'ensemble du package : si c'est pour faire plaisir aux pros, il va falloir travailler sur tout l'ensemble
Je remarque qu'on trouve des logiciels pro sur Linux mais ce qui leur manque c'est des parties calcul GPU fiables. Du coup la version Linux est souvent sans les éléments accélérés GPU.
par Un doctorant curieux de Bretagne, le Mardi 17 Mai 2022 à 07h10  
Pour bosser sous Linux et sur le machine learning, il faut quand même avouer que les drivers actuels ne sont pas oufs niveau intégration et il faut parfois s'arracher les cheveux pour utiliser CUDA ou faire reconnaitre une Quadro.

Avoir enfin une distribution libre ça serait chouette, car une grosse partie de mon domaine d'activité est sous Linux, mais même avis que Nicolas, il faut voir l'ensemble du package : si c'est pour faire plaisir aux pros, il va falloir travailler sur tout l'ensemble
par Jemporte, le Mardi 17 Mai 2022 à 02h33  
L'idée première c'est de pouvoir faire évoluer le code des pilotes et le maintenir compatible avec les avancées de Linux. Le firmware ne continent globalement que du code brut, qui réinterprète et complète tout ce que fait le GPU, et donc le résultat est accessible par les pilotes.

Est-ce suffisant ? Pas tout à fait, mais en partie. C'est à dire que la partie appelée firmware pourrait être affectée par les changements de CPU et d'interface et de protocoles PCIe (on pense aux eGPu entre-autres) et elle pourrait aussi subir des aléas au niveau de l'évolution des standards d'affichage accéléré qu'elle ne suivra pas, notamment si de nouvelles fonctionnalités ou procédés sont ajoutées.
Par ailleurs on n'est pas à l'abri de bugs et de limitations non documentées ou non constatées par Nvidia dans le firmware, qu'on aura du mal à cerner si les pilotes dysfonctionnent pas malgré une écriture sans reproche des sources.
par Nicolas D., le Lundi 16 Mai 2022 à 19h33  
par Unragoteursansespace embusqué, le Lundi 16 Mai 2022 à 16h53
Jamais content !

Au lieu de voir le verre à moitié vide, voyez-le donc à moitié plein...
C'est quand même rappelé dès les premières lignes "le bousin représente une phénoménale avancée dans le domaine". C'est une avancé et c'est très bien... j'ai d'ailleurs grand espoir que ça améliore enfin la partie logicielle de NVIDIA dans le domaine (par exemple pour le support du G-Sync compatible en multi-écran, le mode "fusionné" en multi écran toujours, sans compter la prise en charge, désormais faite, des API standards pour Wayland...).

Mais il ne faut pas croire que la quasi-intégralité du code est ouvert comme c'est le cas chez AMD et Intel ; d'où le ton critique de la news. La comparaison avec Apple est donnée à titre indicatif comme mesure de référence de pilote au front-end libre rangeant la majorité du code intéressant dans le firmware ; pas comme un exemple d'entreprise (ce sera plutôt Intel ou AMD pour cela ).
par fofo, le Lundi 16 Mai 2022 à 18h54  
Bin quand même nVidia : 34mo vs AMD "navi14" 3,7mo

Pour "rappel" un petit lien tout mignon l'ensemble des firmwares linux représente 400mo
par lecbee, le Lundi 16 Mai 2022 à 17h00  
C'est clair, jamais content

Les dev Linux eux précisent bien que c'est un grande avancée...
Why the open source driver release from NVidia is so important for Linux?

Et non rien à voir avec LAPSUS $, le billet de blog ci-dessus précise que Nvidia travaillent sur le sujet avec les dev Linux / Mesa depuis 2 ans.
par Unragoteursansespace embusqué, le Lundi 16 Mai 2022 à 16h53  
Jamais content !

Au lieu de voir le verre à moitié vide, voyez-le donc à moitié plein...

Pour ma part, je suis ravi de ce progrès, tout comme j'étais déjà ravi du support des pilotes propriétaires Linux de NVIDIA: plus de 10 ans de mise à jour pour chaque génération de GPU. je peux par exemple aujourd'hui toujours faire tourner une vieille GTX 460 sur un PC secondaire avec des pilotes propriétaires à jour et avec la dernière version du noyau Linux et de X11 !...
Sans compter la très bonne réactivité de NVIDIA aux différents bogues que j'ai reporté sur leur forum.

Quant aux sources ouverts et micro-logiciels propriétaires, le même problème existe chez AMD (*) et Intel; que la proportion de code "caché" varie n'a guère d'importance, puisque de toutes manières, sans ces "blobs", votre carte ne tournera jamais !
Gageons que le futur verra plus de code ouvert par NVIDIA (ils sont sans aucun doute pas mal "coincés" avec le code existant par des problème de licences logicielles et de patentes logicielles, qu'ils ne peuvent violer en ouvrant tout le "vieux" code d'un coup).
Laissez leur au moins le bénéfice du doute, au lieu de critiquer systématiquement !

(*) D'ailleurs, pourquoi aller cherche Apple: macOS n'est pas Linux et les utilisateurs de Mac sont de toutes façon prisonniers d'un matériel entièrement propriétaire et totalement fermé.