{{tag>Hardy Jaunty Karmic Lucid matériel carte_graphique nvidia}}
----
====== Cartes graphiques NVIDIA ======
===== Introduction =====
{{ 400px-nvidia_logo.png?200|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
* un pilote propriétaire
==== Pilote Libre ====
FIXME **si quelqu'un se sent de pouvoir apporter des précisions afin de pouvoir utiliser et configurer les chipsets utilisants ce pilote, merci de le faire**
Originalement, il existait un //pilote libre// (**nv**) qui était installé et utilisé par défaut dans **Ubuntu** (< 10.04). Aucune manipulation ou installation ne s'impose si aucune difficulté n'a été rencontrée.
Un second //pilote libre//, du nom de **Nouveau** (voir [[https://edge.launchpad.net/~xorg-edgers/+archive/nouveau|PPA pour Ubuntu 9.10]]) 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 Lucid Lynx"
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**, mais il peut y avoir des lacunes dues aux délais de développement et à l'indisponibilité des spécifications.
==== Pilote propriétaire ====
Le //pilote propriétaire// (**nvidia**) est créé par le constructeur. Il offre souvent de meilleures performances, et il permet d'activer les effets de bureaux (3D). Il peut être indispensable pour faire fonctionner le matériel le plus récent.
Le code source des pilotes propriétaires n'est pas librement accessible et modifiable par les développeurs de Ubuntu. Leur utilisation est risquée car la société qui produit ces pilotes ne les a conçu que pour certains types de matériels, et des mises à jour de sécurité qui y sont apportées dépendent uniquement de son bon vouloir. Ubuntu ne peut pas réparer ou améliorer ces pilotes.
===== Installation du pilote propriétaire =====
==== 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 Système --> Administration --> Pilotes de périphériques / Pilotes de périphériques.
Plusieurs choix de versions peuvent être disponibles.
{{ pilotes_proprio.png?400 |Pilotes de périphériques}}
**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 activée. Si elle était déjà activée, lancez Système --> Administration --> Gestionnaire de mise à 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 après la mise à jour des dépôts, la liste est toujours vide ou que vous ne voyez pas apparaître le pilote souhaité, c’est qu’il faut peut-être installer un paquet spécifique. En effet, la liste des pilotes propriétaires est basée sur les paquets nvidia-XXX-modaliases (ou XXX représente le numéro du pilote concerné). Par exemple, si sous intrepid il vous manque le dernier pilote nvidia-glx-180, installez le paquet nvidia-180-modaliases soit via synaptic soit en ligne de commande via apt.
**Si la liste des choix est toujours vide** après ces manipulations, parlez-en dans la section [[http://forum.ubuntu-fr.org/viewforum.php?id=27|Serveurs graphiques et cartes vidéo]] du forum.
==== Méthodes alternatives ====
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 [[#faire_une_sauvegarde_du_fichier_xorg.conf|sauvegarde de ce fichier]].
=== Installation manuelle du pilote téléchargé sur le site de NVIDIA ===
**NVIDIA** fournit directement sur [[http://www.nvidia.com/object/unix.html|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]].
Préférez l'installation depuis les dépôts PPA, beaucoup plus simple et moins risquée.
=== Installation par les dépôts PPA ===
Des paquets nvidia stables mais __non supportés par Ubuntu__ sont disponibles sur Launchpad.
À l'heure actuelle, les derniers pilotes stables 256.xx (de juin 2010) sont fournis pour [[:Hardy]], [[:Jaunty]], [[:Karmic]] et [[:Lucid]].
Des mises à jours des versions 185.xx, 190.xx et 195.xx sont également proposées.
Pour mettre à jour votre pilote :
* [[:tutoriel:comment_modifier_sources_maj|Modifiez vos sources de mises à jour]] pour y ajouter le(s) dépôt(s) suivant(s) :
* Pour Ubuntu 10.04 Lucid Lynx :ppa:ubuntu-x-swat/x-updates
* Pour Ubuntu 9.10 Karmic Koala :ppa:nvidia-vdpau/ppa
* Pour Ubuntu 9.04 Jaunty Jackalope :deb http://ppa.launchpad.net/nvidia-vdpau/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/nvidia-vdpau/ppa/ubuntu jaunty main
* Pour Ubuntu 8.10 Intrepid Ibex :deb http://ppa.launchpad.net/nvidia-vdpau/ppa/ubuntu intrepid main
deb-src http://ppa.launchpad.net/nvidia-vdpau/ppa/ubuntu intrepid main
* Pour Ubuntu 8.04 Hardy Heron :deb http://ppa.launchpad.net/nvidia-vdpau/ppa/ubuntu hardy main
deb-src http://ppa.launchpad.net/nvidia-vdpau/ppa/ubuntu hardy main
* __Pour Jaunty et plus ancien seulement__, [[:tutoriel/comment_modifier_sources_maj#gerer_les_cles_d_authentification|installez la clé]] :sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CEC06767
* Puis [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|rechargez la liste des paquets]].
Vous pouvez finalement activer le pilote avec la [[:nvidia#methode_automatique|méthode automatique]].
=== Installation manuelle des paquets ===
FIXME //Ce tableau a besoin d'être mis à jour...//
Vous trouverez dans le tableau suivant le pilote correspondant à votre carte graphique : ( "lspci | grep VGA" en ligne de commandes permet d'avoir l'information )
^ Pilote ^ Matériel supporté ^ Paquet pour Ubuntu 8.10 ^ Paquet pour Ubuntu ≤8.04 ^
| 180.xx (unifié) | GeForce 6/7/8/9/9400/GTX [[http://us.download.nvidia.com/XFree86/Linux-x86/180.22/README/appendix-a.html|liste complète]] | [[apt://nvidia-glx-180|nvidia-glx-180]] | non présent |
| 177.xx (unifié) | GeForce 6/7/8/9/GTX [[http://us.download.nvidia.com/XFree86/Linux-x86/177.80/README/appendix-a.html|liste complète]] | [[apt://nvidia-glx-177|nvidia-glx-177]] | non présent |
| 173.xx (unifié) | GeForce FX/6/7/8/9 [[http://us.download.nvidia.com/XFree86/Linux-x86/173.14.12/README/appendix-a.html|liste complète]] | [[apt://nvidia-glx-173|nvidia-glx-173]] | non présent |
| 169.xx (unifié) | GeForce FX/6/7/8 [[http://us.download.nvidia.com/XFree86/Linux-x86/169.12/README/appendix-a.html|liste complète]] | non présent | [[apt://nvidia-glx-new|nvidia-glx-new]] |
| 96.xx (special legacy) | certaines GeForce 2, GeForce 3/4 ([[http://www.nvidia.com/object/IO_32667.html|liste complète]] //début de page//) | [[apt://nvidia-glx-96|nvidia-glx-96]] | [[apt://nvidia-glx|nvidia-glx]] |
| 71.xx (legacy) | TNT, TNT2, GeForce 1, certaines GeForce 2 ([[http://www.nvidia.com/object/IO_32667.html|liste complète]] //fin de page//) | [[apt://nvidia-glx-71|nvidia-glx-71]] | [[apt://nvidia-glx-legacy|nvidia-glx-legacy]] |
Sur d'anciennes versions de **xorg** (avant Ubuntu 7.10), pour le pilote **Legacy**, il peut être nécessaire d'exécuter :
sudo nvidia-xconfig --allow-glx-with-composite
Sur d'anciennes versions de **xorg**, pour les autres pilotes, il peut être nécessaire d'exécuter :
sudo nvidia-xconfig --add-argb-glx-visuals -d 24
N'exécutez la commande que si vous rencontrez un problème lors du lancement de **compiz** (le programme qui gère les effets de bureau 3D).
===== Configuration =====
==== 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'antialiasing ou d'anisotropic ;
* connaître la température de la carte graphique ;
* …
{{ nvidia-settings.png?600 |nvidia-settings}}
Il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt://nvidia-settings|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 fichiers xorg.conf, il faut des [[:sudo#utilisation|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_fusion|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 bureaux//) 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 [[https://bugs.launchpad.net/ubuntu/+source/nvidia-settings/+bug/215876|rapport de bug]], avec différentes propositions de patches.
En attendant que ce problème soit résolu, la solution la plus simple, en tant qu'utilisateur, est d'[[:tutoriel:comment_modifier_un_fichier|é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 sur la fréquence verticale de l'écran.
Cela a deux effets bénéfiques :
* si l'écran est à 60Hz, pas besoin de dessiner 1300 images par secondes 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échirements" :
{{ tearing-effect.png |Effet de déchirement}}
Cependant, activer cette option ne résoud pas TOUS les problèmes de déchirements : 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 ([[http://bugs.opencompositing.org/show_bug.cgi?id=953|rapport de bug]]), donc des déchirements resteront visibles.
== Antialiasing ==
L'antialiasing permet de réduire les effets "escalier" __sur les contours__ des objets 3D.
Voici la différence de rendu **avec** et **sans** antialiasing (à gauche, l'antialiasing est désactivé, à droite, il est activé au maximum) :
{{antialiasing-off.png|Antialiasing désactivé}} {{antialiasing-on.png|Antialiasing 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 [[https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/279571|rapport de bug]]) ;
* les performances en souffrent énormément.
== Anisotropic ==
Le filtrage anisotropic 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 anisotropic (à gauche, l'anisotropic est désactivé, à droite, il est activé au maximum) :
{{anisotropic-off.png|Anisotropic désactivé}} {{anisotropic-on.png|Anisotropic activé}}
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'antialiasing.
==== 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 [[#faire_une_sauvegarde_du_fichier_xorg.conf|sauvegarde de ce fichier]].
=== Modification de la configuration ===
[[tutoriel/comment_editer_un_fichier|É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 [[#redemarrer_le_serveur_x|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**.
=== Documentation complète ===
Une documentation détaillée sur le site de **NVIDIA**, en anglais, présente toutes les options disponibles :
[[http://us.download.nvidia.com/XFree86/Linux-x86/177.80/README/appendix-b.html|les options des pilotes NVIDIA 177.80]].
===== Désactivation et désinstallation des pilotes propriétaires =====
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** :
{{driver-deactivate.png|Désactivation d'un pilote propriétaire}}
=== Manuellement (xorg.conf) ===
UNIQUEMENT AVANT UBUNTU 10.04
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 [[#faire_une_sauvegarde_du_fichier_xorg.conf|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 [[#redemarrer_le_serveur_x|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 [[nvidia.run#desinstallation_du_pilote|la page]] consacrée à cette méthode d'installation.
=== pour une installation par EnvyNG ===
Cette fonctionnalité est présente directement dans l'interface graphique.
===== 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 [[http://www.nvnews.net/vbulletin/showthread.php?t=118088|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 [[#parametres_nvidia_pour_xorg|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 ====
Voir [[http://doc.ubuntu-fr.org//rotation_ecran?redirect=1|cette page]]
==== 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 :
- Appuyez sur '''' ;
- Entrez votre login ;
- Entrez votre mot de passe ;
- Restaurez votre sauvegarde qui fonctionne avec la commande de restauration présentée ci-dessus ;
- Redémarrez.
=== Redémarrer le serveur X ===
Pour **redémarrer le serveur X**, il suffit d'appuyer simultanément sur « Ctrl--Alt--⌫ ». « ⌫ », c'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'[[jaunty|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 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 [[karmic|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)**
- Rendez-vous dans Système --> Préférences --> **Clavier** ;
- Sélectionnez l'onglet Agencements et appuyez sur le bouton **Options de l'agencement** ;
- Déroulez la liste Séquence de touches pour fermer le serveur X et cochez la case **Control + Alt + Eff. arrière** ;
- 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ériel du décodage des vidéo (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é
* logiciel prévu pour utiliser l'accélération [[VAAPI]] (API indépendante de la maque 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 [[https://launchpad.net/~nvidia-vdpau|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 paquet libva1) pour vérifier les différents profiles de décodage vidéo supportés par VAAPI (ils correspondent aux codecs vidéos dont le décodage pourra être accélérer).
* 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]]
===== FAQ / Notes / Problèmes récurrents =====
Volontairement, les questions/réponses présentes dans l'[[nvidia_old|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 donc à l'[[nvidia_old|ancienne page]]. Si cela vous a aidé à résoudre votre problème pour __**Ubuntu 8.04** ou supérieure__, merci de compléter cette section.
==== Problème de rafraîchissement de l'écran ====
Ce problème est un bug majeur d'Ubuntu 8.10 beta, dont on ne sait pas s'il sera corrigé avant la version finale (il provient des pilotes non libres, auxquels les développeurs d'Ubuntu n'ont aucun accès).
**Ce bug a été corrigé le 17 octobre.** Si personne ne rencontre ce problème avec la version finale, cette partie pourra être supprimée.
note : Je rencontre toujours ce problème qui est résolu avec la méthode ci-dessous.
note 2: Je rencontre également ce probleme sous ubuntu 9.10 mais uniquement avec le displayport
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 [[https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/269904|rapport de bug]]).
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.
=== Workaround 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)((http://iwebdevel.com/trans/fr/2009/11/22/ubuntu-nvidia-card-slow-monitor-flickers-try-this-fix-and-boost-graphic-card-performance-nvidia-drivers-configure-switch-ati-nvidia-karmic/)) -> 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 fréquence supérieure à celle de votre écran ((exemple 100 hz. cette option n'affecte que le logiciel compiz et son rafraîchissement : elle ne forcera pas une fréquence diffèrente sur votre écran matériel.))
* Cocher Sync vers Vblank.
Si possible Sync to Vblank doit aussi être coché dans les pilotes propriétaires nvidia.
=== Downgrader 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, [[tutoriel/comment_editer_un_fichier|é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 reboot vous constatez que la taille de l'écran revient en 640x480 ou 800x600 et que sous nvidia-settings vous avez réglé la taille en 1024x768 ou supérieur ,[[tutoriel/comment_editer_un_fichier|éditez le fichier]] ''/home/user/.config/monitors.xml''
no
redémarrer et tester
==== L'enregistrement des réglages de nvidia-settings provoque un crash ====
Un moyen de contourner ce problème est expliqué [[https://bugs.launchpad.net/ubuntu/+source/nvidia-settings/+bug/286424/comments/80|sur son rapport de bug]] : Le crash est lié au fait que nvidia-settings essaie de modifier un fichier qui pour une raison ou l'autre ne correspond plus à votre configuration actuelle sans que cela vous ait empêché de charger une session graphique. En clair, ce bug 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 à //blacklister// certains modules.
Pour cela, [[tutoriel/comment_editer_un_fichier|éditez le fichier]] ''/etc/default/linux-restricted-modules-common'' en ''root'' et remplacez :
DISABLED_MODULES=""
par :
DISABLED_MODULES="nvidia nvidia_legacy"
(voir [[http://forum.ubuntu-fr.org/viewtopic.php?pid=1276656#p1276656|ce post]])
==== Multi-écran et extension Xinerama ====
Xinerama est la méthode utilisée par le serveur X pour informer le gestionnaire de fenêtre (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 implementation 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 suivant dans le fichier Xorg.conf :
Option "TwinView" "true"
//[[http://wiki.compiz-fusion.org/Hardware/NVIDIA|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.
un lien vers le forum [[http://forum.ubuntu-fr.org/viewtopic.php?pid=2412737#p2412737]]
==== Multi-écran, TwinView et PAS Xinerama ====
Il est possible d'avoir un multiple écran twinview sans que les barres de menu 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, ...). Pour déplacer une fenêtre sur l'écran d'à coté, il suffira juste de la déplacer à la souris. Elle se maximisera (ou fullscreenera) 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écaler de 1280px à droite de l'écran CRT fixé à la résolution 1280x1024.
Puis il faut rajouter la section
Section "ServerFlags"
Option "Xinerama" "0"
EndSection
qui désactive xinerama.
==== Multi-écran et les jeux ====
Le multi-écran pose [[http://www.nvnews.net/vbulletin/showthread.php?t=94076|problème]] avec les jeux. Parmi les problèmes possibles :
* affichage plein écran à cheval sur les 2 é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 [[#Multi-écran et extension Xinerama|l'extension Xinerema]] ça n'est pas possible car une seule définition apparait dans l'outil de [[configurer_son_ecran|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 point-virgules) :
- Affichage étendu sur 2 écrans (le deuxième étant l'écran externe décalé à 1440 pixel à droite)
- Affichage sur l'écran plat du portable
- 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 [[multi-ecran#xrandr_double_ecrans|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.
//[[http://apprendrelinux.blogspot.com/2008/06/jouer-en-plein-cran-avec-un-dual-screen.html|source]] : (jouer en plein écran à Urban Terror (ou autres jeux) avec un dual screen)//
==== Configuration SLI ====
Il semblerait que depuis Ubuntu 8.10 la détection des cartes lors de l'installation du pilote échoue
Une page est dédié à ce problème : [[nvidia_sli|Nvidia et SLI]]
==== Redémarrage en low-graphics suite à mise à jour ====
== Réinstaller le pilote ==
Suite à une mise à jour (du noyau) qui se serait mal passée, au moment de rebooter, vous redémarrez en low-graphics et/ou êtes bloqué en 800×600, votre pilote est cassé.
1ère chose, essayer 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 headers n'ont pas été bien installés, ce que l'on va résoudre ici :
On répare les éventuels problèmes dans aptitude (dépendances, paquets mal installés, etc.)
sudo apt-get install -f
On réinstalle le headers 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 headers, 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 [[nvidia#réinstaller le pilote|réinstaller le pilote]] maintenant que le noyau est propre.
==== Problème de résolution au démarrage et à l'arrêt ====
Avec les pilotes propriétaires et à partir de Lucid Lynx 10.04, la résolution au démarrage et à l'arrêt est très faible.
Le problème vient de [[Plymouth]]. Toute la manoeuvre à faire pour corriger ce problème est décrite [[http://www.clapico.com/2010/05/02/logo-baveux-ubuntu-dans-lucid-lynx-par-le-joli/|dans cet article]].
===== Lien externe =====
* [[https://wiki.ubuntu.com/HardwareSupportComponentsVideoCardsNvidia|page Nvidia de la doc anglaise]] avec la liste des compatibilités
* [[http://www.ubuntugeek.com/howto-install-nvidia-190-25-beta-drivers-in-ubuntu-jauntyintrepidhardy.html|page Installation des pilotes en version béta]]
* [[http://willem.engen.nl/projects/disper/|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.
----