Ceci est une ancienne révision du document !



Cartes graphiques NVIDIA

NVIDIA

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

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).

Pilote libre

Originalement, il existait un pilote libre nommé nv (nv, /usr/lib/xorg/modules/drivers/nv_drv.so) qui était installé et utilisé par défaut dans Ubuntu (< 10.04 LTS). Aucune manipulation ou installation ne s'impose si aucune difficulté n'a été rencontrée.

Un second pilote libre, du nom de nouveau (/usr/lib/xorg/modules/drivers/nouveau_drv.so) est également en développement. Il est développé en écoutant les communications entre l'ordinateur et la carte graphique. Ce pilote est utilisé par défaut depuis Ubuntu 10.04 LTS.

L'utilisation de l'un de ces pilotes est généralement recommandée par les acteurs 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. Par conséquent les développeurs sont contraint de pratiquer le reverse engineering. Préférez une carte vidéo chez les concurrents qui sont plus coopératifs pour fournir leurs spécs. cf NVIDIA: Documentation_and_drivers

Cela dit ; grâce à l'avancée dans le développement de ce driver et des futurs noyaux Linux postérieurs à la version 2.6.39, 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, et avec l'indispensable noyau postérieur à 2.6.39 (à partir de Ubuntu 11.10). Sources des tests : Phoronix

FIXME Si quelqu'un se sent capable d'apporter des précisions afin de pouvoir utiliser et configurer les chipsets utilisant ce pilote, merci de le faire.

Méthode automatique

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

Pour installer les pilotes propriétaires, il suffit d'aller dans K → Applications → Système → Pilotes supplémentaires. Plusieurs choix de versions peuvent être disponibles.

Pilotes de périphériques

Depuis la version 12.10 d'Ubuntu (et de Xubuntu), l'interface Pilotes de périphériques (jockey-gtk) n'est plus qu'un paquet de transition. La configuration du pilote se fait via le gestionnaire de source de logiciels accessible dans les paramètres système.
avec l'interface unity (sous Salamander (13.10), cliquez sur l'icône tableau de bord puis saisir logi… pour lancer "Logiciels & Mises à jour". Le dernier onglet, "Pilotes additionnels", donne accès à d'autres pilotes.
Si vous utilisez l'interface Gnome, c'est dans Application→Outils systèmes→Préférences

Si aucun choix n'est disponible, allez dans Système → Administration → Sources de logiciels, et vérifiez dans le premier onglet (Logiciels Ubuntu) que la case « Pilotes propriétaires de périphériques » est bien cochée. Si elle était déjà cochée, lancez Système → Administration → Gestionnaire de mises à jour, pour mettre à jour la liste des paquets disponibles ; si vous venez de l'activer, la mise à jour sera demandée dès la fermeture de la fenêtre « Sources de logiciels ». Une connexion Internet doit bien sûr être active.

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é, installez le paquet nvidia-common et rafraichissez la liste des paquets. Retournez ensuite dans Système → Administration → Pilotes de périphériques. 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.

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. Pour les effets graphiques il faut installer Compiz et les régler par l'utilitaire "Gestionnaire de configuration CompizConfig".

Méthodes alternatives (pour mettre à jour le pilote)

Préférez l'installation depuis les dépôts PPA, beaucoup plus simple et moins risquée.

( après la mise à jour, observer la nouvelle version affichée dans NVIDIA X Server settings, X serveur information : version du pilote , un redémarrage de l'ordinateur peut être nécessaire )

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 de ce fichier.

Installation par les dépôts PPA

Des paquets nvidia stables mais non pris en charge par Ubuntu sont disponibles sur Launchpad.

Pour mettre à jour votre pilote :

Ubuntu 10.04 LTS, 12.04 LTS a 14.04
A voir si c'est toujours utile, notamment sous 12.10, car les pilotes nvidia-current sont mis à jour automatiquement, les pilotes étant proposés en experimental pour les versions beta (nvidia-experimental-310 ou nvidia-experimental-304
  • Ajoutez le PPA ppa:ubuntu-x-swat/x-updates1) dans vos sources de logiciels ( ppa pour NVIDIA ou ATI/AMD ).
sudo apt-get remove nvidia*
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates 
sudo apt-get update
sudo apt-get install nvidia-331 nvidia-331-uvm
sudo reboot 

Appuyez Window/Super touche et tapez: nvidia x server settings

