Bonjour,
Lors du choix de mon nouveau PC (
http://www.guilde.asso.fr/lurker/thread/20090207.094156.df011668.fr.html ),
j'ai choisi une carte videa nVidia 8400 GS.
Suite à cette installation de base :
(
http://www.guilde.asso.fr/lurker/message/20090207.104706.de3aaf4b.fr.html),
voici un peu plus en détail l'installation de la carte video, puisque c'est une partie importante.
Matériel :
- parce que pas cher : 34 euros
- parce que pas de ventilateur : pas de bruit
- parce que dispo en magasin
Le choix logiciel :
- parce qu'il y a un forum www.nvnews.net
- parce que vu que cette carte marchait sur unbuntu mais j'ai perdu le lien
Problème qui pourront déranger certains :
- VDPAU ne semble pas marcher :
http://www.nvnews.net/vbulletin/showthread.php?t=125016&highlight=GeForce+8400
Ca ne m'a pas dérangé jusqu'à présent ... donc, je suppose, je n'utilise pas.
VDPAU, ça doit avoir un intérêt pour ceux qui veulent décodage des formats H.264, VC-1 et MPEG-2.
C'est lié à la HD.... bref, ça me dépasse un peu pour le moment.
- finalement, ma carte n'est pas non plus la carte vidéo du siècle. Voir plus bas.
Je vais faire avec pour le moment.
Mes critères de test :
- regarder les bandes annonces plein écran (ça dépend peut-être plus de flash que de ma carte)
==> http://www.cinemasgaumontpathe.com/cinemas/cinema-pathe-echirolles/
Cliquer sur [Bande annonce], cliquer sur [Plein Ecran]
- un peu de dessin 2D
prompt> wget http://www.inkscape-fr.org/wp-content/uploads/2008/10/feu_artifice_svg.svg
prompt> inkscape feu_artifice_svg.svg
.... zoomer dedans
Voyez cette image si vous voulez zoomer comme moi avec inkscape :
prompt> wget http://perso.numericable.fr/~jljathom/temp/feu_artifice_svg.png
et puis basculer de contexte (Alt+tab)
et revenez sur inkscape et déclenchez le chrono..... jusqu'à un affichage complet.
- un peu de 3D : pour voir des objets créés pour wings3d
Point de repère : il y a 3 drivers différents.
- le driver vesa / frame buffer.
- le driver libre nv pour les cartes nvidia.
- le driver nvidia propriétaire gratuit, redisribuable mais pas libre.
1/ Driver vga / frame buffer
C'est celui qui vient par défaut lors de l'install.
Et donc, le X serveur marche du premier coup. Et kde marche aussi du premier coup.
C'est un bon choix de défaut.
Il vaut mieux qu'il soit en ordre de marche. Si un jour les autres drivers vous laissent à pied,
vous pourrez toujours le remettre pour lancer une interface graphique, et puis aller sur le web
pour récupérer une mise à jour.
promt> cat /etc/X11/xorg.conf
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "fr"
Option "XkbOptions" "ctrl:nocaps"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
EndSection
Section "Device"
Identifier "Configured Video Device"
# laisser vide pour laisser xorg choisir. Sinon :
# Driver "vesa" # pour forcer à prendre vesa
EndSection
Section "Monitor"
Identifier "Configured Monitor"
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
EndSection
Pour le garder sous le coude :
cp /etc/X11/xorg.conf /etc/X11/xorg.conf_mon_FB_qui_marche
test glxgears :
prompt> glxgears
Xlib: extension "GLX" missing on display ":0.0".
Error: couldn't get an RGB, Double-buffered visual
On s'y attendait .... je le mets quand même, comme ça c'est clair
test flash (bandes annonces flash plein ecran ) :
flash marche : oui
plein écran : oui mais l'image se fige assez souvent une demi seconde avant de repartir.
Léger décallage son/image.
test dessin 2D inkscape :
impression écran du test décrit plus haut : 8 secondes
test 3D (wings) :
ecran gris. ça ne plante pas mais ça ne sort rien du tout.
2/ Driver libre nvidia
Inutile d'installer les paquets nvidia-kernel* , nvidia-glx*
Le seul à installer, c'est xserver-xorg-video-nv
root# apt-get install xserver-xorg-video-nv
prompt> man nv
/etc/X11/xorg.conf
Section "Device"
Identifier "Device0"
Driver "nv"
EndSection
test glxgears :
prompt> glxgears
Xlib: extension "GLX" missing on display ":0.0".
Error: couldn't get an RGB, Double-buffered visual
test flash (bandes annonces flash plein ecran ) :
flash marche : oui
plein écran : oui mais l'image est sacadée en permanence et un léger décalage entre
le son et l'image. On sent bien nettement qu'on est sur un PC et pas sur une télé.
Même chose qu'avec vesa frame buffer.
test dessin 2D :
impression écran du test décrit plus haut : 8 secondes
test 3D (wings) :
ecran gris. ça ne plante pas mais ça sort rien du tout.
Conclusion : autant prendre le driver vesa frame buffer. Ca parait quasi équivalent.
Note :
Lors du test des cas 1 (vesa) et 2 (driver libre nv), au début, je changeais juste les lignes dans
/etc/X11/xorg.conf en commentant la ligne "driver "nv"". Ce n'est pas suffisant parce que
le driver nv est chargé s'il est trouvé :
Section "Device"
Identifier "Configured Video Device"
# Driver "nv" ... commentaire sans effet
EndSection
Donc, xorg est intelligent, et s'adapte en détectant les drivers disponibles si vous ne spécifiez pas de driver,
il prend celui qui parait le mieux.
C'est en allant voir dans /var/log/Xorg.conf qu'on s'en aperçoit vraiment :
< (II) LoadModule: "vesa"
< (II) Loading /usr/lib/xorg/modules/drivers//vesa_drv.so
contre
> (II) LoadModule: "nv"
> (II) Loading /usr/lib/xorg/modules/drivers//nv_drv.so
Et donc, il faut spécifier
Section "Device"
[...]
Driver "vesa"
EndSection
pour être certain avoir le bon driver.
Mais de toute façon, la conclusion c'est que le driver nv ou bien vesa frame buffer sont presque équivalents.
3/ Driver nvidia proprio
Bon, alors là, au niveau des paquets debian, c'est le bordel. Il faut savoir qui est quoi.
Repère 1 : Il faut toujours (qq soit la méthode) deux trucs :
- un module noyau
- un module pour xorg
Repère 2 : nvidia incrémente très vite les versions, et on trouve des dénominations du genre
96.xx.xx, 173.xx.xx (en 2005), 177.xx (Janvier 2009), 180.xx (Fevrier 2009).
De 96, à 173, à 180, le chiffre des versions s'incrémente vite dernièrement ... ça m'a perturbé au début.
Nvidia est assez actif, ça évolue vite.
Alors, sur debian, il y a 3 grands groupes qui ne cohabitent pas ensemble :
Groupe 1 : les paquets legacy basés sur version 96.xx
- module noyau : nvidia-kernel-legacy-96xx-2.6.26-1-686-bigmem
- module pour xorg : nvidia-glx-legacy-96xx
Groupe 2 : les paquets nvidia (sans le legacy)
- module noyau : nvidia-kernel-2.6.26-1-686-bigmem
- module pour xorg : nvidia-glx
Ceci est basé sur version 173.xx dans les paquets debian lenny en Février 2009.
Groupe 3 : script NVIDIA-xxxxxx.run du site nvidia (pas spécial à debian) qui fait les deux :
- module noyau
- module pour xorg
on recompilant/téléchargeant ce qu'il faut depuis le net. La version est 180.xxx en Février 2009.
groupe 1 : les paquets legacy
prompt> apt-cache show nvidia-glx-legacy-96xx
==> pas de support 8400 GS
==> règlé. à oublier.
groupe 2 : les paquets nvidia (sans le legacy)
root# apt-get install nvidia-kernel-2.6.26-1-686-bigmem
root# apt-get install nvidia-glx
==> le lancement de X plante le PC. Rien de bien flagrant dans /var/log/Xorg.log
==> bouton reset
==> Ca ne marche pas. Oublions.
==> root# apt-get remove --purge nvidia-kernel-2.6.26-1-686-bigmem nvidia-glx nvidia-kernel-common
groupe 3 : avec le script NVIDIA-xxxxxx.run du site nvidia
Olivier Allard-Jacquin a déjà fait une doc qui se trouve dans les archives guilde en
fichier attaché à ce mail :
http://www.guilde.asso.fr/lurker/message/20080716.204250.c7bfbec0.fr.html
J'ai donc suivi cette doc à qq différences près.
root# uname -r
2.6.26-1-686-bigmem
==> c'est cette version de linux header qu'il me faut
root# apt-get install linux-headers-2.6.26-1-686-bigmem
==> le script NVIDIA-xxxxxx.run en aura besoin pour recompiler et fabriquer son module nvidia.ko
Je ne recompile pas tout le noyau à la main, parce que dans mon cas, le support de Paravirtualization
ne provoque pas de souci.... pour l'instant !
prompt> grep CONFIG_PARAVIRT /boot/config-2.6.26-1-686-bigmem
CONFIG_PARAVIRT_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_CLOCK=y
Comme c'est la config par défaut de debian (et non bidouillée), je ne touche à rien et donc, seul le
"linux-headers" suffit. Et donc pas de recompilation de noyau moi-même.
C'est le script NVIDIA-xxxxxx.run qui fera une recompilation uniquement du module nvidia.ko et il ira le placer
tout seul au bon endroit dans /lib/modules/2.6.26-1-686-bigmem/...
téléchargement :
Aller sur http://www.nvidia.com/Download/index.aspx?lang=en-us , et télécharger le driver adéquat.
prompt> wget http://fr.download.nvidia.com/XFree86/Linux-x86/180.22/NVIDIA-Linux-x86-180.22-pkg1.run
lancement :
Il faut savoir que si la version de gcc courante (v. 4.3 dans mon cas) ne correspond pas à la
version compilée du noyau (gcc v 4.1 dans mon cas), alors, le script gueule un coup.
On peut le forcer à continuer. Dans mon cas, ça a marché avec des versions de gcc différentes,
mais ça ne coute pas beaucoup d'effort d'avoir la même version.
Donc :
1- deviner à l'avance la version de gcc avec laquelle votre noyau a été compilé :
prompt> cat /proc/version
Linux version 2.6.26-1-686-bigmem (Debian 2.6.26-12) (waldi@???)
(gcc version 4.1.3 20080704 (prerelease) (Debian 4.1.2-24)) #1 SMP Mon Dec 15 18:58:47 UTC 2008
==> gcc version 4.1
2- comparer avec votre version de gcc par défaut :
prompt> gcc --version
gcc (Debian 4.3.2-1) 4.3.2
==> gcc version 4.3
3- si différent, alors installer le même compilateur gcc que le noyau :
root# apt-get install gcc-4.1
4- éteindre l'environement X (repasser en console Ctrl-Alt-F1) :
root# /etc/init.d/kdm stop
5- lancer le script NVIDIA-xxxxxx.run en lui passant le paramètre gcc qui convient :
root# env CC=gcc-4.1 sh NVIDIA-Linux-x86-180.22-pkg1.run
6- config /etc/X11/xorg.conf
Section "Device"
Identifier "Device0"
Driver "nvidia"
EndSection
test glxgears :
prompt> glxgears
12960 frames in 5.0 seconds = 2591.931 FPS
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
after 39 requests (39 known processed) with 0 events remaining.
test flash (bandes annonces flash plein ecran ) :
flash marche : oui
plein écran : oui. Pas de décalage du son. image plus fluide qu'avec les autres drivers.
Image qui reste figée une demi seconde parfois quand même.
test dessin 2D :
Là, c'est un peu la déception. Ce n'est même pas meilleur que le frame buffer !
impression écran du test décrit plus haut : 8 secondes
Si qq veut comparer :
Pour récupérer l'image de base :
prompt> wget http://www.inkscape-fr.org/wp-content/uploads/2008/10/feu_artifice_svg.svg
Pour zoomer comme moi (à peu près) :
prompt> wget http://perso.numericable.fr/~jljathom/temp/feu_artifice_svg.png
Pour essayer :
prompt> inkscape feu_artifice_svg.svg
.... zoomer à peu près comme moi : voir feu_artifice_svg.png
Faire un basculement de contexte :
Alt+Tab pour aller vers une autre vue
Alt+Tab pour revenir dans inkscape ... et déclencher le chrono jusqu'à affichage complet.
8 secondes chez moi.... bon, c'est une carte à 34 euros ... mais est-ce que c'est la seule
explication ?
Je suis en 1280x1024
Voici mon xorg :
prompt> wget http://perso.numericable.fr/~jljathom/temp/xorg.conf_nvidia
qué qui va pô ?
test 3D (wings) :
oui, là, c'est super fluide ... presque mieux qu'en 2D ... mais pas du tout le même soft, et
pas du tout même data.
mais j'suis content qd même.
Jean-Luc.