Pilotes AMD et NVIDIA : analyse du contenu, mise à jour et désinstallation

De trop de trucs !
Pilotes AMD et NVIDIA : analyse du contenu, mise à jour et désinstallation

Depuis des années maintenant, les pilotes graphiques enflent de version en version, surtout chez NVIDIA depuis l'arrivée de GeForce Experience. La note est désormais salée : plus de 560 Mo. Mais que contiennent-ils ? Leur mise à jour ne peut-elle pas être gérée autrement ? C'est ce que nous avons cherché à savoir.

Les constructeurs de GPU mettent de plus en plus souvent à jour leurs pilotes graphiques, pour suivre l'évolution des services et fonctionnalités qu'ils proposent... mais pas seulement. Des optimisations sont régulièrement introduites pour les derniers jeux, et même pour des applications professionnelles (rendu 3D, vidéo, etc.).

Malheureusement, aucun système de téléchargement différentiel n'a encore été mis en place par AMD ou NVIDIA, qui n'hésitent pourtant pas à multiplier les publications. Pour le seul mois de mars, ils ont chacun mis en ligne trois pilotes, de 320 Mo en moyenne pour le premier et 560 Mo pour le second.

Pour les clients ayant la fibre, pas de problème, cela ne prend que quelques secondes. Mais pour les oubliés du très haut débit, c'est une plaie. D'autant que les éléments intégrés ne sont pas tous nécessaires. Et même si l'on a parfois le choix à l'installation, ce n'est pas le cas au moment du téléchargement.

Pour mieux comprendre ce qui pourrait être fait ou non, nous avons analysé le contenu de différents pilotes et leur évolution à plus ou moins long terme.

Quelle évolution du poids depuis juin 2017 ?

Premier point intéressant : à la mi-2017, les pilotes Crimson ReLive 17.6.1 d'AMD pesaient 374 Mo, ils ont donc été allégés d'un peu plus de 50 Mo. Chez NVIDIA, c'est l'inverse puisque les GeForce 382.53 ne pesaient « que » 423 Mo, soit presque 140 Mo de moins que les 419.67 !

Malgré l'ajout de fonctionnalités en décembre 2017 et 2018, AMD a donc fait le ménage, un choix que ses clients pourront apprécier. Dans le même temps, NVIDIA a continué son inflation, surtout du fait de fonctionnalités annexes ajoutées à GeForce Experience, le panneau de configuration n'ayant presque pas évolué en plus de 10 ans.

C'est sans doute ce qui a en partie poussé Microsoft à opter pour un nouveau mode de distribution des pilotes au sein de Windows 10 : Modern Drivers, qui répond au modèle DCH (Declarative, Componentized, Hardware Support Apps). Il sépare le pilote de ses modules et de son panneau de contrôle, les premiers étant mis à jour via Windows Update, le dernier par le Microsoft Store. Intel a été l'un des premiers à s'y plier pour ses parties graphiques.

Le constructeur travaillant actuellement à la refonte de son Command Center, nous ferons le point séparément sur son évolution dès sa finalisation.

Jusqu'à 1,3 Go pour le fonctionnement d'une carte graphique

Lorsque vous téléchargez un pilote, vous récupérez en réalité une archive compressée contenant tous les modules et outils annexes, même s'ils n'ont pas été récemment mis à jour. Une manière pour les constructeurs de s'assurer que tous les clients disposent de l'ensemble des éléments via un unique fichier.

La première phase de l'installation consiste à décompresser cette archive, à la racine du périphérique de stockage principal de l'utilisateur (C:\AMD ou C:\NVIDIA par exemple). On peut faire de même manuellement, avec un outil comme 7-Zip. On obtient alors :

  • Pour AMD : 278 fichiers dans 51 dossiers pour un total de 788 Mo
  • Pour NVIDIA 1 410 fichiers dans 89 dossiers pour un total de 1,29 Go

Le pilote NVIDIA occupe donc 68 % de place en plus décompressé (contre +75% compressé) que celui d'AMD. Utilisons WinDirStat pour mieux comprendre la répartition des fichiers chez l'un et l'autre.

Radeon Software Adrenalin 2019 : surtout des DLL

Pour AMD, le pilote est contenu dans le répertoire Package, qui occupe 90 % de l'espace. Le reste comprend l'outil d'installation, sa traduction, des visuels et quelques éléments annexes. 

