Pilotes NVIDIA intégrés à Ubuntu 19.10 : quels changements ?
Développeurs et joueurs en ligne de mire
Le 22 octobre 2019 à 14h05
7 min
Logiciel
Logiciel
Ubuntu 19.10 est disponible depuis quelques jours. Parmi les nouveautés de cette mouture de fin d'année, il en est une qui a fait réagir la communauté, mais qui va simplifier la vie de nombreux utilisateurs : l'intégration des pilotes NVIDIA. Mais dans la pratique, qu'y a-t-il de nouveau ?
La décision de Canonical et des développeurs d'Ubuntu d'intégrer nativement les pilotes NVIDIA au processus d'installation suit la tendance. Mint a renforcé sa position sur le sujet dès sa version 19.04, d'autres ayant déjà fait de même.
L'intégration des pilotes graphiques, un enjeu pour plaire aux développeurs
On pense notamment à Pop!_OS qui propose une ISO spécifique pour ceux qui disposent d'une GeForce/Quadro, allant même jusqu'à proposer un dépôt contenant une base nécessaire aux développeurs adeptes de CUDA, et des outils comme TensorMan. Car l'enjeu est là, au-delà des amateurs de jeu vidéo sous Linux.
Ces distributions sont en effet très utilisées par les chercheurs et développeurs qui peuvent vite passer un (trop) long moment à paramétrer des environnements de développement lorsqu'ils utilisent des cartes graphiques pour leurs calculs ou même des processeurs dédiés comme les NPU. L'objectif est donc de leur simplifier la vie.
Un besoin qu'Intel a déjà très bien identifié. Le géant de Santa Clara mise ainsi sur une distribution orientée performances, intégrant des mécaniques de compilation tirant parti de ses dernières fonctionnalités, un noyau optimisé, fournissant des outils récents. C'est ainsi que Clear Linux est né, avec son Store dédié et ses « Stacks ».
De son côté, NVIDIA propose une solution clé en main avec ses « Data Science Workstations » lancées en juin. Vendues par des partenaires tiers, elles sont livrées sous Ubuntu, préconfigurées pour profiter des outils de développement maison.
Ubuntu et NVIDIA, déjà une histoire d'amour (à quelques bugs près)
Ubuntu veut aller dans le même sens, mais avance à (très) petits pas. Il faut dire qu'elle est très utilisée par les développeurs, notamment ceux qui exploitent un GPU. Elle reste d'ailleurs le principal OS recommandé par NVIDIA dans ses guides, utilisée également comme base pour l'OS fourni dans les kits de développement Jetson.
La distribution est également connue pour faire des choix différents de ceux de « puristes » de l'open source. C'est même l'une de ses différences avec Debian, proposant par exemple d'intégrer d'un clic certains pilotes et codecs propriétaires pour que l'utilisateur puisse facilement profiter de sa machine dans un cadre multimédia dès l'installation.
Même chose pour les pilotes NVIDIA. Une méthode intéressante, mais dépendante de la présence d'une connexion internet, nécessitant un téléchargement pour chaque machine. L'idée a donc été de simplifier un peu plus la vie des utilisateurs en intégrant la dernière version en date de ce « blob propriétaire » à l'ISO.
Une étape logique, même si on continue de regretter que le constructeur n'ait toujours pas ouvert les sources de ses pilotes, en dépit de son utilisation croissante d'outils dont le code est libéré. Il communique depuis peu des éléments de ses architectures afin de faciliter la vie des développeurs tiers, comme ceux des pilotes « nouveau ».
Quels changements en pratique ?
Comme nous l'expliquions dans un précédent guide, l'installation et la gestion des pilotes NVIDIA avait déjà été grandement facilitée au sein d'Ubuntu dans ses versions récentes, notamment à travers la section consacrée aux pilotes additionnels de Logiciels et Mises à jour. Elle permet une mise en place en un clic de pilotes plus ou moins récents.
Cela passait par quelques lignes de commandes si vous n'aviez pas accès à une interface graphique. Un Personal Package Archive (PPA) maintenu par la fondation X.Org est également disponible avec des pilotes plus récents :
sudo add-apt-repository ppa:graphics-drivers/ppa
Mais pour savoir ce qui a changé concrètement, nous avons effectué une série d'essais avec Ubuntu 18.04.3 LTS, 19.04 et 19.10. Nous les avons installés sur une machine équipée d'une GeForce GTX 980 (sortie en 2014) puis d'une GeForce RTX 2080 (datant de fin 2018), en installant les dernières mises à jour via Internet ou non.
Nous avons systématiquement coché la case « Installer un logiciel tiers pour le matériel graphique et Wi-Fi et des formats de média supplémentaires », permettant de récupérer des pilotes NVIDIA lorsqu'ils sont disponibles. Sinon, c'est la version open source « nouveau » qui est utilisée. Nous avons à chaque fois relevé la version configurée sur le système.
Pour rappel, la commande nvidia-smi
ne répond que si les pilotes NVIDIA sont en place, affichant le statut de la carte graphique et détaillant la couche logicielle en place. Sinon vous pouvez utiliser la commande suivante :
lshw -class video
Voici nos résultats :
Comme on pouvait s'y attendre, dans les versions précédentes d'Ubuntu, le pilote NVIDIA n'est installé que si la connexion internet est active. Avec l'intégration à l'ISO, ce n'est plus nécessaire.
C'est un avantage dans les cas où « nouveau » pose problème, comme on peut le voir avec la GeForce RTX 2080 pour Ubuntu 18.04/19.04. Sur la fenêtre de connexion, les réactions du système à la souris ou au clavier sont lentes, ce que résoud l'utilisation du pilote propriétaire (ou d'Ubuntu 19.10).
Pire dans le cas d'Ubuntu 18.04.3 LTS, on se retrouve face à une boucle de connexion, empêchant l'utilisation du système tant que le pilote NVIDIA n'est pas installé. Un phénomène qui ne se rencontre étrangement que si les éléments non open source sont installés et les mises à jour effectuées dans le processus d'installation.
On note au passage qu'Ubuntu 19.04 avait déjà changé la donne, tant pour la GTX 980 que la RTX 2080 puisque le pilote NVIDIA est téléchargé pendant la phase d'installation si on le demande. Il utilise cependant la dernière version de la branche 418, qui n'est pas de toute fraîcheur.
On regrette également quelques points dans cette façon de faire. Tout d'abord, il n'y a pas de granularité dans l'acceptation des éléments non libres. Si l'on veut les codecs multimédia, mais pas les pilotes NVIDIA, c'est impossible à préciser dans le processus d'installation actuel. Dommage.
D'autant que certaines combinaisons sont malheureuses. Par exemple, Wayland ne supporte pas la connexion automatique avec le pilote NVIDIA installé. Si vous faites ce choix, vous aurez là encore droit à une boucle infinie de connexion, avec comme seule possibilité de désactiver la connexion automatique ou de repasser sur les pilotes « nouveau ».
De même, il existe souvent différentes versions des pilotes NVIDIA : la dernière en date des dépôts et la précédente. On ne peut pas choisir laquelle installer. On apprécierait aussi de pouvoir activer plus simplement le PPA de la fondation X.Org contenant les derniers en date, que ce soit via une fenêtre ou une option dans la gestion des pilotes additionnels.
Il est possible d'aller plus loin
Si Ubuntu se présente régulièrement comme une distribution pour les développeurs, nouant des partenariats autour de cette image, notamment avec Dell (et ses XPS Developer Edition), son équipe doit veiller à ce que cela reste le cas.
Des initiatives comme Clear Linux, Pop!_OS ou les Data Science Workstations de NVIDIA montrent bien que les besoins de ce public vont au-delà de l'installation, avec la facilité à mettre en place les ensembles de logiciels et les optimisations qui leurs sont nécessaires. Or, il manque clairement des dépôts ou des fonctionnalités allant dans ce sens.
Si la volonté est également de faciliter la vie des joueurs, on peut faire des remarques similaires. Proposer la mise en place d'outils comme Steam, Lutris ou Play On Linux dès l'installation, via une meilleure intégration, ou même favoriser la création d'une variante spécifique pourrait être bénéfique.
Pilotes NVIDIA intégrés à Ubuntu 19.10 : quels changements ?
-
L'intégration des pilotes graphiques, un enjeu pour plaire aux développeurs
-
Ubuntu et NVIDIA, déjà une histoire d'amour (à quelques bugs près)
-
Quels changements en pratique ?
-
Il est possible d'aller plus loin
Commentaires (21)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 22/10/2019 à 14h33
Et qu’en est-il de la gestion d’optimus ?
Le 22/10/2019 à 14h59
“nouveau” ? se sont pas foulés pour le nom " />
Le 22/10/2019 à 15h15
Pour le coup c’est déjà un vieux nom " />
Le 22/10/2019 à 15h16
Les nouveaux drivers (à partir des 435.17 beta) introduisent une fonctionnalité prime offloading qui permet un meilleur support d’optimus: c’est encore bien expérimental de ce que j’ai compris mais c’est déjà un premier effort de la part de nvidia.
Le 22/10/2019 à 15h21
" />" />
Le 22/10/2019 à 15h23
Et il y a même un petit outil de dispo pour configurer tout ça…
Le 22/10/2019 à 15h30
Je vois “switch to intel”/“switch to NVIDIA (On-demand)” donc la bascule se fait toujours manuellement, ou la gestion est-elle devenue automatique comme sous Windows ?
Le 22/10/2019 à 15h38
Nan, “on-demand” c’est fait automatiquement quand le système fait du rendering OpenGL/Vulkan. Par contre le GPU nvidia n’est pas éteint totalement mais tu peux déjà gagner pas mal en consommation si tu as un gpu suffisamment récent qui supporte le dynamic power management.
Le 22/10/2019 à 16h40
Actuellement j’utilise (sur 18.04) le pilote “430 (libre)”. Il est indiqué comme alternatif. Ce n’est pas celui d’Nvidia alors (puisque vous dites qu’ils n’ont pas ouvert leurs sources) ?
Je me rappelle qu’à l’installation j’ai eu de gros problèmes graphiques (écran qui se fige pendant l’installation, impossible de s’identifier à l’ouverture de session) et c’est ce pilote qui qa résolu tous les problèmes.
Le 22/10/2019 à 19h07
Le 22/10/2019 à 19h11
Sur 18.04 tu devrais avoir le choix entre :
Le 22/10/2019 à 19h46
Perso j’ai un APU AMD, autant j’avais aucun problème en 19.04, autant maintenant j’ai énormément de freezes.
Le 23/10/2019 à 03h52
Ce doit être à cause de ces développeurs que Nvidia cherche à séduire, qu’entre le pilote 3.90 et le 4.18 ma GTX 970 externe (via TB3) n’affichait plus rien. " />
Ils avaient changé le comportement par défaut, pour ne pas gêner les gens qui utilisent un eGPU juste pour du calcul (pas pour l’affichage) et peuvent vouloir le retirer à chaud.
Maintenant, faut ajouter l’option Option “AllowExternalGpus” “true” dans la conf xorg pour que xorg puisse utiliser la carte. Ça faisait tellement longtemps que je n’avais rien touché dans xorg que je n’arrivais a rien retrouver ^^
Je ne leur dit pas merci aux développeurs et à Nvidia, c’est leur usage à eux qui devrait être optionnel " /> (même si j’imagine qu’il y a plein de bonnes-mauvaises raisons à ce choix…)
Le 23/10/2019 à 09h06
Perso je suis bien content d’avoir une CG AMD avec le pilote libre AMDGPU qui ne fait que charger qq blobs dans la carte, je n’ai jamais eu un seul bug à ce jour, enfin pas à ma connaissance.
Et quand je joue, je repasse sous windows
Le 23/10/2019 à 09h09
Ah je suis preneur d’infos là dessus, je n’ai jamais réussi à faire fonctionner ma carte graphique en TB3 sur Linux Mint. Je suis prêt à passer à un Ubuntu plus récent si ça peut aider.
Il y a juste cette option à ajouter dans le xorg.conf après avoir installé les drivers nvidia ?
Et après, ça bascule tout seul ?
Le 23/10/2019 à 11h17
Le 23/10/2019 à 12h17
Il semble bien plus logique d’utiliser une carte Nvidia sous ubunut pour du dev qu’autre chose, les autres usages étant fortement limités sous cet OS
Le 23/10/2019 à 13h01
Je dirais même plus que je déconseille l’utilisation de carte graphique NVidia sous Linux pour autre chose que du dev. Ces cartes sont une sources de bug et de problèmes permanents sous Linux. Les 2 pilotes (Nouveau et Nvidia) déconnent trop souvent. Plus encore, Les pilotes NVidia ne supporte pas bien Wayland. Autant dire que le problème n’est pas prêt d’être résolu.
Si vraiment vous voulez jouer sous linux, évitez à tout prix NVidia.
Le seul intérêt d’utiliser une carte NVidia sous Linux, c’est pour utilisé leur puissance de calculs (via CUDA en particulier, mais OpenCL est viable aussi : une V100 n’a aucun équivalent). Si c’est pour faire autre chose, en l’état actuel, passez votre chemin.
Le 23/10/2019 à 20h37
Le 24/10/2019 à 04h17
Les drivers Nvidia fonctionnent parfaitement sous linux. Mais il y a un problème de taille : ils ne supportent pas Wayland qui pourtant tend à remplacer Xorg.
Nvidia n’ont qu’à faire comme AMD : intégrer les drivers dans le kernel. Et là on sera à jour lors d’un changement de kernel, et ce sera plus pratique pour les utilisateurs.
Pour ceux qui ne le savent pas : les driver nouveau est un pilote libre faisant du retro-ingénierie. il est donc normal que les performances ne soient pas à la hauteur face aux drivers Nvidia.
Le 24/10/2019 à 07h30
" />
Je testerai ça. Chez moi sous Windows ça marche bien, la carte n’est pas toujours détectée (ou en tous cas la bascule ne se fait pas toujours) quand je la branche à chaud mais après un reboot en général c’est bon.
Sous linux j’ai jamais réussi, je testerai ton petit guide sur Mint et si ça fonctionne pas, je passerai sur Ubuntu ou Pop OS.