Contrôlez la version du driver. Si la mise à jour n'a pas été effectuée, cliquez sur le bouton d'administration dans le coin en haut à droite → paramètre systèmepilote supplémentaire, choisissez le pilote graphique nvidia version courante, et redémarrez. Appuyez Window/Super touche et tapez: nvidia x server settings Contrôlez la version de driver, et il devrait avoir été mis à jour.

Ubuntu 10.04 LTS

Vous pouvez finalement désactiver et réactiver le pilote avec la méthode automatique.

Installation manuelle du pilote téléchargé sur le site de NVIDIA

NVIDIA fournit directement sur son site un fichier exécutable (portant l'extension .run), qu'il faut exécuter et installer. Cela permet de profiter des tout derniers pilotes et même de tester les versions bêta (à vos risques et périls).

Une page est dédiée à ce mode d'installation : nvidia.run.

nvidia-settings

nvidia-settings est un outil pour configurer les pilotes NVIDIA sous Linux.

Il permet, entre autres, 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 ;
  • etc.

nvidia-settings

Il suffit d'installer le paquet nvidia-settings (à noter qu'il s'installe normalement par défaut avec le pilote propriétaire).

Pour ouvrir la fenêtre, allez dans le menu Système → Administration → NVIDIA X Server Settings. Il est également possible de l'ouvrir en ligne de commande :

nvidia-settings

NB: pour pouvoir enregistrer des modifications sur le fichier xorg.conf, il faut des droits administrateur. Pour cela, on peut utiliser la commande sudo sous GNOME (ou gksudo) ou kdesu sous KDE :

sudo nvidia-settings
kdesu nvidia-settings

Prise en compte des options par Compiz

Problème résolu sous Lucid.

Pour que Compiz prenne en compte les options de nvidia-settings, il faut que ces options soient chargées avant le lancement de Compiz.

Pour cela, il faut exécuter :

nvidia-settings -l

avant de démarrer compiz avec :

compiz --replace

Comme vous l'avez remarqué, compiz (également connu sous le nom d'effets de bureau) est lancé automatiquement au démarrage d'Ubuntu. Malheureusement, le chargement des paramètres de nvidia-settings n'est pas effectué. Cela a fait l'objet d'un rapport de bogue, avec différentes propositions de rustines.

En attendant que ce problème soit résolu, la solution la plus simple, en tant qu'utilisateur, est d'écrire dans ~/.gnomerc (il faut créer le fichier s'il n'existe pas) la ligne suivante :

nvidia-settings -l

Pour ceci, il suffit d'exécuter la commande suivante dans un terminal :

echo 'nvidia-settings -l' >> ~/.gnomerc
Pour que cela fonctionne, l'option "Include X-display name in the config file" dans la section "nvidia settings configuration" de nvidia-settings doit être décochée.

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 compiz (ou autre 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 ventilos à 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ésoud 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) :

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 de ce fichier.

Modification de la configuration

Éditez le fichier "/etc/X11/xorg.conf" en "root", 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, …

Si vous rencontrez des problèmes avec les pilotes propriétaires (ou que vous ne voulez utiliser que des modules libres), vous pouvez repasser aux pilotes libres très simplement. Pour cela, il suffit de ne pas utiliser les pilotes propriétaires, dans ce cas il n'est pas indispensable de les désinstaller (à part si vous tenez absolument à économiser quelques méga-octets).

