Gcolpart.com by reg

NVIDIA Geforce FX 5600 sous Linux

Il s'agit d'une carte NVIDIA Geforce FX 5600.
# lspci
01:00.0 VGA compatible controller nVidia Corporation NV31 [GeForce FX 5600] (rev a1)
# lspci -n
01:00.0 Class 0300: 10de:0312 (rev a1)
Cette carte est listée dans les README des différents drivers NVIDIA...

Tout d'abord, précisons que si vous n'avez pas besoin de performances graphiques élevées, vous pouvez utiliser le driver nv ou vesa de XFree86 (il vous faudra peut-être une version assez récente de XFree86). Voici un fichier de configuration: XF86Config-4.

Passons aux choses sérieuses et à l'installation des fameux drivers nvidia non libre distribué ici.
J'ai tenté d'installation avec plusieurs versions des drivers NVIDIA: 4496, 4620 et 5328...

Il existe de nombreuses méthodes d'installations:
-Avec un installeur automatique
-En recompilant le driver par soi-même


Pour un noyau 2.4.x, récupérer un script sous le forme NVIDIA-Linux-x86-1.0-xx-pkgX.run sur http://www.nvidia.com/object/linux.html et bien lire le README. L'installation des entêtes kernel-headers est requise.
# chmod +x NVIDIA-Linux-x86-1.0-xx-pkgX.run
# ./NVIDIA-Linux-x86-1.0-xx-pkgX.run \
--kernel-include-path=/usr/src/kernel-headers-2.4.x/include
Ensuite on vérifie que le module nvidia est bien chargé:
# lsmod
Module                  Size  Used by
nvidia               2070120  0
Il faut maintenant éditer le fichier de configuration de XFree86 (/etc/X11/XF86Config-4 sous Debian GNU/Linux) et y faire figurer à la place de l'ancienne ligne Driver, la ligne suivante:
Driver          "nvidia"
Il suffit ensuite de lancer XFree86 par la commande startx par exemple..
Pour plus de renseignements, voir http://andesi.org/forum/viewtopic.php?t=691
Mais malheureusement, voici ce que j'obtenais quand je fais startx:

capture ecran


L'écran était donc freezé et je ne pouvais accéder à la machine que par le réseau où je peux tuer le processus XFree86 qui prenait 100% du processeur! Pourtant dans les logs, tout indiquait marcher convenablement..
Mais ce problème est résolu (voir ci-dessous)
J'ai testé également la méthode de recompilation à la main. On trouvera l'explication sur http://andesi.org/article.php?id=dnvidia.

Pour un noyau 2.6, on peut utiliser les drivers NVIDIA de http://www.nvidia.com/object/linux.html en les "patchant" à l'aide patch du site http://www.minion.de/nvidia.html.
Je precise que j'ai compilé mon noyau sans framebuffer (donc sans rivafb):
# fbset
open /dev/fb0 : No such device
Dans le menu Character devices, j'ai mis les options /dev/agpart (CONFIG_AGP) et ALI cipset support (CONFIG_AGP_ALI) (ALI correspond au chipset de ma carte mère). J'ai essayé avec et sans l'option NVIDIA nForce/nForce2 chipset support (CONFIG_AGP_NVIDIA). Je n'ai bien sûr pas mis le DRM...
On suivra attentivement le README qui nous indiquera de télécharger les drivers NVIDIA-Linux-x86-1.0-xxxx-pkgX.run et le patch NVIDIA_kernel-1.0-xxxx-2.6.diff.bz2 dans un même répertoire. Ensuite faire:
 # sh NVIDIA-Linux-x86-1.0-xxxx-pkgX.run --extract-only
# cd NVIDIA-Linux-x86-1.0-xxxx-pkgX/usr/src/nv
# bzcat ../../../../NVIDIA_kernel-1.0-xxxx-2.6.diff.bz2 | patch -p1
# ln -s ln -s Makefile.kbuild Makefile
# export IGNORE_CC_MISMATCH=1
# make install
# make KERNDIR=/usr/src/linux-2.6.x module
# cp nvidia.ko /lib/modules/2.6.x/kernel/drivers/video
# depmod -a 2.6.x
A partir de là on peut charger/décharger son module nvidia grâce à modprobe/rmmod
Il existe un installeur patché pour le noyau 2.6 sur http://www.sh.nu/download/nvidia/, néanmoins il faudra probablement lancer les commandes suivantes pour lancer l'installation:
# export IGNORE_CC_MISMATCH=1
# ./NVIDIA-Linux-x86-1.0-XXXX-pkgX.run --kernel-install-path=/usr/src/linux

Une fois que l'on a spécifié d'utiliser le driver nvidia dans son fichier de configuration de XFree86, on peut lancer un startx. Pour mon grand malheur, cela ne fonctionnait pas (résultats similaires aux images ci-dessus avec plus de couleurs!!).
Mais j'ai finalement trouvé la solution grâce à cette indication:
'Linux 2.6 AGPGART seems to be broken on some chipsets. If you find that your system hangs upon starting X, potentially with ASCII garbage all over the screen, try the built-in NVIDIA AGP GART driver (Option "NvAgp" "1", AGPGART not loaded) instead.'...
Il faut donc rajouter la ligne suivante dans la section Device du fichier de configuration de XFree86:
Option 	"NvAgp"	"1"
Et là.. tout fonctionne :)
Voici mon de configuration: XF86Config-4

Voici donc ce que me donne un xvinfo et un glxinfo
Et le glxgears:

glxgears

$ glxgears
18023 frames in 5.0 seconds = 3604.600 FPS
18010 frames in 5.0 seconds = 3602.000 FPS
18048 frames in 5.0 seconds = 3609.600 FPS
18011 frames in 5.0 seconds = 3602.200 FPS
18025 frames in 5.0 seconds = 3605.000 FPS
Tuxracer est donc fluide :)

Mise à jour (janvier 2005) :
Tout marche toujours aussi bien. Je suis avec un noyau 2.6.10 (compilé à la main) et le driver installé grâce au fameux script et la commande :
# ./NVIDIA-Linux-x86-1.0-xx-pkgX.run \
--kernel-source-path=/usr/src/linux--2.y.z
(la commande --kernel-source-path est désormais préférable)
J'obtiens en moyenne 3645 FPS avec les derniers drivers...
J'ai d'ailleurs eu l'occasion d'installer ces pilotes sur plusieurs modèles de carte NVIDIA (FX5200, FX5700, etc.) et je n'ai pas recontré de problèmes particuliers. Avec un peu de recul, NVIDIA propose donc des pilotes de plutôt bonne qualité bien que non libres. On a donc la possibilité d'avoir la 3D sous Linux avec une large gamme de cartes (bon marché, récente) ce qui n'est, d'après ce que j'ai vu, pas le cas des cartes à base de puces ATI (la 3D marche rarement facilement avec les cartes récentes). Pour faire un petit tour, les cartes Matrox semblent avoir de très bonnes performances et des pilotes libres !! Mais attendons les prochains mois pour voir ce que donneront les nouvelles puces graphiques XGI...

powered by Apache     powered by Debian     Valid XHTML 1.1     Valid CSS     ecrit avec Vim    
Copyright (c) 2002-2014 Gregory Colpart. Infogerance serveur