Ceci est une ancienne révision du document !
Cartes graphiques NVIDIA
Introduction
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.
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.
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
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.
Installation du pilote propriétaire
Méthode automatique
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.
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.
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 )
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
- 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ème → pilote 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
- Ajoutez le PPA ppa:nvidia-vdpau/ppa2) dans vos sources de logiciels.
- Puis rechargez la liste des paquets. ( Ici la mise à jour NVIDIA )
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.
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'anticrénelage ou d'anisotropie ;
- connaître la température de la carte graphique ;
- etc.
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
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
Options principales
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 » :
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) :
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 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, …
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 :
Manuellement (xorg.conf) pour Ubuntu < 10.04 LTS
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"
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.
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 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 :
- Appuyez sur <Ctrl><Alt><F1> ;
- 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>⌫. ⌫ est la touche « ← » ou <Retour arrière> au dessus de la touche « Entrée ».
À 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)
- 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é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 :
Overclock
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.
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".
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 /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'à 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.
- 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".
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.
FAQ, notes ou problèmes récurrents
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.
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
.
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
.
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) :
- Affichage étendu sur 2 écrans (le deuxième étant l'écran externe décalé de 1440 pixels à 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 ''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 :
- 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.
- 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
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 ).
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 aptitude 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.
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
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.