Ceci est une ancienne révision du document !
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.
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.
Installer les derniers pilotes libres
Ajoutez le ppa xorg-edgers/ppa à vos sources de logiciels:
sudo add-apt-repository ppa:xorg-edgers/ppa
N'installez pas de paquets uns par uns, effectuez une mise à jour et laissez apt mettre à jour tous vos drivers graphiques. Et lisez leur note en Anglais avant tout.
Installation du pilote propriétaire
Via les dépôts Ubuntu
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 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.
Si la liste des choix est toujours vide après ces manipulations, parlez-en dans la section « Serveurs graphiques et cartes vidéo » du forum.
- Choisir le pilote propriétaire désiré;
- "Appliquer les changements" (ou "activez" sur l'ancienne version du gestionnaire)
- Fermer le gestionnaire;
- Redémarrer votre ordinateur.
Via un PPA
Des versions plus récentes des pilotes stables pour les cartes graphiques Nvidia proposés par la fondation X.org sont disponibles depuis un PPA.
(Ce PPA fonctionne aussi pour le pilote libre "nouveau".)
Pour mettre à jour votre pilote:
- Ajouter le PPA ppa:ubuntu-x-swat/x-updates1) dans vos sources de logiciels;
Ou dans un terminal en saisissant les commandes suivantes:
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates sudo apt-get update && sudo apt-get upgrade
Une fois terminé, pour prendre ne compte les nouvelles versions, redémarrer votre ordinateur.
Via le site officiel
Dans le cas où votre carte est très récente ou un peu ancienne, le pilote propriétaire des dépôts Ubuntu et celui du PPA peuvent ne pas convenir. Vous aurez alors besoin d'installer le pilote adapté proposé sur le site officiel NVIDIA.
L'installation "en créant un paquet .deb" proposée ci-dessous permet de charger dynamiquement le module du pilote pour ne plus avoir à le recompiler à chaque mise à jour du noyau Linux.
Pour cela il est nécessaire d'installer les dépendances permettant de créer les fichiers .deb: dkms debhelper dh-modaliases execstack build-essential
(Pour Précise 12.04: dkms debhelper dh-modaliases execstack build-essential cdbs fakeroot dh-make debconf libstdc++5 linux-headers-$(uname -r))
Le piloteNvidia™ pour votre carte est disponible sur cette page. Une fois sélectionné selon votre carte graphique,
- Dans votre dossier personnel, créez un nouveau dossier nommé nvidia
- Mettez-y le fichier .run téléchargé.
Puis dans un terminal à l'aide des commandes suivantes (certaines peuvent prendre du temps, soyez patient.):
- Déplacez-vous dans votre dossier créé ou décompressé:
cd nvidia
- Générez les paquets (soyez patient, cela peut prendre du temps):
sudo sh ./NVIDIA-Linux-* --buildpkg
- Vous les installerez ensuite par:
sudo dpkg -i *.deb
- Redémarrez votre ordinateur pour qu'il puisse prendre en compte le nouveau pilote.
(Une fois l'installation terminée, le fichier téléchargé ainsi que le dossier "nvidia" créé n'ont plus d'utilité. Vous pouvez les supprimer).
Il ne vous reste plus qu'à configurer votre carte.
Mise à jour
Si une nouvelle version est disponible sur le site pour votre carte et que vous souhaitez l'utiliser il suffit de:
- Si ce n'est pas déjà fait, avoir supprimé le dossier des anciens pilotes;
- Désinstaller l'ancienne version;
- Installer le nouveau pilote selon la procédure du chapitre ci-dessus.
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 ;
Lancez l'application depuis le tableau de bord d'Unity avec le mot clé "NVIDIA". Il est également possible de l'ouvrir depuis un terminal en ligne de commande :
nvidia-settings
Mais comme il faut les droits d'administration pour pouvoir enregistrer des modifications sur le fichier xorg.conf, vous devez pour cela, utiliser la commande gksudo (ou kdesu sous KDE):
gksudo nvidia-settings kdesu nvidia-settings
Options principales
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 » :
Cependant, activer cette option ne résout pas TOUS les problèmes de déchirement : lors de la rotation du cube de compiz, chaque image est bien synchronisée, les déchirements ont disparu ; par contre, lors du déplacement d'une fenêtre, compiz ne demande pas la synchronisation (rapport de bogue), donc des déchirements resteront visibles.
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) :
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) :
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.
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
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é)
Rotation de l'écran
Le choix se fait simplement dans les paramètres de résolution de l'écran (Paramères Système → Affichage) en sélectionnant une option de rotation.
Informations pratiques
Connaître la version des pilotes NVIDIA utilisés
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
Dans un terminal, tapez :
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
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".
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.
- 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'
Il existe aussi une autre méthode (valable seulement sous Gnome), elle consiste à mettre en place votre commande dans ~/.xsession. Si le fichier ~/.xsession n'existe pas :
touch ~/.xsession
est-ce utile? nano n'est pas suffisant?
Ensuite :
nano ~/.xsession
Ensuite :
nvidia-settings -a GPUOverclockingState=1 -a GPU2DClockFreqs=169,100 -a GPU3DClockFreqs=350,301
exec gnome-session
Ensuite :
ctrl+x touche o touche entrée
pourquoi des balises??
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
Pour désinstaller le pilote propriétaire:
- Lancer le gestionnaire de pilotes propriétaires;
- Choisir le pilote libre "Serveur XX.Org";
- "Appliquer les changements" (ou "activez" sur l'ancienne version du gestionnaire)
- Fermer le gestionnaire;
- Redémarrer votre ordinateur.
Après le redémarrage de l’ordinateur, le pilote libre sera alors activé automatiquement.
Problèmes connus
Reportez-vous à la page des problèmes liés aux cartes Nvidia.
Voir aussi
- (en) Page NVIDIA de la documentation officielle avec la liste des compatibilités
- (en) Disper : outil en ligne de commande pour paramétrer l'écran avec le pilote propriétaire NVIDIA. Idéal pour être utilisé avec des scripts.
Contributeurs : Les contributeurs d'Ubuntu-fr, claudiux, L'Africain.