Par contre, si vous avez installé les pilotes à partir des dépôts (par le gestionnaire de pilotes de périphériques ou par l'installation manuelle des paquets), et que finalement vous désirez installer manuellement les derniers pilotes téléchargés sur le site de NVIDIA, il est nécessaire de désinstaller les paquets auparavant.

Simple désactivation

Par le gestionnaire de pilotes de périphériques

Dans Système → Administration → Pilotes de périphériques, cliquez simplement sur le bouton Deactivate :

Désactivation d'un pilote propriétaire

Manuellement (xorg.conf) pour Ubuntu < 10.04 LTS

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 de ce fichier.

Dans /etc/X11/xorg.conf, repérez la ligne (cf. section "Device") :

    Driver      "nvidia"

et remplacez-la par :

    Driver      "nv"

puis redémarrer votre serveur X.

Désinstallation complète des pilotes propriétaires

La méthode de désinstallation dépend évidemment de la méthode utilisée pour l'installation.

Si l'installation a été effectuée par le gestionnaire de pilotes de périphériques ou manuellement par les dépôts, suivez la première méthode de désinstallation. Sinon, si l'installation a été effectuée manuellement avec le pilote téléchargé sur le site de NVIDIA, ou par EnvyNG, suivez la seconde méthode.

Pour une installation par les dépôts

Pour supprimer tous les pilotes NVIDIA installés par les dépôts, tapez dans un terminal :

sudo apt-get remove 'nvidia-*'

Pour une installation par le fichier téléchargé sur le site de NVIDIA

Ceci est expliqué sur la page consacrée à cette méthode d'installation.

Pour une installation par EnvyNG

Cette fonctionnalité est présente directement dans l'interface graphique.

Attention à ne pas oublier de réinstaller (ou installer) le paquet xserver-xorg-video-nv ou xserver-xorg-video-nouveau sinon il n'y aura plus d'affichage graphique.
On peut réparer cette erreur en redémarrant en mode graphique sans échec avec une résolution basse.

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 résolution de l'écran (système?préférences) en sélectionnant une option de rotation (droite, gauche, ou inversé).

Informations pratiques

Faire une sauvegarde du fichier xorg.conf

La moindre erreur dans ce fichier pourrait empêcher votre système de démarrer graphiquement. C'est pourquoi il est important d'en faire une sauvegarde, et d'être capable de le restaurer.

Pour faire une sauvegarde de ce fichier :

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

Pour restaurer cette sauvegarde, il suffira alors d'exécuter :

sudo cp /etc/X11/xorg.conf.bak /etc/X11/xorg.conf

Si vous avez cassé votre fichier xorg.conf et que votre système ne démarre plus graphiquement (vous tombez sur un écran noir avec un curseur clignotant dans le coin supérieur gauche de l'écran), voici la marche à suivre :

  1. Appuyez sur <Ctrl><Alt><F1> ;
  2. Entrez votre login ;
  3. Entrez votre mot de passe ;
  4. Restaurez votre sauvegarde qui fonctionne avec la commande de restauration présentée ci-dessus ;
  5. Redémarrez.

Redémarrer le serveur X

Pour redémarrer le serveur X, il suffit d'appuyer simultanément sur <Ctrl><Alt>⌫. ⌫ est la touche « ← » ou <Retour arrière> au dessus de la touche « Entrée ».

<Ctrl><Alt>? est assez violent, il tue le serveur X, et donc toutes vos applications ouvertes. Pensez donc avant à sauvegarder vos fichiers et à fermer vos applications auparavant.

À partir d'Ubuntu 9.04, ce raccourci clavier est désactivé par défaut. Il est remplacé par <Alt><SysRq>K (la touche <SysRq> correspond à la touche <Impr. écran> ou <Syst>).

Pour redémarrer le serveur X, il faut réactiver ce raccourci.

Première Méthode

Il faut installer dontzap avec la commande suivante (ou via synaptic):

sudo apt-get install dontzap


Puis cela se fait simplement avec la ligne de commande :

sudo dontzap --disable

Il vous suffit ensuite d'appuyer sur <Ctrl><Alt>? pour que le serveur X redémarre.

Deuxième Méthode

Cette méthode consiste à l'activer dans les raccourcis clavier

Depuis la version Ubuntu 9.10, l'option DontZap ne fait plus partie des paramètres du serveur graphique X.org. Elle fait désormais partie des options de l'extension XKB, qui est directement réglable par les outils inclus dans chaque environnement de bureau. La manière d'activer ce raccourci clavier varie donc selon l'environnement de bureau que vous utilisez.

Sous GNOME (Ubuntu)

  1. Rendez-vous dans Système → Préférences → Clavier ;
  2. Sélectionnez l'onglet Agencements et appuyez sur le bouton Options de l'agencement ;
  3. Déroulez la liste Séquence de touches pour fermer le serveur X et cochez la case Control + Alt + Eff. arrière ;
  4. Fermez l'outil de configuration de l'agencement du clavier.

Sous KDE (Kubuntu)

  • Allez dans Configuration du système → Région et langue → Disposition du clavier → Avancés
  • Cochez la case « Séquence de touches pour fermer le serveur X : Control + Alt + Eff. arrière »

En ligne de commande (toutes variantes d'Ubuntu)

Ouvrez un terminal et exécutez la commande suivante :

utilisateur@machine:~$ echo "setxkbmap -option terminate:ctrl_alt_bksp" >> ~/.xinitrc

Fermez votre session, puis ouvrez-la à nouveau pour que votre nouvelle configuration soit prise en compte.

Connaître le modèle de sa carte graphique

Dans un terminal, tapez :

lspci | grep VGA

Voici un exemple de résultat :

$ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GeForce 8600M GS (rev a1)

Si vous posez une question sur le forum à propos d'un problème graphique, pensez à mentionner ce résultat.

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)

Le pilote propriétaire NVIDIA permet d'utiliser la carte graphique à travers VDPAU pour accélérer matériellement le décodage des vidéos. Pour ce faire il faut remplir les conditions suivantes :

  • pilote propriétaire et bibliothèque vdpau installés
  • logiciel prévu pour utiliser l'accélération VAAPI (API indépendante de la marque graphique) ou VDPAU (API développée par NVIDIA)

Le premier point est effectif immédiatement avec les dernières versions du pilote NVIDIA disponible dans Ubuntu 10.04.

Le second point reste encore un peu expérimental en 2010 et nécessite l'ajout de paquets supplémentaires pour fonctionner. Voici quelques pistes (à vérifier régulièrement en attendant que tout se stabilise) :

  • Les différents PPA associés à l'équipe NVIDIA Vdpau sur Launchpad
  • Installer le paquet vdpau-video (du PPA Cutting Edge Multimedia de l'équipe NVIDIA Vdpau pour avoir les bibliothèques nécessaires au décodage vidéo.
  • Utiliser la commande vainfo (fournie avec le paquet libva1) pour vérifier les différents profils de décodage vidéo supportés par VAAPI (ils correspondent aux codecs vidéos dont le décodage pourra être accéléré).
  • Utiliser un logiciel supportant VAAPI (ou VDPAU) et activer son utilisation :
    • VLC 1.1 ou supérieur, disponible dans le PPA Cutting Edge Multimedia de l'équipe NVIDIA Vdpau, a le support de VAAPI),
    • mplayer dans les dernières versions (disponible dans le PPA Cutting Edge Multimedia de l'équipe NVIDIA Vdpau),
    • gnash en version 0.8.8 ou supérieur pour le flash.

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, c'est très simple: rendez-vous dans le fichier xorg.conf puis dans la section qui concerne la carte graphique, ajoutez :

Option "Coolbits" "1"

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 : nvidia.run

Pour modifier le fichier xorg.conf tapez la commande ci-dessous dans un terminal :

 gksudo nautilus 

Cette commande va ouvrir une fenêtre de navigation en mode super utilisateur. Vous pourrez ainsi ouvrir, modifier et enregistrer le fichier xorg.conf qui se situe dans le dossier /ect/X11 .

Si vous ne voyez pas le fichier xorg.conf vous pouvez le créer avec la commande :

 sudo nvidia-xconfig 

Une fois le fichier xorg.conf ouvert, allez dans la partie Section "Device" et ajoutez

Option "Coolbits" "8" 

Vous obtenez ainsi :

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

Il n'y a plus alors qu'à sauvegarder le fichier et à redémarrer le serveur x par la combinaison des touches Alt+Syt+K. 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 X (session Ubuntu ou PC), 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, pour se faire on ferra, si le fichier ~/.xsession n'existe pas :

 touch ~/.xsession

Ensuite :

 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 :

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.

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.

Volontairement, les questions/réponses présentes dans l'ancienne page n'ont pas été recopiées, afin de supprimer les informations inutiles. Si vous ne trouvez pas l'information que vous cherchez ici, reportez-vous à l'ancienne page. Si cela vous a aidé à résoudre votre problème pour Ubuntu 8.04 ou version ultérieure, merci de compléter cette section.

Problème de rafraîchissement de l'écran

Avec certaines cartes graphiques (les séries GeForce 8 et 9 notamment), et les pilotes 177.80, l'écran ne se rafraîchit pas correctement, notamment dans Firefox qui devient quasiment inutilisable (voir le rapport de bogue).

Ce problème de rafraîchissement se produit également, mais dans une bien moindre mesure (juste quelques petites zones, assez rarement) avec d'autres versions du pilote.

Si vous rencontrez ce problème, il y a plusieurs solutions de contournement.

Contournement compiz (la solution à essayer en priorité)

Depuis Ubuntu 9.04, compiz possède une option qui résout le problème.

  • Il faut lancer le gestionnaire de configuration CompizConfig (ccsm) (apt://compizconfig-settings-manager doit être installé), cliquer sur « Solutions », et activer la case "Force synchronization between X and GLX".
  • Si le problème persiste, toujours dans CompizConfig (ccsm) 3) → Options générales → Onglet Paramètre d'affichage :
    • Décocher « Détecter la fréquence de rafraîchissement ».
    • Augmenter la fréquence de rafraîchissement à une valeur supérieure à celle de votre écran 4)
    • Cocher « Sync vers Vblank ».

Si possible, « Sync to Vblank » doit aussi être coché dans les pilotes propriétaires NVIDIA.

Rétrograder les pilotes

La première solution est de repasser à des pilotes plus anciens (173, par exemple). Ceci est faisable directement dans le gestionnaire de pilotes de périphériques.

Désactiver --loose-binding

compiz est démarré avec l'option --loose-binding par défaut. C'est une fonctionnalité développée pour combler certaines lacunes des pilotes NVIDIA, notamment au niveau des performances, en évitant de rafraîchir l'écran inutilement trop souvent.

Cependant, avec les pilotes 177.80, c'est inutilisable.

Pour désactiver cette option, éditez le fichier /usr/bin/compiz et commentez les lignes 340 à 344 :

	if check_nvidia; then
		if [ "x$INDIRECT" != "xyes" ]; then
			COMPIZ_OPTIONS="$COMPIZ_OPTIONS --loose-binding"
		fi
	fi

ce qui donne :

#	if check_nvidia; then
#		if [ "x$INDIRECT" != "xyes" ]; then
#			COMPIZ_OPTIONS="$COMPIZ_OPTIONS --loose-binding"
#		fi
#	fi

Pour tester :

compiz &

(ça peut planter, dans ce cas, réexécutez la commande)

Maintenant, à chaque redémarrage, cette option ne sera plus activée.

Réglage de nvidia-settings non pris en compte au redémarrage

Lors de chaque redémarrage vous constatez que la taille de l'écran revient en 640×480 ou 800×600 et que sous nvidia-settings vous avez réglé la taille en 1024×768 ou supérieur, éditez le fichier /home/user/.config/monitors.xml

<monitors version="1">
  <configuration>
      <clone>no</clone>
      <output name="default">
          <vendor>???</vendor>
          <product>0x0000</product>
          <serial>0x00000000</serial>
          <width>800</width>                    #<=à modifier par 1024
          <height>600</height>                  #<=à modifier par 768
          <rate>108</rate>                      #<=taux de rafraîchissement
          <x>0</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
      </output>
  </configuration>
</monitors>

Redémarrer et tester.

Le fichier /home/user/.config/monitors.xml peut être modifié directement depuis Préférences → Ecrans. Sa présence n'est pas indispensable si vous n'utilisez que nvidia-setting

L'enregistrement des réglages de nvidia-settings provoque un plantage

Un moyen de contourner ce problème est expliqué sur son rapport de bogue : Le plantage est lié au fait que nvidia-settings essaie de modifier un fichier qui, pour une raison ou une autre, ne correspond plus à votre configuration actuelle sans que cela vous ait empêché de charger une session graphique. En clair, ce bogue arrive surtout aux gens qui se lancent dans le multi-écran ou qui changent de moniteur.

La solution consiste à lancer nvidia-xconfig (en sudo) pour qu'un fichier de configuration correct soit recréé. Après quoi nvidia-settings devrait fonctionner de manière normale.

Mode sans échec systématique

Si l'installation des pilotes propriétaires NVIDIA vous renvoie systématiquement vers le mode sans échec de l'affichage, une solution consiste à exclure certains modules.

Pour cela, éditez le fichier /etc/default/linux-restricted-modules-common en root et remplacez :

DISABLED_MODULES=""

par :

DISABLED_MODULES="nvidia nvidia_legacy"

(voir ce billet)

Multi-écran et extension Xinerama

Xinerama est la méthode utilisée par le serveur X pour informer le gestionnaire de fenêtres (tel que compiz) du nombre et de la taille des différents écrans. Le pilote propriétaire NVIDIA n'utilise pas l'implémentation native de X mais sa propre implémentation de l'extension Xinerama.

Pour pouvoir utiliser Xinerama, il faut démarrer le serveur X avec les différents écrans branchés, sinon le pilote NVIDIA le désactive. Il faut activer l'option TwinView dans le fichier xorg.conf :

Option "TwinView" "true"

source (en) : voir le dernier paragraphe de la page. (ne pas confondre twinview et xinerama. Dans bien des cas, xinerama est autorisé mais pas twinview.

Voir le forum

Multi-écran, TwinView et PAS Xinerama

Il est possible d'avoir un écran multiple twinview sans que les barres de menus et les fenêtres maximisées ne remplissent les deux écrans. Il faut pour cela activer twinview et désactiver xinerama en indiquant l'écran principal (c'est celui où seront centrées les fenêtres, où il y aura la barre des tâches, etc.). Pour déplacer une fenêtre sur l'écran d'à côté, il suffira juste de la faire glisser avec la souris. Elle se maximisera (ou se mettra en plein-écran) sur cet écran uniquement. Pour cela :

Dans la section Screen, déclarez :

  Section "Screen"
      Identifier "Screen0"
      Device "Device0"
      Monitor "Monitor0"
      DefaultDepth 24
      
      Subsection "Display"
          Depth 24
      EndSubsection
      Option "TwinViewXineramaInfoOrder" "DFP-0"
      Option "TwinView" "1"
      Option "metamodes" "CRT: 1280x1024 +0+0, DFP: nvidia-auto-select +1280+0"
  EndSection

Là on déclare un seul écran virtuel twinview, en ayant l'écran « DFP-0 » en principal et décalé de 1280 px à droite de l'écran « CRT » fixé à la résolution 1280×1024.

Puis il faut rajouter la section :

  Section "ServerFlags"
      Option "Xinerama" "0"
  EndSection

Qui désactive xinerama.

Le support de la rotation d'écrans indépendants en twinview devient possible avec les derniers drivers propriétaires 302.xx chez NVIDIA actuellement en Beta au 13/05/12 mais fonctionnels http://www.nvidia.com/object/linux-display-amd64-302.07-driver.html. Ainsi on peut opérer cette rotation depuis le menu d'affichage d'ubuntu. Testé personnellement sous Precise. Depuis le temps qu'on l'attendait…

Multi-écran et les jeux

Le mode multi-écran pose problème avec les jeux. Parmi les problèmes possibles :

  • affichage plein écran à cheval sur les deux écrans
  • résolution mal détectée dans le jeu

Pour contourner ce problème, le plus facile est de désactiver un écran pendant l'utilisation du jeu. Par défaut avec l'extension ''xinerema'' ça n'est pas possible car une seule définition apparait dans l'outil de résolution d'écran. Pour changer ce comportement, il faut ajouter des modes vidéos dans le fichier de configuration du serveur X.

L'exemple ci-dessous permet d'utiliser 3 options (séparées par des points-virgules) :

  1. Affichage étendu sur 2 écrans (le deuxième étant l'écran externe décalé de 1440 pixels à droite)
  2. Affichage sur l'écran plat du portable
  3. Affichage sur l'écran externe
   Option  "metamodes" "CRT: nvidia-auto-select +1440+0, DFP: nvidia-auto-select +0+0; 
   CRT: NULL, DFP: nvidia-auto-select +0+0; CRT: nvidia-auto-select +0+0, DFP: NULL"

Après un redémarrage du serveur X, vous pourrez utiliser les 3 « résolutions » d'écran.

Ensuite il ne vous reste plus qu'à utiliser l'outil ''xrandr'' dans des scripts pour lancer vos jeux afin de faire les changements de résolution avant le démarrage du jeu et après sa terminaison.

source : (jouer en plein écran à Urban Terror (ou autres jeux) avec un double écran)

Configuration SLI

Il semblerait que depuis Ubuntu 8.10 la détection des cartes lors de l'installation du pilote échoue.

→ Pour plus d'informations, consultez la page « NVIDIA et SLI ».

Geforce 8400 GS et Ubuntu 10.10

Ubuntu 10.10 qui met à disposition les pilotes NVIDIA propriétaires plus récents. Si on installe ces derniers, on redémarre en écran noir. Pas de panique, il suffit de presser <Ctrl><Alt><F1> pour accéder à une console. Si ça ne marche pas, redémarrer en choisissant le mode recovery de Grub.

Il y a deux solutions à ce problème :

  1. Utiliser les pilotes libres « nv ». Pour cela, il suffit de modifier le fichier /etc/X11/xorg.conf et de remplacer dans la section « Device » le driver « nvidia » par « nv ». L'inconvénient de cette solution est que vous n'aurez pas d'accélération matérielle.
  2. Installer les anciens pilotes propriétaires NVIDIA, pour effectuer cette opération, taper la commande :
    sudo apt-get remove nvidia-*
    sudo apt-get install nvidia-173

Geforce séries G105M et G103M avec Ubuntu 10.10 ou inférieur

Ce comportement est (loin ?) d'être systématique

Ces cartes peuvent présenter un comportement original qui fait un affichage divisé en 6 petits écrans d'une moyenne de 640×480 pixels. Pour corriger cela, il faut utiliser un profil d'écran particulier.

Télécharger le fichier « edid.bin.zip ».

Extraire l'archive.

Copier le fichier dans le répertoire « /etc/X11 » :

sudo cp /votre_dossier_archive/edid.bin /etc/X11/

Ouvrir le fichier /etc/X11/xorg.conf et y ajouter :

    BoardName      "GeForce G 103M"
    Option         "CustomEDID" "DFP-0:/etc/X11/edid.bin"

dans la section :

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce G 103M"
    Option         "CustomEDID" "DFP-0:/etc/X11/edid.bin"
EndSection

Enregistrer et relancer X.

Testé sur Ubuntu 10.10 et pilotes nvidia.run (devrait fonctionner sur les drivers proprio proposés FIXME).

Conflit avec le pilote "nouveau"

Il peut arriver que le module "nvidia" rentre en conflit avec le driver "nouveau". (un lsmod confirme que nouveau est chargé). Au lancement de X, on obtient un message du type

  FATAL: Error inserting nvidia (/lib/modules/3.0.0-22-generic/kernel/drivers/video/nvidia.ko): No such device

Idem en passant par la commande modprobe. Pour éviter cela, il suffit de dire au noyau de ne pas charger le pilote nouveau. Pour cela, on crée un fichier nommé blacklist-nouveau.conf dans /etc/modprobe.conf. Son contenu sera :

  #diseable nouveau driver. Use nvidia instead of
  blacklist nouveau

Après un redémarrage, dans la condition où le champ driver est spécifié à "nvidia" dans /etc/xorg.conf, le module "nvidia" devrait être fonctionnel.

Redémarrage en basse qualité suite à une mise à jour

Message "Failed to load the NVIDIA kernel module"

Démarrez en basse résolution et tapez dans le terminal

sudo apt-get install --reinstall linux-headers-`uname -r`

Réinstaller le pilote

Suite à une mise à jour (du noyau) qui se serait mal passée, au moment de redémarrer, vous vous retrouvez en graphiques de basse qualité ou êtes bloqué en 800×600, votre pilote étant cassé.

Premièrement, essayez de le réinstaller normalement :

sudo apt-get purge 'nvidia-*'
sudo apt-get autoclean
sudo apt-get install nvidia-glx-180

(ou autre version selon le matériel)

Si tout se passe bien, félicitations, vous avez réinstallé votre pilote.

Could not locate nvidia.ko

Si vous rencontrez cette erreur :

Error! Could not locate nvidia.ko for module nvidia in the DKMS tree.

La mise à jour du noyau s'est mal passée, les entêtes n'ont pas été bien installés, ce que l'on va résoudre ici :

On répare les éventuels problèmes dans la gestion des paqutes (dépendances, paquets mal installés, etc.) :

sudo apt-get install -f

On réinstalle les entêtes du noyau actuel qui sont mal installés et ne permettent pas la compilation du pilote (ce qui bloque au-dessus) :

sudo apt-get install --reinstall linux-headers-`uname -r`

Normalement, pendant la réinstallation des entêtes, le pilote (plus précisément le module DKMS lié au pilote) sera recompilé automatiquement. Si jamais ce n'est pas le cas et que le problème persiste, vous pouvez réinstaller le pilote maintenant que le noyau est propre.

Ubuntu 12.04 et GeForce 7025 et [GeForce 7000M / nForce 610M]

Sur certaines installation l'accéleration 3D ne fonctionne pas.

Visiblement le driver installé par défaut avec Ubuntu 12.04 est bugué. Il s'agit de la version 295.40.

Une solution est de revenir à la version 295.33 du driver, La manipulation à faire :

sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install nvidia-current=295.33-0ubuntu1~precise~xup1

PS: il vaut mieux désactiver dans les sources de logiciels, le dépôt pilotes propriétaires de périphériques (restricted) en attendant une solution, sinon à chaque mise à jour le dernier pilote sera de nouveau mis à jour vers la dernière version.

La version 295.53 est disponible dans le ppa et va donc s'installer automatiquement… Penser à désinstaller les paquets nvidia-current-update et nvidia-settings-update car si en temps normal ils ont une version d'avance sur le dépôt officiel, là ils auront une version de retard sur le ppa.

Problème de résolution au démarrage et à l'arrêt

Avec les pilotes propriétaires et à partir de 10.04 LTS, la résolution au démarrage et à l'arrêt est très faible. Le problème vient de Plymouth. Toute la manœuvre à faire pour corriger ce problème est décrite dans l'article « How to Fix the Big and Ugly Plymouth Logo in Ubuntu 10.04 » de SoftPedia.

Problème après installation de Precise Pangolin 12.04

Ecran noir ou sans launcher

Si, après une installation de Precise Pangolin, votre ordinateur semble figé sur un écran noir ou le fond d'écran, dans le cas où vous possédez une carte graphique nvidia, actualisez le pilote graphique car la version current semble comporter un bug. Pour cela :

  • Démarrage en mode de dépannage
  • choisir d'activer la prise en charge du réseau
  • démarrer en console administrateur
  • écrire la commande :
apt-get install nvidia-current-updates  

redémarrer l'ordinateur, tout devrait fonctionner correctement.

Autre méthode, graphique celle-là :

  • Ouvrir la session = Ecran noir
  • Obtenir l'affichage de quelque chose : lancer un terminal avec le raccourci clavier Ctrl+Alt+T. Le fond d'écran rose doit réussir à s'afficher (avec un peu de patience).
  • Faire un clic droit sur le fond d'écran, sélectionner "Modifier l'arrière plan du bureau"
  • Cliquer en haut de la fenêtre sur "Tous les paramètres"
  • Lancer "Pilotes additionnels"
  • Désactiver le pilote qui est activé en cliquant sur le bouton "Supprimer"
  • Redémarrer l'ordinateur (sinon il se produit une réaction d'incohérence de l'affichage si l'on se contente de rouvrir la session)

Problème après installation ou mise à jour des drivers vidéo de Quantal Quetzal 12.10

Si, après l'ouverture d'une session, seul le fond d'écran s'affiche, alors il faut désinstaller les drivers NVidia, arrêter le processus "lightDM", installer le paquet "linux-header-generic" et re-installer nvidia-current :

Pour cela :

  • Basculez sur un terminal : Ctrl Alt F1
  • Ouvrez une session
  • Désinstallez les paquets nvidia :
sudo apt-get purge nvidia-*
  • Arrêtez le processus lightDM
sudo service lightdm stop
  • Installer le paquet "linux-headers-generic"
sudo apt-get install linux-headers-generic
  • Réinstallez le driver NVidia
sudo apt-get install nvidia-current
  • Redémarrez
sudo reboot

Problème après installation : les touches pour régler la luminosité de l'écran ne marchent plus

Si, après l'installation du driver NVidia, vous n'avez plus accès au réglage de la luminosité de l'écran :

  • Créez le fichier 10-nvidia-brightness.conf
sudo nano /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf
  • Puis copiez ce code dans le fichier
Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    Option         "RegistryDwords" "EnableBrightnessControl=1"
EndSection
  • Lorsque vous relancerez votre session, les touches seront de nouveau fonctionnelles

Impossible de bénéficier de l'accélération graphique avec les pilotes propriétaires

Il à été constaté avec les cartes Nvidia des séries correspondantes aux pilotes officiels 304, 331, 340, 343 de Nvidia des problèmes liés à l'installation des pilotes propriétaires sous Ubuntu 13.10 et 14.04.

Au tout premier abord, elles fonctionnent directement avec le pilote Nouveau, on peut même y activer OpenGL qui fonctionne bien sur au ralenti étant un pilote générique aux fonctionnalités limitées.

Au moment de l'installation des pilotes propriétaires Nvidia, qu'ils proviennent des dépôts Ubuntu ou du site officiel de chez Nvidia, le cauchemar commence et mieux vaut avoir des connaissances en configuration manuelle pour s'en sortir. En redémarrant le serveur graphique il se plante et rentre dans le pire des cas en mode console, ou parfois dans un mode très basse résolution de dépannage. A l'aide de la configuration manuelle du fichier /etc/X11/xorg.conf l'on parvient finalement à faire fonctionner le pilote en fonctionnement basique sans accélération. Toute tentative d'activer le pilote GLX de nvidia échouent.

Il semblerait que ce soucis provienne d'un bug des dernières versions d'Ubuntu.

Il n'y à que deux solutions pour l'instant , la pire étant de rester sur votre version d'Ubuntu en gardant le pilote "nouveau" qui fonctionnera sans accélération(c'est bien si cela vous suffit) , ou mieux, retourner à la dernière version LTS ubuntu 12.04 sur laquelle votre carte s'installera très simplement.


Contributeurs : Les contributeurs d'Ubuntu-fr.


  • nvidia.1417714996.txt.gz
  • Dernière modification: Le 04/12/2014, 18:43
  • par YoBoY