Contenu | Rechercher | Menus

NVIDIA

Cartes graphiques NVIDIA

Comme tout périphérique, une carte graphique a besoin de pilotes pour fonctionner. Il existe un pilote libre et un pilote propriétaire pour les cartes graphiques NVIDIA.

ATTENTION : Si votre ordinateur dispose de la technologie Optimus, il n'est pas recommandé d'installer le pilote propriétaire Nvidia fourni dans les dépôts Ubuntu (ou ailleurs). Allez sur la page du projet Bumblebee, qui vous permettra d'utiliser correctement l'accélération 3D. Il vous est également possible de désactiver la technologie Optimus dans votre BIOS, et dans ce cas vous pourrez utiliser les drivers ci-dessous (attention toutefois à vérifier quelle carte graphique est active).

Identifier sa carte graphique

Avant de continuer plus loin, il peut être intéressant de connaître sa carte graphique. Pour cela, voir identifier sa carte graphique.

Pilote libre

Le pilote libre, du nom de nouveau, (pour le différencier de l'ancien :-) ) est utilisé par défaut sur Ubuntu.
L'utilisation de ce pilote est recommandée par la communauté des logiciels libres. Ils sont par nature mieux intégrés à Ubuntu que les pilotes propriétaires, mais il peut y avoir des lacunes dues aux délais de développement et aux spécifications non publiées par NVIDIA.
Cela dit ; grâce à l'avancée dans le développement de ce pilote, l'accélération matérielle et la 3D seraient sur le point de rattraper les performances du pilote propriétaire. Information à prendre avec réserve, puisque ce n'est pour le moment que le cas sur certains tests, sur certaines cartes graphiques.
(Sources des tests : Phoronix)

À noter, si la version du pilote libre ne convenait pas (cas d'une carte récente pas encore prise en charge), il est possible d'obtenir une version plus récente développée par la Fondation Xorg à l'aide du PPA proposé au chapitre d'installation du pilote propriétaire.

Installation du pilote propriétaire

Pré-requis

Si vous disposez d'une version précédente du pilote propriétaire, vous devez le désinstaller avant de commencer.

Via les dépôts Ubuntu

Cette méthode est vivement recommandée pour l'installation du pilote propriétaire. C'est la méthode la plus simple qui utilise des pilotes spécialement empaquetés et testés pour Ubuntu et dont les mises à jour seront proposées automatiquement.

La version du pilote propriétaire des dépôts Ubuntu peut ne pas prendre correctement en charge votre carte graphique NVIDIA. Vous pouvez alors installer depuis un PPA une version plus récente développée par X.org fonctionnant avec GNU/Linux (Voir la procédure au chapitre via un PPA) ou encore si cela ne convenait toujours pas, installer le tout dernier pilote depuis le site officiel. (Voir la procédure au chapitre via le site officiel).

Pour installer le pilote NVIDIA propriétaire, il est vivement recommandé d'utiliser le gestionnaire de pilotes propriétaires.
Une fois lancé, plusieurs choix de versions peuvent être disponibles.

  • Si aucun choix n'est disponible, c'est que la version du pilote NVIDIA des dépôts n'est pas ou n'est plus compatible avec votre carte. Ne tentez pas alors d'installer le pilote à l'aide d'un autre gestionnaire de paquets. Si vraiment le pilote libre en place ne vous satisfait pas, essayez plutôt une mise à jour Via un PPA ou une installation via le site officiel.
  • Si la liste est toujours vide après la mise à jour des dépôts ou si vous ne voyez pas apparaître le pilote souhaité, ou bien si l'installation via le gestionnaire plante, installez le paquet nvidia-common et rafraîchissez la liste des paquets.

Retournez ensuite dans le gestionnaire de pilotes propriétaires. Normalement, le pilote doit apparaître.

Gestionnaire de pilotes propriétaire Nvidia

  1. Choisir le pilote propriétaire désiré;
  2. "Appliquer les changements" (ou "activez" sur l'ancienne version du gestionnaire)
  3. Fermer le gestionnaire;
  4. Redémarrer votre ordinateur.

Parfois après l'activation du pilote et le redémarrage, l'utilitaire affiche :"Ce pilote est activé mais n'est pas actuellement utilisé." En fait il marche très bien, le bureau Unity s'active normalement.

Via un PPA

(Ce PPA fonctionne aussi pour le pilote libre "nouveau".)

L'installation des paquets hors des dépôts officiels peut rendre instable votre système

Une mise à jour vers des versions plus récentes des pilotes NVIDIA installés est disponible depuis un PPA maintenu par la Fondation X.Org .
À noter: Ce dernier est destiné à être utilisé comme un tout. N'installez pas de paquets individuellement mais ajouter seulement ce PPA à vos sources de logiciels et laissez votre gestionnaire de paquets faire la mise à jour. (Informations complémentaires disponibles sur la page launchpad du PPA. (en).

Pour mettre à jour votre pilote Nvidia vers la dernière version disponible proposée par la Fondation X.Org:

  1. Ajoutez le PPA xorg-edgers/ppa1) à vos sources de logiciels;

Ou depuis un terminal en saisissant les commandes suivantes:

sudo add-apt-repository ppa:xorg-edgers/ppa 
sudo apt-get update && sudo apt-get upgrade 

Une fois terminé, pour prendre en compte les nouvelles versions, redémarrez votre ordinateur.

Via le site officiel

Si l'installation du pilote propriétaire puis sa mise à jour via le PPA ci-dessous ne vous convient pas ou si vous avez besoin de la toute dernière version pour faire fonctionner correctement votre carte graphique (carte très récente ou un peu ancienne), il est possible d'utiliser la toute dernière version du pilote disponible depuis le site officiel Nvidia.

L'installation de la version du pilote via le site officiel NVIDIA est déconseillée car il n'a pas été empaqueté ni adapté pour Ubuntu et peut rendre instable votre système.
De plus, contrairement à une installation via les dépôts, le module du pilote ainsi installé ne sera pas chargé dynamiquement. C'est à dire qu'à chaque mise à jour du noyau Linux vous devrez le ré-installer.

  1. Si un pilote propriétaire est utilisé, désinstallez-le.
  2. Télécharger le pilote disponible sur cette page en mode manuel.

Puis dans un terminal à l'aide des commandes suivantes

  1. Déplacez-vous dans le dossier du téléchargement (exemple pour le dossier "Téléchargements"):
    cd Téléchargements
  2. Rendre ce fichier exécutable
    chmod +x NVIDIA-linux*
  3. Exécuter l'installateur
    sudo ./NVIDIA-linux*
  4. Suivre les instructions;
  5. Redémarrez votre ordinateur pour qu'il puisse prendre en compte le nouveau pilote.

(Une fois l'installation terminée, conservez le fichier téléchargé, il vous sera utile pour le réinstaller en cas de mise à jour du noyau linux ).
Il ne vous reste plus qu'à configurer votre carte.

Changement de version du noyau Linux

Une fois la mise à jour du noyau faite et AVANT le redémarrage de l’ordinateur, désinstallez le pilote puis ré-installez-le suivant la méthode décrite ci-dessus. Vous pouvez alors redémarrer.
Si par inadvertance vous avez redémarré votre ordinateur avant cela, aucun module de pilote vidéo ne sera chargé dans le nouveau noyau. Vous vous retrouverez alors devant un écran noir. Pas de panique, il suffit simplement de:

  1. Redémarrer sur l'ancien noyau en choisissant celui-ci depuis le Grub, puis de
  2. Désinstaller et ré-installer le pilote.

Configuration

Nvidia-settings

Nvidia-settings est un outil pour configurer les pilotes NVIDIA sous Linux. Il est normalement installé par défaut avec le pilote propriétaire. Si ce n'était pas le cas, il suffit d'installer le paquet nvidia-settings

Il permet entre autre de :

  • Changer la résolution et la fréquence de l'écran ;
  • Configurer plusieurs écrans (en clone ou en twinview) ;
  • Changer la luminosité, le contraste, le gamma ;
  • Activer la synchronisation verticale ;
  • Modifier le niveau d'anticrénelage ou d'anisotropie ;
  • Connaître la température de la carte graphique ;

nvidia-settings

  • Lancer l'application depuis le tableau de bord d'Unity avec le mot clé "NVIDIA".
  • Ou dans un terminal, saisir la commande suivante:
    nvidia-settings

    ou en mode administrateur (Certains changements ne sont possibles que dans ce mode):

    sudo nvidia-settings

Options principales

Certaines options peuvent n'avoir aucun effet sur certaines anciennes cartes (qui ne supportent pas le filtrage par exemple).

Ces options seront prises en compte au prochain démarrage de l'application 3D.

Synchronisation verticale

Dans OpenGL settings, il est conseillé d'activer la case Sync to VBlank, qui permet de synchroniser l'affichage avec la fréquence verticale de l'écran.

Cela a deux effets bénéfiques :

  • Si l'écran est à 60 Hz, pas besoin de dessiner 1300 images par seconde et faire tourner les ventilateurs à fond, 60 suffisent ;
  • Sans cette option, il arrive que l'écran dessine réellement l'image alors que la carte graphique est en train d'écrire une nouvelle image, ce qui provoque des effets de « déchirement » :

Effet de déchirement

Cependant, activer cette option ne résout pas TOUS les problèmes de déchirement. Regardez ici si les déchirements persistent.

Anticrénelage

L'anticrénelage permet de réduire les effets « escalier » sur les contours des objets 3D.

Voici la différence de rendu avec et sans anticrénelage (à gauche, l'anticrénelage est désactivé, à droite, il est activé au maximum) :

Anticrénelage désactivé Anticrénelage activé

Pour l'activer, dans Antialiasing Settings, il suffit de sélectionner "Override Application Settings" (pour ne pas laisser le choix à l'application qui utilise de la 3D), et de régler la puissance du filtre.

Malgré le rendu assurément meilleur, il n'est pas conseillé d'activer cette option :

  • cela provoque des problèmes de clignotement d'ombres assez désagréables dans compiz (voir le rapport de bogue) ;
  • les performances en souffrent énormément.
Anisotropie

Le filtrage anisotrope permet de réduire les effets « escalier » à l'intérieur des fenêtres (sur les textures). Son effet est d'autant plus visible que l'on regarde l'objet 3D (une fenêtre sur une face du cube par exemple) avec un angle proche de 90°.

Voici la différence de rendu avec et sans filtrage anisotrope (à gauche, l'anisotropie est désactivée, à droite, elle est activée au maximum) :

Anisotropie désactivée Anisotropie activée

Pour l'activer, dans Antialiasing Settings, il suffit de régler la puissance du filtre.

Pour obtenir un meilleur rendu, il est conseillé de l'activer, d'autant plus qu'elle consomme beaucoup moins de ressources que l'anticrénelage.

Paramètres NVIDIA pour Xorg

Il est possible d'effectuer certains réglages du pilote NVIDIA directement dans le fichier /etc/X11/xorg.conf.

Une page de documentation est consacrée à ce fichier : Xorg.

La moindre erreur dans le fichier xorg.conf pourrait empêcher votre système de démarrer graphiquement. Avant toute installation ou manipulation, effectuez une sauvegarde du fichier xorg.conf.

Modification de la configuration

Éditez le fichier /etc/X11/xorg.conf avec les droits d'administration, repérez la section concernant les pilotes NVIDIA :

Section "Device"
    Identifier  "Configured Video Device"
    Driver      "nvidia"
    Option      "NoLogo" "true"
EndSection

Chaque option se présente sous la forme :

    Option      "NomDeLOption" "valeur"

Il suffit de rajouter une ligne par option dans la Section correspondant aux pilotes NVIDIA.

Pour que les modifications soient prises en compte, il faut redémarrer le serveur X.

Options principales

AllowSHMPixmaps
    Option      "AllowSHMPixmaps" "boolean"

Cette option indique si les applications peuvent allouer des pixmaps en mémoire partagée. Il est recommandé de désactiver cette option (valeur 0), car elle empêche le pilote NVidia d'accelérer de manière optimale les opérations de rendu impliquant des pixmaps.

PixmapCacheSize
    Option      "PixmapCacheSize" "integer"

Cette option réserve une partie de la mémoire de la carte graphique pour allouer rapidement de la mémoire et améliorer les performances des logiciels qui utilisent intensément les pixmaps. Utiliser une valeur de 1000000 ou supérieure améliore les opérations telles que le redimensionnement des fenêtres sous compiz ou kde4.

RandRRotation
   Option "RandRRotation" "boolean"

Cette option permet d'utiliser xrandr pour pouvoir faire tourner l'écran (mode portrait, inversé etc.).

Documentation complète

Une documentation détaillée sur le site de NVIDIA, en anglais, présente toutes les options disponibles : les options des pilotes NVIDIA 177.80, les options des pilotes NVIDIA 96.43.13, …

Utilisation

Optimisations

Ces modifications peuvent affecter la stabilité du système. De plus, certaines personnes ont rapporté qu'au lieu d'améliorer les performances, certaines options les dégradaient. Utilisez à vos risques et périls.

Pour améliorer les performances des pilotes 177, certaines optimisations sont préconisées sur le forum NVIDIA.

Pour résumer, ajoutez dans la section consacrée aux pilotes NVIDIA de « /etc/X11/xorg.conf » les lignes :

    Option      "PixmapCacheSize" "1000000"
    Option      "AllowSHMPixmaps" "0"

(pour plus d'informations sur la manière de procéder, voir ici)

Puis dans ~/.gnomerc, rajoutez :

nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1

(nvidia-settings doit être installé)

Ces optimisations, utilisées conjointement avec compiz (ou avec kwin pour KDE4), entraîneront l'affichage d'un contenu aléatoire dans les fenêtres en cours de création plutôt qu'un contenu noir. NVIDIA est au courant de ce problème non-critique et a prévu de le résoudre dans une future version des pilotes.

Rotation de l'écran

Le choix se fait simplement dans les paramètres de résolution de l'écran (Paramètres Système → Affichage) en sélectionnant une option de rotation.

Connaître la version des pilotes

Dans nvidia-settings

Dans la page X Server Information de nvidia-settings, la version des pilotes est affichée dans NVIDIA Driver Version.

En ligne de commande

  1. Puis dans un terminal, tapez la commande suivante:
    glxinfo | grep OpenGL

    Voici un exemple de résultat :

    $ glxinfo | grep OpenGL
    OpenGL vendor string: NVIDIA Corporation
    OpenGL renderer string: GeForce 8600M GS/PCI/SSE2
    OpenGL version string: 2.1.2 NVIDIA 177.80
    OpenGL shading language version string: 1.20 NVIDIA via Cg compiler
    OpenGL extensions:

Accélération matérielle du décodage des vidéos (VDPAU/VAAPI)

Vous pouvez améliorer le rendu de certaines vidéos avec le pilote propriétaire, grâce à l’accélération vidéo API, voir la page vaapi.

Overclock

Overclocker sa carte graphique la rend plus performante mais l'a fait également plus chauffer (risque de destruction) et peut la rendre instable (crash du système). Il est donc fortement conseillé d'augmenter par petit seuil les fréquences tout en surveillant la température du GPU.

Pour les cartes graphiques antérieures à la série 400

Depuis la sortie des pilotes 1.0-7664, Nvidia a intégré l'overcloking coolbits qui permet ainsi de modifier dans nvidia-setting la fréquence de la ram et du cpu. Pour l'activer rendez-vous dans le fichier xorg.conf, allez dans la partie Section "Device" et ajoutez

Option "Coolbits" "1"

Vous obtenez ainsi :

 Section "Device" 
      Identifier        "Device0"  
      Driver            "nvidia"
      VendorName        "NVIDIA Corporation"
      Option            "Coolbits"   "1"
 End Section                      

Sauvegardez et redémarrez le serveur X et vous trouverez une nouvelle option dans nvidia-setting.

Pour les cartes graphiques à partir de la série 400

Depuis la sortie des pilotes 337, l'option pour l'overcloking est de nouveau disponible pour les cartes 400 à 700 mais le numéro n'est plus "1" mais "8".

Le pilote propriétaire proposé actuellement (août 2014) par défaut par Ubuntu est le 331. Ainsi pour pouvoir overclocker votre carte il est nécessaire d'installer le pilote 337 ou supérieur. Pour cela se référer à la page traitant de l'installation des pilotes disponibles sur le site nvidia.

Suivez la procédure ci-dessus, en mettant "8" à la place de "1". Dans NVIDIA X Server Setting, section PowerMizer, une nouvelle option est apparue "Editable Performance Levels". Cette option permet d'overclocker votre carte graphique mais également de l'underclocker.

Sauvegarde des paramètres overclock

Après un redémarrage de la session, les paramètres d'overclocking sont perdus car nvidia-settings ne les sauvegarde pas.

Le fait que nvidia-setting ne sauvegarde pas les paramètres d'overcloking peut être vu comme un avantage. En effet overcloker sa carte peut la rendre instable et peut faire crasher le système. Comme les paramètres ne sont pas sauvegardés, après un crash, au redémarrage de la machine la carte se mettra aux paramètres originaux. Sauvegarder les paramètres overclock ne doit donc être fait que lorsque l'on s'est correctement assuré que ses paramètres sont fonctionnels.

  • Une méthode qui permet de parer à ce problème est l'utilisation de "Nvclock" mais il n'est plus maintenu depuis 2009 et il n’accepte donc pas les nouvelles cartes graphiques NVIDIA.
  • L'autre méthode est d'utiliser nvidia-setting en ligne de commande et donc de modifier le script de démarrage "NVIDIA X Server Settings" (configuré dans "Préférences des applications au démarrage" d'Ubuntu):
sh -c '/usr/bin/nvidia-settings --load-config-only ; \
/usr/bin/nvidia-settings --assign GPUOverclockingState=1 &>/dev/null ; \
/usr/bin/nvidia-settings --assign GPU3DClockFreqs=600,522 &>/dev/null ; \
/usr/bin/nvidia-settings --assign [gpu:0]/GPUPowerMizerMode=1 &>/dev/null'

Ceci va activer l'overclocking, définir une fréquence à 600MHz GPU, 522MHz Mémoire et activer le PowerMize à "Performance maximum".

Il existe aussi une autre méthode (valable seulement sous Gnome), elle consiste à mettre en place votre commande dans ~/.xsession:

 nano ~/.xsession

Ensuite (Veuillez bien mettre les deux commandes sur deux lignes) :

nvidia-settings -a GPUOverclockingState=1 -a GPU2DClockFreqs=169,100 -a GPU3DClockFreqs=350,301
exec gnome-session

Ensuite faites ctrl+x touche o touche entrée.

La commande nvidia-settings aura pour but de définir son GPU2D à une fréquence de 169 MHz, avec une mémoire de 100MHz, et définir son GPU3D à une fréquence de 350MHz avec une mémoire de 301Mhz.

Forcer le 96/120/144hz sur des moniteurs compatibles (pixel clocking)

Certains moniteurs aux très bonnes caractéristiques (dalle 27" PLS MAT 8ms - 2560x1440P) disponibles par l'import à faible coût, tels que le Qnix QX2710 et le X-Star DP2710, proposent par défaut à la carte graphique un EDID 60hz, alors que les dalles peuvent être facilement overclockées logiciellement en 96hz, voir en 120hz et 144hz si vous êtes chanceux.

Vous pourrez trouver quelques explications sur le sujet et un xorg tout propre sur cette page du wiki.

Désinstallation des pilotes propriétaires

Méthode graphique

Pour désinstaller le pilote propriétaire:

  1. Choisir le pilote libre "Serveur XX.Org";
  2. "Appliquer les changements" (ou "activez" sur l'ancienne version du gestionnaire)
  3. Fermer le gestionnaire;
  4. Redémarrer votre ordinateur.

En ligne de commande

Cette méthode via un terminal peut être utilisée si vous n’arrivez pas à désinstaller les pilotes avec la méthode graphique ou que vous souhaitez repartir avec une nouvelle configuration.

  1. Dans un premier temps, il faut relever le PID du processus "nvidia-persitenced" puis le tuer afin de pouvoir désinstaller le paquet. Au 1er décembre 2014, apt-get était incapable de tuer le bon processus et refusait de désinstaller le pilote propriétaire.
    Pour connaître le PID du processus
    ps -ef | grep nvidia

    puis pour le tuer

    sudo kill le PID relevé
  2. Ensuite, on supprime les paquets commençant par nvidia,
    sudo apt-get purge nvidia-*

    puis on enlève les paquets qui ont été installés en même temps : typiquement les librairies CUDA. Attention, la commande "autoremove" peut supprimer d’autre paquets. Il peut être judicieux de vérifier avant d’enlever les paquets nvidia, de vérifier qu’il n’y a pas d’autres paquets qui peuvent être désinstallés.

    sudo apt-get autoremove
  3. Ensuite on installe le pilote libre nouveau pour obtenir un affichage au prochain démarrage et ne pas se retrouver en mode console.
    sudo apt-get install xserver-xorg-video-nouveau
  4. Rechercher si nvidia-setting n’a pas mis des fichiers de configuration dans le dossier /etc/X11 et les supprimer.
  5. Puis on redémarre le serveur X ou l’ordinateur pour valider la nouvelle configuration.

Problèmes connus

Reportez-vous à la page des problèmes liés aux cartes Nvidia.

Voir aussi


Contributeurs : Les contributeurs d'Ubuntu-fr, claudiux, L'Africain, Cafecho.



Le contenu de ce wiki est sous licence : CC BY-SA v3.0