Les cartes graphiques nVidia sur Mandriva
XFree86 et X.Org possèdent leur propre pilote nVidia. Ce pilote est installé par défaut dans les version MandrakeLinux 7.2 et supérieures si l'installateur détecte une carte nVidia. Il s'est révélé plus stable sur certains systèmes, mais n'offre pas les fonctionalités du pilote propriétaire, dont les performances 3D et 2D améliorées. À partir de la version nvidia-8756-1plf, les chipset nVidia GeForce 6100 & 6150 (sur cartes mères Nforce) sont reconnus automatiquement et configurables avec XFdrake / drakconf.
C'est de ce dernier dont on parlera ici.
- Composition du pilote nVidia
- Obtenir et installer les pilotes nVidia
- Après l'installation
- Problèmes
- Optimisation des performaces du driver
- Utiliser la sortie vidéo sur sa carte NVidia
- Documents connexes:
Composition du pilote nVidia
Le pilote graphique fourni par nVidia se compose de plusieurs parties :
- Un module pour le noyau qui est constitué de deux parties : une interface qui doit être compilée et le pilote binaire pour le noyau
- Le pilote binaire pour XFree ou X.Org
- Un ensemble de librairies pour supporter l'OpenGL et son extension "GLX"
Obtenir et installer les pilotes nVidia
Les pilotes diponibles sur le site ne peuvent pas être redistribués, tout du moins au sens de la GPL. Mandriva Free (anciennement download edition) étant une distribution GPL, elle ne peut donc pas les inclure. En revanche, si vous faîtes partie du Club Mandriva ou si vous achetez une version contenant les drivers nVidia, vous aurez les paquetages Mandriva fournis avec.
Les paquetages Mandriva
Vous pouvez obtenir les paquetage nécessaire aussi simplement que n'importe quel autre logiciel. Il vous suffit d'utiliser urpmi ou rpmdrake, comme habituellement.
Pour LE2005 ou supérieur : vous pouvez installer le paquetage "dkms-nvidia". Par le biais des dépendances, cela installera quatres choses supplémentaires si ce n'est pas déjà fait :
-
- dkms qui est un outil qui compile automatiquement des modules pour le noyau, sans intervention de votre part
- gcc, le compilateur pour GNU Linux (et les outils qui vont avec : make, etc.)
- kernel-sources, les sources du noyau linux (choisissez la version -stripped si vous le pouvez : cela occupe moins de place)
- nvidia, le pilote proprement dit
(note : compléter ici pour l'autre manière d'installer, avec les deux RPMS NVIDIA_GLX et NVIDIA_kernel...)
Le pilote à partir du site nvidia
Rendez-vous à la section linux du site, puis suivez les instructions afin de télécharger le pilote (IA32 est le pilote pour les processeurs 32 bits : c'est celui qu'il vous faut dans 90% des cas). Vous obtiendrez un fichier se terminant par ".run". Retenez le nom du répertoire dans lequel il a été téléchargé.
Il vous faudra aussi installer les paquetages suivants : "gcc" et "kernel-source".
Ensuite, il vous faudra quitter l'interface graphique X avant de lancer l'installation. Pour cela :
- Fermer sa session
- Taper ctrl+alt+f1
- Se logger en tant que root
- Taper "telinit 3"
- Aller dans le répertoire où se trouve le fichier
- Taper "chmod +x *run"
- Lancer l'éxécutable en tapant son nom précédé de "./"
Après l'installation
Une fois l'installation du driver effectuée, lancez XFdrake et choisissez votre carte graphique à nouveau dans l'interface qui se présente à vous (XFDrake est accessible en mode texte aussi).
Si vous êtes encore un mode graphique, quitter votre session, puis redémarrer le serveur X et tout devrait fonctionner.
Si vous êtes en mode texte, recharger le nouveau module nvidia en mémoire et redémarrer le gestionnaire de connexion et le serveur X :
rmmod nvidia modprobe nvidia telinit 5
Si vous avez un problème à ce stade, redémarrer votre ordinateur.
Pour tester si l'accélération 3D est effective, lancez "glxinfo" : vous devez voir les deux lignes suivantes :
direct rendering: Yes server glx vendor string: NVIDIA Corporation
Vous pouvez aussi tester l'accélération 3D avec le petit programme "glxgears" et passer la fenêtre en plein écran : les roues devraient tourner fluidement, sans saccade.
Problèmes
Le module noyau ne se charge pas automatiquement
Si vous avez des problèmes alors que l'installation semble bien s'être déroulée, vérifiez que le module "nvidia" est bien chargé : tapez en root "lsmod | grep nvidia". Si il n'est pas présent, taper "modprobe nvidia" et relancer la commande précédente. Si il s'est correctement chargé, c'est que Mandriva n'a pas détecté correctement votre carte : relancer XFdrake et rechoisissez votre carte à nouveau. Dans le pire des cas, rajoutez la ligne "nvidia" dans le /etc/modprobe.preload devrais résoudre ce problème.
Le fichier de configuration de X n'est pas correct
Si le module était déjà chargé mais que néanmoins vous n'avez pas d'accélération, cela peut-ête du à un problème dans votre fichier de configuration du serveur X. Si vous utilisez X.Org, il s'agit du fichier /etc/X11/xorg.conf. Si vous utilisez XFree86, il s'agit de /etc/X11/XF86Config-4. Dans la section "Module", vérifier que ces lignes existent (ou la rajouter si nécessaire) :
Load "freetype" Load "glx"
En revanche, si ces lignes sont présentes, il est conseillé de les enlever:
Load "dri" Load "GLcore"
Dans la section "device", vous devez trouver la ligne :
Driver "nvidia"
Si vous avez "nv" à la place de "nvidia", changez la ligne.
Autres problèmes
D'autres problèmes qui sont dûs au pilote peuvent apparaître : des "gels" de l'écran, des problèmes lors de la mise en veille ou du retour de mise en veille, un affichage buggé, etc… Le README fourni avec le pilote ou la section ci-dessous pourront vous aider.
Optimisation des performaces du driver
Un certain nombre d'options peuvent être fournies au driver. Pour avoir la liste, lisez le README fourni avec le driver nvidia ou lisez-le en ligne pour la version 7676 ici. Une fois ces options changées, il faut redémarrer X pour qu'elles prennent effet.
Vous pouvez aussi utiliser l'outil "nvidia-settings" qui permet de régler un certain nombre de paramètres sans redémarrer X.
Utiliser la sortie vidéo sur sa carte NVidia
En utilisant "Twinview"
Contribution de Christophe_deR ; Message Posté le: 07 Mai 2006 17:26 (Fil original)
Beaucoup d'entre nous on une carte vidéo qui permet une sortie vidéo et la plupart d'entre nous ne peut que constater que nvidia a tout fait pour que cette sortie vidéo soit compatible sur le système monopolisant tous les PCs du monde. Mais pour Linux : rien, macache, queude, nada, walou, niente...
Or vous auriez bien envie de passer un petit DVD sur la télé pour vos enfants pendant que vous lisez vos mails.
Stoppez tout de suite votre désarroi : une solution existe, le twinview de nvidia. Tatatata ! Bon. Pas trop d'enthousiasme, c'est une solution rustique, mais ça marche.
Voici ma solution pour une carte nvidia Geforce FX 6800 avec un écran LCD de résolution 1600x1200 et une télé que nous considérerons en résoluion 640x480 relié à la carte graphique par un câble S-vidéo/coaxial RCA (jaune). On considère que les drivers nvidia sont installés, marchent et sont utilisés par X , c'est à dire qu'ils sont mentionnés dans le fichier /etc/X11/xorg.conf.
Pour mettre en oeuvre cette solution, faites vous un fichier /etc/X11/xorg.conf.twinview que vous tirez du xorg.conf initial avec la commande :
cp /etc/X11/xorg.conf /etc/X11/xorg.conf.twinview
Sauvegardez le fichier xorg.conf initial avec :
cp /etc/X11/xorg.conf /etc/X11/xorg.conf.monoview
Vous éditez le fichier /etc/X11/xorg.conf.twinview avec votre éditeur préféré (vi, kwrite, gedit,...) pour y rajouter ces éléments dans la section Device :
Option "TwinView" Option "MetaModes" "DFP-0: 1600x1200, TV-0: 640x480" Option "SecondMonitorHorizSync" "30 - 50" Option "SecondMonitorVertRefresh" "60" Option "TwinViewOrientation" "LeftOf"
Et c'est tout. Rien de plus rien de moins.
Il ne reste plus qu'à rajouter un moyen de basculer d'un mode à l'autre.
La solution que je propose n'est pas super élégante mais elle marche et elle est simple. Vous vous faites un fichier /usr/bin/twinview qui contienne :
#! /bin/bash cp /etc/X11/xorg.conf.twinview /etc/X11/xorg.conf service dm restart
Que vous rendez exécutable avec :
chmod +x /usr/bin/twinview
Et un fichier /home//Desktop/twinview qui viendra sur votre bureau kde et qui contient :
#! /bin/bash kdesu twinview
Que vous rendez exécutable avec :
chmod +x /home/<user>/Desktop/twinview
Avant de passer en twinview, faites une sauvegarde ! Il n'y a plus qu'à cliquer sur l'icône twinview du bureau, taper le mot de passe root, et reloguer. (Bon, je sais, c'est un peu longuet, mais si vous avez plus court, je suis preneur...)
Pour repasser en simple écran, /usr/bin/monoview :
! /bin/bash cp /etc/X11/xorg.conf.monoview /etc/X11/xorg.conf service dm restart
/home//Desktop/monoview :
#! /bin/bash kdesu monoview
à rendre tous les deux exécutables. Pour repasser en simple écran, même opération que pour double écran mais en cliquant sur monoview.
Si vous avez des solutions plus pratiques, je prends.
Voilu.
Sans utiliser "Twinview"
Contribution de stephane_3189 ; Message Posté le: 17 Mai 2006 14:14 (Fil original)
Hello, voici un petit tuto qui servirat a certains peut etre pour lire leurs videos sur leurs écrans TV en ayant 2 Resolutions d'écrans differentes ,sans avoir a passer l'option "Twinview". Avant tout ! il faut faire une sauvegarde de votre xorg.conf
cp /etc/X11/xorg.conf >> / choisissez ou vous voulez faire votre sauvegarde
La sauvegarde faite nous allons modifier le xorg.conf ,il faut Modifier les sections existantes ,et Ajouter une section "monitor" une section "device" et une section "screen" ,puis pour finir le "ServerLayout". Vous pouvez tres bien modifier votre xorg.conf sous X certains n'apprecirons pas cette pratique mais elle fonctionne donc bon …
su password: kwrite /etc/X11/xorg.conf
Nous voila avec notre xorg.conf a modifier comme ci-dessous : ( figure uniquement les parties pour l'interface graphique ,monitor,device,screen,serverlayout,n'effacez pas le reste Exclamation )
Section "Monitor" Identifier "monitor0" <<<< içi je modifie et je nome mon moniteur PC en "monitor0" VendorName "Generic" ModelName "1280x1024 @ 60 Hz" HorizSync 31.5-64.3 VertRefresh 50-70 # TV fullscreen mode or DVD fullscreen output. # 768x576 @ 79 Hz, 50 kHz hsync ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630 # 768x576 @ 100 Hz, 61.6 kHz hsync ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616 EndSection Section "Monitor" <<< je rajoute une section "Monitor" Identifier "monitor1" <<< je nome ma TV "monitor1" Wink VendorName "Samsung" <<< la marque de mon TV ,mettez le votre ModelName "Plasma" <<< le modele ,pareil içi votre modele HorizSync 31.5 <<<< la resolution Horizontale ,regardez le manuel de votre TV VertRefresh 60 <<<< la resolution Verticale ,idem voir manuel TV Endsection et c'est fini pour la partie monitor ,on passe aux "device" ,on modifie et on rajoute une section device. Section "Device" Identifier "device0" <<< je modifie le device ,c'est le moniteur PC "monitor0" VendorName "nVidia Corporation" BoardName "NVIDIA GeForce FX (generic)" <<< votre carte video Driver "nvidia" <<<< le driver ! BusID "PCI:01:00:0" <<< içi le bus PCI de la carte video,code: su lspci Option "DPMS" Option "IgnoreEDID" "1" Option "Nologo" "1" Screen 0 <<<<<<<<< on rajoute,on fait comprendre que ce device serrat pour le screen 0 EndSection Section "Device" <<< on rajoute une section "Device" Identifier "device1" <<<<< voila notre TV "monitor1" VendorName "nVidia Corporation" BoardName "NVIDIA GeForce FX (generic)" <<< içi pareil votre carte video Driver "nvidia" <<< le driver BusID "PCI:01:00:0" <<< l'ID du bus PCI de la carte video Option "TVOutFormat" "SVIDEO" <<<la sortie Physique video ça peut etre ,SVIDEO,COMPOSITE,DVI,selon votre sortie Physique ,voir man nvidia . Option "TVStandard" "HD576i" <<< içi le standard TV ,en france PAL-N pour un TV tube voir man nvidia pour les autres standards Option "TVOverScan" "0.6" <<<< une option équivalente a l'OVERSCAN sur windows pour regler l'affichage en plein écran.Valeurs admises : de "0.0" a "1.0" Wink Screen 1 <<<<< pareil que pour le monitor0,on lui fait comprendre que le device serrat pour le 'screen1' Endsection et voila fini pour les section s "Device" ,on passe aus sections "Screen" Section "Screen" Identifier "screen0" <<< on modifie,"Screen0" correspond au "moniteur0" écran PC . Device "device0" <<<< son device Monitor "monitor0" <<<< le moniteur PC DefaultColorDepth 24 <<<< la resolution des couleurs,8,16,24 ,içi seulement 24. Subsection "Display" Depth 24 Modes "1280x1024" "1024x768" "800x600" "640x480" <<< les Modes de votre écran PC,résolution que votre moniteur accepte ,ne vous plantez pas . EndSubsection EndSection Section "Screen"<<< on ajoute une section screen Identifier "screen1" <<<< on ajoute "screen1",c'est la TV Device "device1" <<< son device correspondant Monitor "monitor1" <<< son monitor la TV donc DefaultColorDepth 24 << sa resolution couleur Subsection "Display" Depth 24 Modes "1024x768" "800x600" "640x480" <<< ces modes de resolutions Wink EndSubsection EndSection Fini pour les sections Screen,reste a voir la Section "ServerLayout",içi on vat faire comprendre que l'on veut notre écran TV a droite,a gauche,au dessus ,ou en dessous de l'écran PC ,voir man nvidia pour differentes otptions . Section "ServerLayout" Identifier "layout1" InputDevice "Keyboard1" "CoreKeyboard" InputDevice "Mouse1" "CorePointer" Screen 0 "Screen0" <<< le 1er écran dans mon cas Screen 1 "Screen1" rigthOf "Screen0" <<< la TV ,on la veut a droite de l'écran PC, rightOf EndSection
Le XORG.CONF au clair :
Section "Monitor" Identifier "monitor0" VendorName "Generic" ModelName "1280x1024 @ 60 Hz" HorizSync 31.5-64.3 VertRefresh 50-70 # TV fullscreen mode or DVD fullscreen output. # 768x576 @ 79 Hz, 50 kHz hsync ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630 # 768x576 @ 100 Hz, 61.6 kHz hsync ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616 EndSection Section "Monitor" Identifier "monitor1" VendorName "Samsung" ModelName "Plasma" HorizSync 31.5 VertRefresh 60 Endsection Section "Device" Identifier "device0" VendorName "nVidia Corporation" BoardName "NVIDIA GeForce FX (generic)" Driver "nvidia" BusID "PCI:01:00:0" Option "DPMS" Option "IgnoreEDID" "1" Option "Nologo" "1" Screen 0 EndSection Section "Device" Identifier "device1" VendorName "nVidia Corporation" BoardName "NVIDIA GeForce FX (generic)" Driver "nvidia" BusID "PCI:01:00:0" Option "TVOutFormat" "SVIDEO" Option "TVStandard" "HD576i" Option "TVOverScan" "0.6" Screen 1 Endsection Section "Screen" Identifier "screen0" Device "device0" Monitor "monitor0" DefaultColorDepth 24 Subsection "Display" Depth 24 Modes "1280x1024" "1024x768" "800x600" "640x480" EndSubsection EndSection Section "Screen" Identifier "screen1" Device "device1" Monitor "monitor1" DefaultColorDepth 24 Subsection "Display" Depth 24 Modes "1024x768" "800x600" "640x480" EndSubsection EndSection Section "ServerLayout" Identifier "layout1" InputDevice "Keyboard1" "CoreKeyboard" InputDevice "Mouse1" "CorePointer" Screen 0 "Screen0" Screen 1 "Screen1" rigthOf "Screen0" EndSection
Apres avoir modifié le xorg.conf et verifié que l'on a pas fait de fotes de frape Wink ,on sauvegarde ,et on fait un CTRL+ALT+BACK SPACE on redémarre le serveur X .
Maintenant ,nous resterat a faire quelques reglages du "TVOverScan" pour arriver a avoir un plein écran .
Pour lire une video,j'utilise le lecteur XINE,et une option qu'il propose ,en attendant que d'autres lecteurs proposent la mme option sans avoir a taper 8m de comandes en terminal,il permet de pourvoir en passant cette option, de lancer une video uniquement sur un écran désiré. Installez xine ,puis dans les options Gui choisir le "niveau d"experience " le plus haut. Configurer xine comme ci dessous :
Dans Gui a l'option "Nom de l'affichage video" entrez :0.1 ; 0 étant l'écran du PC ; 1 la TV en passant cette option ,nous aurons le contoleur video sur le PC ,et la video uniquement sur la TV Very Happy on sauvegarde les changements ,et on redémarre Xine .
Voila ,nous avons de quoi regarder des videos sur 2 écrans .
Si vous avez des questions ,je peu essayer d'y repondre @ bientot .
Documents connexes:
- Forum de dicussion nVidia Linux
- Page des drivers nVidia Linux
- Contributions de quelques membres à cette documentation. Celles-ci sont bien souvent obsolètes ou pour d'anciennes versions de Mandriva mais peuvent éventuellement aider.
- sep 2005, mise à jour : yoho
- mai 2002, mise à jour: Tom Berger
- sep 2001, auteur : Tom Berger
Version 1.12 modifié par kozaki le 29/05/2006 à 10:55
Données du document
Base de connaissances
- Compte perdu ?
- Rejoignez la communauté, faites partie du Club: c'est gratuit!
- Abonnez vous au service PWP!