Aller au contenu

Pilotes Nvidia, Debian/GNU Linux


Messages recommandés

Il y 2 types de drivers nvidia pour les distributions linux. Au debut, il fallait installer

dans un premier temps le noyau des pilotes de la carte graphique, puis le glx, qui correspond

a l'acceleration materielle,indispensable pour jouer par exemple. Depuis un peu de temps deja

Nvidia fournit ses drivers sous forme d'un script d'install tout en un. Cela est donc bien

plus facile pour l'utilisateur d'installer ces pilotes.

Pilotes Nvidia

Requis :

- le script d'install bien sur, lien ci-dessus.

- les sources du noyaux

- la version de gcc avec laquelle a ete compile le noyau

Pour les sources du noyau si vous ne les avez pas, 2 solutions :

- soit telecharger les sources de votre noyau chez debian : apt-get install kernel-source[version voulue]

- soit telecharger un noyau pur chez www.kernel.org

Il faut absolument avoir un lien symbolique qui pointe vers les sources du noyau, ce lien doit etre

nomme /usr/src/linux. Par exemple si les sources du noyau se trouvent dans le repertoire :

/usr/src/linux-2.6.6

vous devrez creer un lien grace a ln :

ln -s /usr/src/linux-2.6.6 /usr/src/linux

Vous devez aussi utiliser la meme version de gcc qui a ete utilise pour compiler le noyau, si par exemple

votre noyau a ete compile avec gcc 3.2, vous devrez cree un lien /usr/bin/gcc qui pointe vers gcc 3.2 :

mv /usr/bin/gcc /usr/bin/gcc.old

ln -s /usr/bin/gcc-3.2 /usr/bin/gcc

ps : pour connaitre la version de gcc qui a ete utilisee pour compiler votre noyau, cat /proc/version

1. Pilotes recents ( avec le script )

Apres avoir telecharge le fichier contenant les pilotes Nvidia, placez le dans /usr/src

pour faire proprement les choses :

mv <nom du fichier telecharge> /usr/src/

cd /usr/src/

Changement des droits pour l'execution au cas cela pose probleme :

chmod 755 <nom du fichier telecharge>

Lancement du script :

./<nom du fichier telecharge>

Il suffit de faire preceder le nom du fichier par "./"

Une interface graphique se lance et vous pose un certain nombre de questions :

- License -> vous devez accepter les termes de la license ( differents de la

philosophie debian ) pour pouvoir installer ces pilotes nvidia.

- packages sur le ftp de nvidia : le script vous informe qu'il n a pas de

package ( version precompilee ) des drivers pour votre configuration, et

vous demande si vous voulez aller en chercher sur le ftp de Nvidia.

Repondez non, on va compiler les drivers ( rassurez vous le script le fera

tout seul ).

- Il est possible que le script vous informe que votre version de gcc est

peut etre differente ce celle utilisee pour compiler le noyau. Il vous

proposera de stopper l'installation. En general, vous pouvez

repondre non, l'installation peut se derouler correctement.

- Normallement, si tout se passe bien, 2 barres de progressions defilent. Je

n'ai jamais eu le temps de les lire ( c'est ca d'avoir une grosse

config... ;) ) mais je suppose que la premiere correspond a la compilation

(make ) du pilote et la seconde a son installation ( make install ).

Typiquement, si vous n'avez pas un lien /usr/src/linux qui pointe vers les

sources du noyau, a la fin de la premiere barre de progression, un message

vous avertira de ce probleme, en vous signalant que l'installation a

echoue ( installation failed ). Sinon, a la fin de la seconde barre de

progression vous devriez voir apparaitre un message vous disant que

l'installation s'est bien deroulee ( successful ).

Pensez ensuite a modifier votre fichier de configuration de X, en general

/etc/X11/XF86Config-4

2. Pilotes anciens ( obsolete, utilisez des drivers plus recents de preference )