Une fois le pilote audio et les applications annexes retirés, il reste 674 Mo (85 % du total). Le plus gros est l'installeur du panneau de contrôle (145 Mo) suivi par la ribambelle de DLL permettant le support des fonctionnalités de la carte graphique (450 Mo), deux fichiers système (50 Mo) puis le reste (20 Mo) :

Pilotes AMD Radeon Contenu

AMD un outil d'installation minimal presque parfait

Pour faire le ménage, AMD a donc peu de marge de manœuvre, c'est surtout en proposant son panneau de contrôle en option que l'utilisateur pourrait y gagner. Et c'est presque ce que fait la société avec son outil « Auto-Detect and Install » pesant seulement 25 Mo (79 Mo décompressé).

Il permet de vérifier en ligne la dernière version du pilote disponible, WHQL (recommandée) ou Bêta (facultatif), puis de choisir ce que vous voulez installer ou non : pilote, graphique, audio, panneau de contrôle et assistant de signalisation de problèmes. Malheureusement, même si vous ne sélectionnez pas AMD Settings, les 145 Mo liés à cet outil seront téléchargés (mais pas installés). Dommage, c'était presque parfait.

On apprécie d'ailleurs au passage que la société propose dès la première fenêtre d'accepter ou non l'envoi d'informations anonymes (télémétrie), bien que la case soit cochée par défaut.

  • AMD Pilotes Adrenalin 2019 Web Setup
  • AMD Pilotes Adrenalin 2019 Web Setup
  • AMD Pilotes Adrenalin 2019 Web Setup
  • AMD Pilotes Adrenalin 2019 Web Setup

Pilotes 19.3.2 vs 19.3.3 : quelles différences ?

L'autre piste est celle d'une mise à jour différentielle. Pour savoir si elle peut avoir un intérêt, nous avons utilisé l'outil de versionning Git à travers le client GitHub pour Windows.

Il nous permet d'analyser les différences entre deux versions des pilotes d'AMD : les 19.3.2 et 19.3.3. Des versions presque identiques puisque le début du numéro de build passe de 18.50.27.05 à 18.50.27.09. Elles pèsent chacune 327 Mo et comportent le même nombre de fichiers et dossiers. Mais combien ont été mis à jour ? Sur les 140 modifications relevées, 13 concernaient l'outil d'installation, 8 le pilote audio, 4 les outils annexes.

Les 115 restantes concernaient l'un des 142 fichiers du répertoire contenant la majorité des DLL du pilote graphique. Mais à y regarder de plus près, on note que dans près de la moitié des cas, la taille des fichiers est identique à l'octet près. On peut ainsi aisément penser que la différence relevée vient du changement de date.

Dans le reste des cas on a uniquement des écarts 504 octets ou moins. Cela ne signifie pas que les fichiers n'ont pas été retouchés en profondeur, mais c'est un signe. D'ailleurs, lorsque l'on analyse la différence du contenu en binaire (via WinMerge), on ne constate en général que quelques écarts au début ou à la fin du fichier.

Finalement, trois éléments ont été largement retravaillés : atidxx32.dll et atidxx64.dll (DirectX), et l'outil d'installation du panneau de contrôle ccc2_install.exe. On imagine donc qu'une mise à jour différentielle pourrait réduire largement la taille du paquet à télécharger.

AMD Pilotes 19.3 Git

Mise à jour du pilote : un patch de 30 Mo pourrait suffire

Une hypothèse aisément vérifiable avec Git. L'outil peut en effet analyser les différences entre les deux versions d'un pilote et générer un patch permettant de passer de l'un à l'autre :

git format-patch -1 hash_du_dernier_commit --stdout > diff.patch

