Nvidia( X )
De Diablotins.org.
| Les pilotes pour cartes graphiques Nvidia
|
| ||
| Vous utilisez une carte graphique Nvidia dont vous souhaitez utiliser les performances et les possibilités. En d'autres termes, soyons francs: vous voulez jouer.
|
Sommaire |
Les pilotes libres
Ces pilotes sont moins performants que le suivant, mais ils ont l'avantage d'être très simple à installer et de fonctionner sur toutes les plate-formes.
Installé en général par défaut, il vous suffit de définir dans /etc/X11/xorg.conf l'entrée “Driver” de la section “Device” associée à votre serveur X à:
Section "Device" Identifier "GeForce" Driver "nv"
De fait, cette rubrique n'est même pas nécessaire; par défaut, Xorg va utiliser ce pilote.
Le tout dernier, encore en cours de test, car il nécessite le pilote «drm».
Contrairement au précédent, il supporte le protocole OpenGL.
Installez le port x11-drivers/xf86-video-nouveau et suivez les instructions qui s'affichent à la fin de l'installation, soit:
david:~>cat /usr/ports/x11-drivers/xf86-video-nouveau/pkg-message
...
Installing it should be as simple as below procedure provided you have
base sources in /usr/src.
# cd /usr/src/sys
# fetch http://people.freebsd.org/~rnoland/drm-nouveau-062309.patch
# patch -sp0 -i drm-nouveau-062309.patch
# cd modules/drm
# make depend all install
Puis utilisez «nouveau» dans /etc/X11/xorg.conf.
Section "Device" Identifier "GeForce" Driver "nouveau"
Le pilote Nvidia
Ce pilote est plus complexe à installer; cependant, écrit par le constructeur, il est bien plus adapté à votre carte.
Pré-requis
Ce pilote requiert la compatibilité Linux si vous souhaitez utiliser la 3D dans les applications Linux et, si vous utilisez une branche supérieure, la compatibilité 5.x.
Si vous utilisez déjà un pilote Nvidia, relancez X11 avec le pilote libre du paragraphe précédent le temps de mettre à jour ce dernier.
Je recommande de plus de ne pas faire tourner X-Window du tout.
Installation par le port
Pour obtenir une version pour des cartes modernes, il suffit d'installer le port, sans préciser d’extension:
- Actuellement, il s'agit par défaut du pilote 256.xx.yy, pour les cartes les plus modernes ( Quatro, GeForce 7, etc.) : x11/nvidia-driver.
- Pour 'vieilles' GEForces: “x11/nvidia-driver-96xx”.
- Pilote officiellement supporté par FreeBSD, toutes cartes: “x11/nvidia-driver-71xx”.
Pour être sûr du pilote à installer, consulter la liste des cartes située à l'annexe E de la documentation d'un des pilotes.
Nvidia ayant parfois du mal à suivre les évolutions de FreeBSD et de Xorg, parfois rapides,
-à moins que ce ne soit l'inverse, -
je vous conseille néanmoins d'essayer le paragraphe qui suit.
Installation manuelle
Enregistrez le pilote qui vous est proposé sur le site dans le répertoire de votre choix et décompressez le:
tar -xf NVIDIA-FreeBSD-x86-v.x-n.tar.gz v.x-n est le numéro de version
Entrez dans le répertoire ainsi créé:
cd NVIDIA-FreeBSD-x86-v.x-n
Installez le pilote:
make install
ou
make all install X11BASE=/usr/X11R6 Versions de Xorg précédants la 7.0
Désormais, X11 utilise le dernier pilote écrit par Nvidia. Et surtout, ce pilote a écrasé la version des pilotes OpenGL et GLX de Xorg, nécéssaire au bon fonctionnement de votre station de jeux. Vous allez rapidement voir la différence entre les temps d'éxécutions des applications OpenGL.
Une fois que le bon fonctionnement du pilote est avéré, conservez surtout dans un coin ce pilote; il vous sera très utile, notamment lors d'une mise à jour de Xorg, qui a la facheuse habitude d'installer ses propres modules GLX et OpenGL.
Module
Une fois le module installé, vous devriez le retrouver dans /boot/modules/nvidia.ko et dans les clefs du systèmes hwnvidia:
david:~>sysctl hw.nvidia hw.nvidia.version: NVIDIA UNIX x86_64 Kernel Module 270.41.03 Sat Apr 9 00:04:34 PDT 2011 hw.nvidia.registry.EnableVia4x: 0 hw.nvidia.registry.EnableALiAGP: 0 hw.nvidia.registry.NvAGP: 1 hw.nvidia.registry.ReqAGPRate: 15 hw.nvidia.registry.EnableAGPSBA: 0 hw.nvidia.registry.EnableAGPFW: 0 hw.nvidia.registry.Mobile: 4294967295 hw.nvidia.registry.ResmanDebugLevel: 4294967295 hw.nvidia.registry.RmLogonRC: 1 hw.nvidia.registry.ModifyDeviceFiles: 1 hw.nvidia.registry.DeviceFileUID: 0 hw.nvidia.registry.DeviceFileGID: 0 hw.nvidia.registry.DeviceFileMode: 438 hw.nvidia.registry.RemapLimit: 0 hw.nvidia.registry.UpdateMemoryTypes: 4294967295 hw.nvidia.registry.InitializeSystemMemoryAllocations: 1 hw.nvidia.registry.UseVBios: 1 hw.nvidia.registry.RMEdgeIntrCheck: 1 hw.nvidia.registry.UsePageAttributeTable: 4294967295 hw.nvidia.registry.EnableMSI: 0 hw.nvidia.registry.MapRegistersEarly: 0 hw.nvidia.registry.RegisterForACPIEvents: 1 hw.nvidia.registry.dwords: hw.nvidia.cards.0.model: GeForce 6150SE nForce 430 hw.nvidia.cards.0.irq: 22 hw.nvidia.cards.0.vbios: 05.61.32.19.04 hw.nvidia.cards.0.type: PCI
Configurer X
Éditez le fichier /etc/X11/xorg.conf et définissez le pilote du terminal qui vous intéresse à “nvidia”:
Section "Device" Identifier "GeForce" Driver "nvidia" BoardName "GeForce2 Go"
D'autre part, supprimez ou commentez le module suivant:
Load "GLCore"
Inhibez les modules suivants:
Disable "dri"
Ajoutez enfin celui-ci:
Load "glx"
Enfin, relancez X.
Le bus AGP
Certains pilotes anciens, disponibles pour les branches IV de FreeBSD par exemple, exigent l'utilisation du propre pilote du bus AGP de nvidia.
En ce cas, retirer le pilote le périphérique AGP du noyau, chargez le pilote AGP de nvidia par le Gestionnaire de démarrage et définissez l'entrée suivante dans xorg.conf:
Option "NvAGP" "1"
nvidia settings
Vous pouvez installer cet outil via le port x11/nvidia-settings.
Ensuite, lancez simplement “nvidia-settings”.
Ce dernier est une interface graphique qui vous permet d'effectuer quelques réglages, de les enregistrer puis de les appliquer (nvidia-settings -l) et, enfin de consulter l'état de votre carte.
C'est re-devenu lent?
Réinstallez le pilote par le port ou le pilote manuel que vous avez évidemment conservé suivant mes conseils.
Une mise à jour a certainement écrasé les modules de Nvidia.
Variables de contrôle
Vous pouvez vérifier vos paramètres par quelques variables systèmes.
- Version du pilote
david:~>sysctl hw.nvidia.version hw.nvidia.version: NVIDIA UNIX x86_64 Kernel Module 275.09.07 Wed Jun 8 14:13:48 PDT 2011
- Vos cartes:
david:~>sysctl hw.nvidia.cards hw.nvidia.cards.0.model: GeForce 6150SE nForce 430 hw.nvidia.cards.0.irq: 22 hw.nvidia.cards.0.vbios: 05.61.32.19.04 hw.nvidia.cards.0.type: PCI
- Tout un tas d'options pour les spécialistes:
david:~>sysctl hw.nvidia.registry
AMD64
Il n'existe depuis fin 2009 un pilote pour la plateforme AMD64, à partir des branche 8 et 7.3.
Nvidia requiert certaines fonctionnalités dans le noyau de FreeBSD pour écrire son pilote.
Dont voici la liste.
Xgl,Composite
Xgl, comme AIGLX, sont une couche de Xorg qui permet de confier le gros du travail d'affichage à votre carte graphique.
Ils sont nécessaires pour obtenir les effets de compiz fusion.
Mais, même si vous ne désirez pas ces effets ( transparence, 3D, fenêtres élastiques etc. ), cela donnera un coup de fouet à votre PC, le ou les processeurs étant libérés des tâches d'affichage.
Installez x11-wm/compiz-fusion, puis configurez Xorg comme suit:
Section "Module"
Load "extmod"
Load "glx"
Disable "dri"
Load "dbe"
Load "record"
Load "xtrap"
Load "type1"
Load "freetype"
Load "vbe"
EndSection
Section "Device"
Identifier "Card0"
Driver "nvidia"
VendorName "nVidia Corporation"
BoardName "NV43 [GeForce 6600/GeForce 6600 GT]"
Option "RenderAccel" "True"
Option "AddARGBGLXVisuals" "True"
Option "DamageEvents" "True"
EndSection
Section "Extensions" Option "Composite" "Enable" EndSection
Précisez la profondeur de l'affichage, si ce n'est pas déjà le cas:
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
Option "AddARGBGLXVisuals" "True"
#...
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Pour les autres, pour demander les effets, tapez:
compiz --replace --sm-disable --ignore-desktop-hints ccp & emerald --replace &
Utilisez ccsm pour configurer les effets.
En savoir plus
Note
L'auteur, une fois la configuration effectuée, profitant de la 3D, a démarré une partie de bzflag.
Il n'en est toujours pas revenu. Ce qui explique le caractère incomplet de ce document.