/!\ PAs teste sous noyaux 2.6.x, donc cela vaut uniquement pour les 2.4, je ne reponds de rien pour les

2.6.x mais vous pouvez tjs me soumettre votre probleme, soit sur le forum soit par mail, remy_harel@yahoo.fr

Si vous avez des pilotes plus anciens et que pour une raison X ou Y ( elles ont interet a etre bonnes :fumer: )

vous ne pouvez pas vous procurer de versions plus recentes, il va falloir faire ca "a l'ancienne" :

Vous avez 2 fichiers, un contenant le mot "kernel" et l'autre le mot "glx". Si vous ne comptez pas utiliser

l'acceleration 3D, la partie glx n'est pas necessaire. Deplacez ces fichiers dans /usr/src/ puis decompressez les :

si ce sont des fichiers dont le nom fini par .tar.gz, remplacer "jxf" par "xzf" :

2.1 Kernel

tar jxf <nom du fichier kernel>.tar.bz2

cd <repertoire cree >

./configure

make

make install

2.2 GLX

tar jxf <nom du fichier GLX>.tar.bz2

cd <<repertoire cree >

./configure

make

make install

2.3 Charger les modules

Avec cette methode, les modules ne sont pas automatiquement charges au demarrage, il faudra donc

les ajouter manuellement dans "/etc/modules".

Normallement, pour un noyau 2.4 ce module devrait etre dans :

/lib/modules/<version du noyau>/kernel/driver/video/nvidia.o

Dans ce cas, "echo nvidia >> /etc/modules"

Toutefois la premiere fois, juste apres la compil, pour ne pas avoir a rebooter, taper :

insmod /lib/modules/<version du noyau>/kernel/driver/video/nvidia.o

en remplacant bien sur la version du noyau par le repertoire correspondant, normallement qq

chose comme : "2.4.25"

/****** Pensez a modifier votre fichier de configuration de X */

Ensuite, il faudra penser a modifier /etc/X11/XF86Config-4, il y a une ligne qui comporte le mot "nv", il faut

le remplacer par "nvidia".

Lorsque vous lancerez startx, ou que X se lancera, vous devriez voir apparaitre un court lap de temps le logo nvidia sur fond blanc.

Pilotes recents testes sur :

2.4.22

2.4.23

2.4.25

2.4.26

2.6.0

2.6.1

2.6.3

2.6.4

2.6.6

Pilotes anciens testes sur :

2.4.19

2.4.20

2.4.21

2.4.22

2.4.23

Commentaires et suggestions bienvenus.

Lien vers le commentaire
Partager sur d’autres sites

ben je partais du principe que tu avais deja les sources du noyau installe sur la distro, mais effectivement....