Le résultat obtenu pèse 331 Mo, soit 42 % de la taille du pilote seulement (cela ne s'invente pas). Une fois compressé, on arrive à 269 Mo. Si on se limite au répertoire Package contenant l'ensemble des pilotes, en supprimant l'installeur du panneau de contrôle, on obtient un patch d'à peine 29,2 Mo sur 565 Mo de données (5,2 %).

Autant dire que cette méthode de mise à jour serait bien plus efficace si elle était mise en place par AMD.

NVIDIA : le modulaire, sans les avantages

Passons à NVIDIA et son pilote de 560 Mo. Ici, on note une première différence, appréciable : tout est organisé sous la forme de modules. Certains sont exigés à l'installation, d'autres facultatifs. Le tout est décrit dans le fichier setup.cfg présent à la racine, qui peut être modifié, même si cela n'a guère d'intérêt.

N'espérez aucun dispositif d'installation allégé profitant de cette modularité : ce n'est pas le genre de la maison. Le constructeur a seulement décidé récemment d'être grand seigneur, proposant de faire l'impasse sur GeForce Experience (nous y reviendrons), seulement à l'installation.

Un outil critiqué à de multiples reprises, notamment parce qu'il nécessite une connexion à internet active et à un compte NVIDIA pour fonctionner. Ce, alors que la plupart de ses fonctionnalités n'ont rien à voir avec un dispositif social ou un accès en ligne. Mais il permet au constructeur d'avoir des statistiques précises des usages.

Comme on peut le voir dans la capture ci-dessous, le pilote graphique lui-même n'occupe que 434 Mo (32,9 %), d'autres éléments occupant 40 Mo ou plus : PhysX (207 Mo), GeForce Experience (205 Mo), son serveur de streaming vidéo (111 Mo), NVCamera/Ansel (83 Mo), nodeJS (4 Mo) et ShadowPlay (43 Mo) :

Pilotes NVIDIA GeForce Contenu

Mais on en compte une vingtaine d'autres, qui pèsent au total un peu moins de 200 Mo. Ils concernent le système de mise à jour, Optimus, NView, 3DVision, le pilote audio/USB, celui de la manette sans fil de la console SHIELD TV, l'outil de rapport en cas de problème, la télémétrie, etc.

Tant d'éléments dont certains n'ont que faire. La marge de progression est donc bien plus importante que chez AMD et l'on apprécierait que NVIDIA tire enfin profit de l'aspect modulaire de ses pilotes avec, comme chez la concurrence, un outil d'installation minimal qui laisserait le choix des éléments à télécharger.

C'est en partie ce que propose NVCleanstall de W1zzard (TechPowerUp) :

Pilotes 419.34 vs 419.67 : quelles différences ?

Ici aussi nous avons conduit une analyse différentielle entre les pilotes 419.35 et les 419.67 (Game Ready). On y passe de 1 408 fichiers à 1 410 fichiers, organisés en 89 dossiers. La différence vient de l'apparition de nvspapix.dll et nvspapix64.dll liés à ShadowPlay, sans que l'on sache exactement ce qu'ils apportent. 

D'une version à l'autre, un peu plus d'un tiers des fichiers (583) ont été modifiés, dont 142 pour le seul pilote (sur 146). Comme pour AMD, on trouve des cas (une minorité) où seule la date semble avoir été modifiée, la taille étant identique à l'octet près. Entre les deux pilotes, NVIDIA a en effet mis à jour NGX, Optimus ou encore GeForce Experience (3.18). Ansel n'y est plus considéré comme une fonctionnalité expérimentale :

NVIDIA Pilotes 419 Git

Dans la pratique, quelle quantité de données ont été modifiées ? Une analyse via Git n'a cette fois donné aucun résultat concluant puisque le patch généré pour le pack complet pesait 0,98 Go sur 1,29 Go. C'était encore pire pour le pilote seul, le patch pesant presque le double des données à mettre à jour : 820 Mo sur 433 Mo. 

Mais comme pour AMD, il y a sans doute mieux à faire que de télécharger à chaque nouvelle version un bloc de 560 Mo, surtout lorsque certains éléments ne sont pas modifiés. Si NVIDIA se donnait la peine d'intégrer un dispositif de mise à jour plus intelligent à ses pilotes, les clients récupérèraient moins de données. Un point d'autant plus important que les publications sont rapprochées.

La télémétrie n'est pas liée qu'à GeForce Experience

Concernant la liberté de choix à l'installation, elle a des limites, notamment pour la télémétrie. Malgré le RGPD actif depuis le 25 mai 2018, on ne peut pas la refuser, à l'installation ou après. On pourrait penser qu'il suffit de faire l'impasse sur GeForce Experience, mais non.

Pourtant, le choix de son installation est accompagné du message suivant :

« GeForce Experience utilise des données pour configurer votre carte graphique et vos paramètres d'application dans le but de vous offrir un confort optimal pour jouer et créer du contenu. Nous devons connaître les composants de votre PC, vos logiciels liés aux jeux et à la création de contenu (y compris leurs paramètres, leur utilisation et leurs performances), l'utilisation des fonctionnalités de GeForce Experience et votre emplacement géographique. 

Ces données nous permettent de configurer vos paramètres d'application, de vous fournir des mises à jour logicielles, de vous offrir de nouvelles fonctionnalités (telles que des outils pour enregistrer et diffuser vos parties) et de vous donner des codes cadeau pour obtenir des jeux gratuitement.

Notre politique de confidentialité détaille les données collectées, la raison de leur collecte et ce que nous en faisons. Nous ne vendons pas vos données. »

En cas de refus, l'outil de télémétrie est tout de même installé et lancé sur la machine. Demander l'installation du pilote seul ne suffit pas.

Il faut d'ailleurs que ces deux éléments soient retirés du système pour qu'elle ne soit plus active. Le constructeur se moque d'ailleurs un peu du monde puisque les fonctionnalités évoquées ne nécessitent pas de faire remonter des informations aux serveurs de NVIDIA. De plus, lier une collecte de données non essentielles à une fonctionnalité est contraire à l'esprit de la loi européenne.

Dès lors, on devrait pouvoir utiliser GeForce Experience sans installer la télémétrie. Elle devrait être proposée comme une option à activer, le consentement devant être explicite, exprimé par une action claire de l'utilisateur. À la place, on a seulement un paramètre sur le site de NVIDIA, via un simple raccourci fourni par GFE. Une intégration à minima, preuve mauvaise volonté.

Seule solution, opter pour NVCleanstall pour le moment.

Comment désinstaller ses pilotes graphiques ?

Retirer un pilote graphique n'est pas toujours aisé. AMD et NVIDIA proposent donc une procédure d'installation « propre »,  qui supprime toute ancienne version des pilotes avant de commencer.

AMD propose de base une désinstallation simple, le gestionnaire d'applications de Windows. On peut aussi opter pour une désinstallation simple ou complète en lançant l'outil d'installation sur une machine où un pilote est déjà en place. En complément, un outil de nettoyage AMDCleanupUtility.exe se trouve dans le répertoire Bin64 du pilote décompressé. Il supprime d'un coup tous ceux liés à AMD. 

Ce n'est pas le cas chez NVIDIA. Le père des GeForce fait là encore office de mauvais élève puisqu'outre le pilote graphique, il faut désinstaller séparément les éléments annexes tels que GeForce Experience, PhysX ou le pilote audio. Aucun outil de nettoyage n'est proposé.

Pilotes cachés Windows 10

D'ailleurs, sous Windows le système a tendance à garder de côté d'anciennes versions des pilotes sous le coude. Pour le vérifier, il suffit de cliquer sur Affichage > Afficher les périphériques cachés dans le Gestionnaire de périphériques. Pour faire le ménage, utiliser un outil comme DriverStore Explorer (open source) peut être nécessaire. Dans le cas des pilotes graphiques, vous pouvez également utiliser Display Driver Uninstaller (DDU).

Ce contenu est désormais en accès libre

Il a été produit grâce à nos abonnés, l'abonnement finance le travail de notre équipe de journalistes.

ou choisissez l'une de nos offres d'abonnement :

16 commentaires
Avatar de Aristide Rutilant Abonné
Avatar de Aristide RutilantAristide Rutilant- 27/03/19 à 18:09:49

Ça m'intéresserait aussi d'avoir quelques détails concernant la gestion du Driver Store et les stocks de vieux pilotes "de secours" qui sont apparemment conservés dans le répertoire C:\Programmes\Nvidia Corporation\installer2. En réinitialisant mon ordinateur (merci d'ailleurs pour les articles sur les mille et unes façons de repartir de plus ou moins zéro), j'ai vu que Windows avait conservé le contenu du Driver Store avec 4 ou 5 versions du driver Nvidia (plus une tonne de vieilleries remontant à 2009, date du précédent "départ à zéro"). À 500 Mo pièce, ça finit par chiffrer, tant bien même j'ai un peu de marge sur le disque système.

Avatar de ForceRouge Abonné
Avatar de ForceRougeForceRouge- 27/03/19 à 20:40:26

Super intéressant! sacré boulot d'analyse :) Merci!

Avatar de hwti Abonné
Avatar de hwtihwti- 27/03/19 à 22:25:39

Le "git format-patch", ça fait vite des diffs énormes sur du binaire.

Il existe des outils adaptés, mais soit il faut connaître la version déjà intallée (ce qui est difficilement compatible avec des installations manuelles, et nécessite une solution de repli automatique) :

  • mises à jour incrémentales sur Google Play
  • deltarpm sur Fedora/RHEL
  • OTA Android
  • ... Soit il faut être connecté pour comparer les fichiers locaux avec les distants et télécharger les différences (rsync).
Avatar de Sandeman Abonné
Avatar de SandemanSandeman- 28/03/19 à 07:05:16

les oubliés du haut-débits ... j'ai même pire. Une mise à jour de drivers dans un pays d'Afrique Centrale où tu paies ta connexion Internet au volume. J'avais prévu pour les gros éléments du système (GPU, etc.), mais pas pour l'imprimante (je n'avais pas la marque avant d'arriver). 320Mo de drivers chez HP... Avec la connexion lente et pas trop stable ça m'est revenu à presque 15€. Quand tu connais le pouvoir d'achat là-bas, c'est pas une paille. Mais je digresse.

Pour revenu au sujet, certes vous allez dire "oui mais c'est pas pareil", mais regardons la taille des drivers Linux : Nvidia : 102 Mo ( https://www.nvidia.fr/Download/driverResults.aspx/145273/fr ) AMD : <=130 Mo (https://www.amd.com/fr/support/graphics/radeon-rx-vega-series/radeon-rx-vega-series/radeon-rx-vega-64)

Voilà voilà...

Avatar de Perfect Slayer Abonné
Avatar de Perfect SlayerPerfect Slayer- 28/03/19 à 07:32:53

Toujours pas de solution viable pour bloquer la télémétrie de Nvidia ? Il y avait un outil open source donné sur le site mais son blocage empêche GeForce expérience de se lancer...

Avatar de bast73 Abonné
Avatar de bast73bast73- 28/03/19 à 07:55:02

Je me suis toujours demandé l'intérêt de tous ces trucs en plus qui sont installé. Je pensais naïvement que vu c'était là, c'était nécessaire. En fait non ? Je comprends l'intérêt de Geforce Experience ... Mais le reste ? A quoi servent-il ? Si je ne les installent pas, que se passe-t-il ?

Les pilotes de carte graphique, c'est vraiment le genre de truc ou je ne lis pas trop et j'installe presque tout ce qui est écrit.

Avatar de David_L Équipe
Avatar de David_LDavid_L- 28/03/19 à 08:54:47

(quote:40677:Perfect Slayer) ...

Si, c'est même écrit dans l'article, mais vouloir GFE (nécessitant un compte) sans vouloir être "surveillé" par NVIDIA d'une manière ou d'une autre, c'est pour le moment impossible.

(quote:40678:bast73) ...

Le besoin dépend des usages. On peut très bien s'en sortir sans Ansel (NVCamera), PhysX, 3DVision, etc. Après l'outil de vérification de mise à jour c'est autre chose, idem pour GFE qui propose par exemple l'optimisation des jeux (mais il faut être connecté), idem pour ShadowPlay.

Avatar de Baptitou Abonné
Avatar de BaptitouBaptitou- 28/03/19 à 10:02:20

Merci beaucoup pour cette analyse. Je ne connaissais pas Nvcleaninstall, je vais me faire plaisir!

Édité par Baptitou le 28/03/2019 à 10:03
Avatar de Gilbert_Gosseyn Abonné
Avatar de Gilbert_GosseynGilbert_Gosseyn- 28/03/19 à 10:27:15

Voila qui confirme (pour la télémétrie) l'article de CPCHardware ...

Avatar de DayWalker Abonné
Avatar de DayWalkerDayWalker- 28/03/19 à 14:16:27

Intéressant.

En plus des "oubliés de la fibre" qui doivent prendre leur mal en patience, il y a des arguments écologiques, voire économiques à implémenter une mise à jour différentielle :

  • moins de basse passante chez les clients, c'est aussi moins de bande passante chez le fournisseur de pilotes (donc infrastructure moins conséquente ? moins chère ? moins énergivore ?)
  • moins de bande passante, c'est moins d'informations transportés, et donc de la consommation énergétique inutile (serveurs, routeurs... etc)
Il n'est plus possible de commenter cette actualité.
Page 1 / 2

Votre commentaire

Avatar de lecteur anonyme
Avatar de lecteur anonyme

2000 - 2019 INpact MediaGroup - SARL de presse, membre du SPIIL. N° de CPPAP 0321 Z 92244.

Marque déposée. Tous droits réservés. Mentions légales et contact