( en fait, j'utilise toujours un kernel pur, venant de kernel.org, jamais un de debian )

donc c'est plutot www.kernel.org :ouioui:

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

bonjour,

je suis nouveau ds la secte linux :-D:transpi:

voici mon PB: j'arrive pas a installer la 3D nvidia

J'ai installe Debian Sarge (2.6.6) sur An7 (Nforce)

(seul le mode expert m'a permis d'activer le resaux)

puis ->apt-get install kernel-source-2.6.6

decompressé -> /usr/src/kernel-source-2.6.6

et le reste comme expliqué ici. :D mais ca marche pas!

est-ce le lien ln -s /usr/src/linux-2.6.6 /usr/src/linux qui foire ?

peut etre que ln -s /usr/src/kernel-source-2.6.6 /usr/src/linux serait la soluce?

merci de votre aide

Lien vers le commentaire
Partager sur d’autres sites

est-ce le lien ln -s /usr/src/linux-2.6.6 /usr/src/linux qui foire ?

Je n'en sais rien, mais c'est une des raisons pour lesquelles l'installation peut echouer. Que donne ls -l harl /usr/src ??? et uname -a ( pour voir la version actuelle de ton noyau ) ?

pour en etre sur:

rm -rf /usr/src/linux; ln -s /usr/src/kernel-sources-2.6.6 /usr/src/linux

En fait, il faut avoir les sources du noyau sur lequel on a boote pointees par un lien /usr/src/linux et il faut utiliser aussi la meme version de gcc qui a ete utilisee pour compiler le noyau.

un uname -a te donnera la version du noyau sur lequel tu es, ex :

Pai-mei:~# uname -a
Linux Pai-mei 2.6.4 #7 SMP Wed May 26 21:53:01 CEST 2004 i686 GNU/Linux
Pai-mei:~# 

Par exemple on voit ici que sur cette machine je suis sur un noyau linux, le nom de ma machine est pai mei ( kill bill vol 2 ), la version du noyau est un 2.6.4 compile 7 fois et qu'il supporte le multiproc ( SMP)

ensuite, la version de gcc utilisee pour compiler ton noyau, tapes cat /proc/version :

Pai-mei:~# cat /proc/version 
Linux version 2.6.4 (root@Pai-mei) (gcc version 3.3.3 (Debian 20040422)) #7 SMP Wed May 26 21:53:01 CEST 2004
Pai-mei:~# 

Typiquement, je suis logge en root sur Pai-mei et j'ai recompile mon noyau pour la derniere fois le mercredi 26 mai a 21h53 avec un gcc 3.3.3 data du 22 avril 2004.

Enfin, pour avoir ta version actuelle de gcc, gcc -v :

Pai-mei:~# gcc -v
Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.4/specs
Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
Thread model: posix
gcc version 3.3.4 (Debian 1:3.3.4-2)
Pai-mei:~# 

La par exemple j'utilise un gcc 3.3.4-2, donc different de celui avec lequel j'ai recompile mon noyau. je ne pourrais donc installer ( compiler pour etre precis ) les drivers nvidia, j'aurais un message me signalant que ma version de gcc est differente de celle utilisee pour compiler le noyau.

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ta reponse

ca fait 10 jrs que j'aissaie de m'initier et felicitation pour ton post... (s'ils pouvaient tous etre aussi clair !) :non:

J'ai bien un kernel 2.6.6 compile avec gcc 3.3.3

mais # gcc -v me donne <command not found>

Avec ln -s /usr/bin/gcc-3.3.3 /usr/bin/gcc

il y a bien un fichier gcc cree ds usr/bin mais il est vide (de texte...)

est-ce bien 'gcc-3.3.3' qu'il faut ecrire? (ou gcc 3.3.3)

ln -s /usr/src/kernel-sources-2.6.6 /usr/src/linux me fait avancer d'un pas :yaisse:

En lancant le script nvidia j'ai l'erreur "make:***[select_makefile] erreur 1"

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ta reponse

ca fait 10 jrs que j'aissaie de m'initier et felicitation pour ton post... (s'ils pouvaient tous etre aussi clair !)

merci , :transpi:

J'ai bien un kernel 2.6.6 compile avec gcc 3.3.3

tu es sur que tu es boote dessus ? ( uname -a )

mais # gcc -v me donne <command not found>

gcc --version devrait fonctionner

Avec ln -s /usr/bin/gcc-3.3.3 /usr/bin/gcc

ben donne moi le resultat de :

ls -harl /usr/bin | grep gcc

En lancant le script nvidia j'ai l'erreur "make:***[select_makefile] erreur 1"

j'aimerais la trace complete du resultat du lancement du script stp....

Lien vers le commentaire
Partager sur d’autres sites

Pour le ln, il ne marche peut-être pas tout bêtement parceque le lien existe déjà :

ls -al /usr/src

si drwxrwxrwx linux -> linux.2.x.yy.zzzz

tu peux faire un "rm linux" avant de faire ton ln

[ Oups ça c'est réglé ]

gcc n'est pas forcément installé sur une Debian, si avec le tasksel tu n'as pas choisis "Development".

2 solutions :

apt-get install gcc

ou

tasksel (et tu choisis la catégorie development)

(perso je préfère la première solution)

Lien vers le commentaire
Partager sur d’autres sites

il se pourrait effectivement qu'il n'ait pas gcc d'installe, vu le command not found. C'est meme fortement possible.

Debrigant, il faut evidemment avoir gcc d'installer pour pouvoir faire qqchose sous linux....Meme si Sanderman a raison en preferant la premiere solution, je te conseille tout de meme de repasser par tasksel car il y a beaucoup de librairies et autres pour c, donc c'est plus simple via tasksel.

Lien vers le commentaire
Partager sur d’autres sites

Bon juste quelques remarques...

->Quelques fois, il faut lancer le script avec sh au lieu de ./ ("sh NVIDIA-....run"), c'est d'ailleur ce qui est marqué dans la doc, en plus cela évite de faire le chmod...

->il n'y a pas besoin de mettre le .run dans /usr/src

...je regarde si il y a autre chose...

EDIT : bon ben non, le reste à l'air bon...

'va falloir que je fasse pareil pour gentoo ... oh je vais rajouter au topic gentoo pour pas prendre trop de place ... et au moins, sous gentoo, il y a le bon gcc et les sources du noyau... :francais::yes:

Lien vers le commentaire
Partager sur d’autres sites

hum..... :sm::transpi::duel1::sm::rhooo:

1. il n'y a pas de bon gcc mais celui qui a ete utilise pour compiler le noyau

2. deplacer les script dans /usr/src n'est pas indispensable, mais c'est plus propre et plus corect.

EDIT : bon ben non, le reste à l'air bon...

Ouah, merci pour le cours ! :transpi:

Lien vers le commentaire
Partager sur d’autres sites

hum.....  :yes:  :roll:  :mike:  :mad2:  ;)

1. il n'y a pas de bon gcc mais celui qui a ete utilise pour compiler le noyau

2. deplacer les script dans /usr/src n'est pas indispensable, mais c'est plus propre et plus corect.

Ouah, merci pour le cours ! :-D

ben avoir le gcc qui a été utilisé pour compilé n'est pas un problème puisqu'in a tout compilé nous-même...

(Sandeman : même pas, il y a gcc dans un stage3 !!! :mad2:)

Sur ce, je sors faire le tuto pour gentoo (je suis déjà dehors :prof: )

Lien vers le commentaire
Partager sur d’autres sites

Pai-mei:~# ls -harl /usr/bin/ | grep gcc

lrwxrwxrwx    1 root     root            7 Jul  1 21:06 i486-linux-gcc-3.3 -> gcc-3.3

lrwxrwxrwx    1 root     root            7 Jul  1 21:06 i386-linux-gcc-3.3 -> gcc-3.3

lrwxrwxrwx    1 root     root            7 May 25 22:54 i386-linux-gcc-3.2 -> gcc-3.2

lrwxrwxrwx    1 root     root            7 Jun 15 22:09 i386-linux-gcc -> gcc-3.3

-rwxr-xr-x    1 root     root          16K Jun 26 13:27 gccbug-3.3

-rwxr-xr-x    1 root     root          16K Dec 23  2003 gccbug-3.2

-rwxr-xr-x    1 root     root          16K Apr  8  2002 gccbug-3.0

lrwxrwxrwx    1 root     root           10 Jun 15 22:09 gccbug -> gccbug-3.3

-rwxr-xr-x    1 root     root          84K Jun 26 13:33 gcc-3.3

-rwxr-xr-x    1 root     root          79K Dec 23  2003 gcc-3.2

-rwxr-xr-x    1 root     root          73K Apr  8  2002 gcc-3.0

-rwxr-xr-x    1 root     root          69K Mar 10 07:47 gcc-2.95

lrwxrwxrwx    1 root     root            7 Jun 15 22:09 gcc -> gcc-3.3

Pai-mei:~#

je suis suffisament arme pour recompiler mes noyaux...non tuxxx ? De toutes facons, mes noyaux ne viennent jamais d'une distrib mais de kernel.org.

Lien vers le commentaire
Partager sur d’autres sites

je suis suffisament arme pour recompiler mes noyaux...non tuxxx ? De toutes facons, mes noyaux ne viennent jamais d'une distrib mais de kernel.org.

j'ai jamais dit le contraire, je suis sûr qu'il y a ce qu'il faut...

C'est juste que sous gentoo, y'a obligatoirement gcc, puisque tout se compile...

C'était juste une boutade :D , d'ailleur c'est étonnant que tu t'énerve pour une petite ligne de commentaire (limite en P.S, en plus) ...

Je n'ai rien contre debian (au contraire !!!), et pour le moment, les deux distribs que j'aime le moins sont SuSE (obligé d'utiliser apt? :chinois: ) et LFS (dépendances à la main? :fumer: )

Sinon, gentoo c'est bien pour les gros PC, je trouve portage excellent, mais pour les petits, c'est pas la peine...

Debian, je pense que je n'ai vu que le "côté obscur" (debian woody bien pour les serveurs :mdr: mais j'ai pas vu de sarge donc je peux pas dire plus ... apt a l'air très bien, sonc ça ne peut être que bien !)

De toute façon, mes références sont gentoo et debian ... donc :mdr::fumer:

Lien vers le commentaire
Partager sur d’autres sites

'ailleur c'est étonnant que tu t'énerve pour une petite ligne de commentaire

C'est vrai en y repensant..... Mais journee de merde, j'ai eu des ptits pb avec mes putains de sockets.... :yes: donc un peu venere rem....

:smack::D

D'ailleurs, tu me previens quand tu passes sur brest, on se fait une demo linux et on boit un verre ! :modoreussi:

Lien vers le commentaire
Partager sur d’autres sites

D'ailleurs, tu me previens quand tu passes sur brest, on se fait une demo linux et on boit un verre ! :modoreussi:

Pas de problème, là dessus !

Mais déjà il faut que je récupère mon PC (enfin qu'il arrive, c'est pas gagné...)

...et puis vu que je travaille, ça va être début septembre...

Lien vers le commentaire
Partager sur d’autres sites

alors,

tasksel inutile car tout est installe(sauf le chinois,l'atlande et qq autres langues :mdr: )

mon gcc.old pointe vers gcc-3.3

En le restaurant:

gcc -v me donne <gcc 3.3.4 (Debian)> :mdr:

pour le noyau <gcc version 3.3.3(Debian 20040101)>

comme je le presageais dans mon post precedent c'est un pb de synthaxe dont la logique m'echappe completement :D

:roll: lien 3.3=3.3.4 :byebye: ??=3.3.3 :byebye: : un smiley a gagner pour celui qui complete la serie... ;)

Ps: y a t-il plusieurs versions a installer ou bien y a t-il compatibilite ascendante entre les diff versions du compilateur (gcc est bien un compilateur c++?) ?

Lien vers le commentaire
Partager sur d’autres sites

le pb n'est pas la, il te faut le meme gcc que celui utilise pour compile ton noyau. Cependant, ptet qu'un 3.3.4 pourrait satisfaire un noyau compile avec un gcc 3.3.3 car ce sont tous deux des 3.3.x mais j'en doute quand meme un peu.² Je ne vois pas ou est ton pb de syntaxe, c'est un lien, rien de plus, comme sous windaube ! Tu as une cible ( /usr/bin/gcc-3.3 ) et un nom de raccourci ( /usr/bin/gcc ). donc regardes le nom exact du fichier dans /usr/bin ( ls -harl /usr/bin | grep gcc ) et la tu choisis le bon, le meme que celui indique par cat /proc/version

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...