Carte graphique sur plusieurs noyaux différents

Bonjour à tous

Voilà la question est dans le titre du post…
Cette question est liée à mon précédent post (viewtopic.php?f=3&t=25151)
J’ai compilé et installé le noyau 2.6.32-2 sur pc fixe, lancé le script Nvidia et ça roule.
Sauf que si je retourne sur le 2.6.26, je n’ai plus ma carte…
Je ne trouve pas la manière de procéder d’autant plus que sur mon portable, quand j’essaie d’inclure le module Nvidia à la compilation (make-kpkg --rootcmd fakeroot --initrd --append-to-version=seb linux-image modules_image)
ça plante à la construction du .deb du module Nvidia… :smt013
Et je pense que c’est la solution la plus propre (un module Nvidia par noyau…)
Je suis sûrement passé à côté de quelque chose, mais ce n’est pas faute d’avoir cherché et de m’être acharné depuis deux semaines pour bien comprendre le fonctionnement et la manière de procéder…

Bon, d’autres questions vont suivre par rapport à la compilation… Genre le répertoire de compilation : /usr/src/linux-… ou /home/moi/src/linux…
Mais chaque chose en son temps :slightly_smiling:

D’avance merci pour vos lumières

Un détail : dans les options de kernel, abstiens toi de choisir
des options incompatibles comme le frame-buffer nvidia qui ne font pas bon ménage avec le patch.

$ grep NVIDIA /usr/src/linux-2.6.32.3/.config

Une méthode pas idéale mais qui isole chaque étape .
compiler puis y appliquer le patch

appliquer le binaire de nvidia sur un noyau compilé maison avec les en-têtes (“headers”) .

make-kpkg kernel_image kernel_headers

A la suite de quoi tu obtiens deux paquets image.deb et headers.deb.
Tu les installe tout deux, tu redémarre sur le noyau dernièrement installé puis tu applique les binaires nvidia sur celui-ci.
Si le patch coince, un message d’erreur devrait expliciter la cause.
Tu renouvelle l’opération pour chaque nouveau noyau.

Salut,

Confirmation :

Plusieurs noyaux = oui mais un seul à la fois fonctionne avec le driver nvidia.

Merci pour vos réponses!

Bon, je ne comprends donc pas l’utilité de compiler le module Nvidia avec le noyau…

@ etxeberrizahar :

[quote]Un détail : dans les options de kernel, abstiens toi de choisir
des options incompatibles comme le frame-buffer nvidia qui ne font pas bon ménage avec le patch.[/quote]

-> oui, merci, je l’ai lu ça.

[quote]$ grep NVIDIA /usr/src/linux-2.6.32.3/.config

Une méthode pas idéale mais qui isole chaque étape .
compiler puis y appliquer le patch

appliquer le binaire de nvidia sur un noyau compilé maison avec les en-têtes (“headers”) .

make-kpkg kernel_image kernel_headers

A la suite de quoi tu obtiens deux paquets image.deb et headers.deb.
Tu les installe tout deux, tu redémarre sur le noyau dernièrement installé puis tu applique les binaires nvidia sur celui-ci.
Si le patch coince, un message d’erreur devrait expliciter la cause.
Tu renouvelle l’opération pour chaque nouveau noyau.[/quote]

-> Pas compris…
et quelle différence entre kernel_image kernel_headers et linux_image linux_headers ?

Désolé pour ces questions qui peuvent paraitre stupides… je suis vraiment novice en compilation noyau…

Si l’on s’écarte trop du sujet : viewtopic.php?f=3&t=25151

Merci à vous deux pour vos réponses en tout cas.

Je détaille un peu en espérant ne pas t’assommer

$ grep NVIDIA /usr/src/linux-2.6.32.3/.config

rechercher le terme exact NVIDIA (en majuscule) au sein de /usr/src/linux-2.6.32.3/.config
dernière version stable du noyau linux en date, au 11/01/2010 linux-2.6.32.3
kernel.org/

But de l’opération : voir les choix propres à nvidia choisis lors de la sélection des options du noyau linux.
Après “make oldconfig” ou “make menuconfig” puis enregistrement, les réglages sont stockés dans le fichier “.config” à l’endroit de compilation /usr/src/linux-2.6.??

.config contient les options assignées en dur (y), en modules (m) ou ignorées (is not set)

En retour de commande tu obtiens quelque chose comme :

CONFIG_AGP_NVIDIA=y

CONFIG_FB_NVIDIA=is not set

CONFIG_BACKLIGHT_MBP_NVIDIA is not set

Le frame-buffer nvidia (FB_BVIDIA) est présentement ignoré
La commande grep suggérée était liée au détail du frame-buffer; commande inutile après coup, puisque

-> oui, merci, je l’ai lu ça.

quelle différence entre kernel_image kernel_headers et linux_image linux_headers

kernel/linux, linux est un kernel( noyau), tout les noyaux ne sont pas linux
kernel = noyau (BSD, hurd, linux …), linux = exclusivement noyau linux.
debian/linux c’est pas une loi intangible, une manière de rappeler que debian/BSD ou debian/hurd ont droit de citée .

image/headers image= démarrable , headers = développable, retouchable

La méthode suggérée a besoin des headers installés pour inclure les binaires nvidia.
Exécuter le fichier “run” de chez nvidia
Le fichier “run” de chez nvidia s’applique sur un noyau avec ses sources ( linux-headers).
Il s’applique sur le noyau en cours d’utilisation préalablement compilé et démarré ( linux-image)

Je te proposai seulement de séparer la compilation du noyau et l’ajout pour déterminer où ça coince au lieu de tout faire en même temps.

Si tu n’es pas encore assommé , dirige toi vers trucs et astuces de ce présent forum

NVIDIA Facile - Installation des pilotes nvidia pour Debian :
viewtopic.php?p=132779#p132779

Merci beaucoup etxeberrizahar du temps que tu m’accordes!, je viens de recompiler un 2.6.32.3 (je l’ai vu hier et je récupère mes sources sur kernel.org)

Bon, tout va bien, je ne suis pas assomé! :wink:

Le grep donne ça :
CONFIG_AGP_NVIDIA=m

CONFIG_FB_NVIDIA is not set

CONFIG_BACKLIGHT_MBP_NVIDIA=m

J’installe mon nouveau noyau, lance le .run d’Nvidia et je te réponds de suite.

Merci encore!

Bon… Bein ça marche…

Je ne comprends pas pourquoi.
J’ai fais comme les fois précédentes SAUF que je n’ai pas installer les nvidia-kernel etc…
alors que sur mon fixe, tout cela était installé, j’ai mis mon nouveau noyau, le .run nvidia et je n’ai pas eu de soucis…

Un grand merci en tout cas.

Mais là, quelques questions me taraudent…
Je suppose que si je retourne sur le 2.6.26, je n’ai pas ma carte activée. (c’est ce qui se passe sur mon fixe)
Comment faire pour que ça marche sur tous mes noyau (je sais je pinaille, mais je voudrais comprendre)
Et une autre question (plus ou moins hors sujet) quand à l’endroit d’où je compile un nouveau noyau…

Merci encore

C’est une erreur d’éxécuter le .run de Nvidia. Ce .run va t’écraser les librairiesexistantes; Eventuellement avec checkinstall. Si tu veux le dernier module de nvidia (je parle du module) pour ton noyau.

  1. Décompresse le .run

francois@totoche:/var/tmp$ mkdir blop francois@totoche:/var/tmp$ ls -l *.run -rwxr-xr-x 1 francois francois 22680135 déc. 23 08:40 NVIDIA-Linux-x86-185.18.36-pkg1.run -rwxr-xr-x 1 francois francois 22245788 déc. 21 12:32 NVIDIA-Linux-x86_64-185.18.36-pkg2.run francois@totoche:/var/tmp$ cd blop/ francois@totoche:/var/tmp/blop$ ../NVIDIA-Linux-x86_64-185.18.36-pkg2.run -x Creating directory NVIDIA-Linux-x86_64-185.18.36-pkg2 Verifying archive integrity... OK Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 185.18.36..................................................................... ..................................................................................... francois@totoche:/var/tmp/blop$
2) Va dans les sources du modules

francois@totoche:/var/tmp/blop$ cd NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv/ francois@totoche:/var/tmp/blop/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv$
3) lance la compilationfrancois@totoche:/var/tmp/blop/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv$ make module NVIDIA: calling KBUILD... make CC=cc KBUILD_OUTPUT=/lib/modules/2.6.30-2-amd64/build KBUILD_VERBOSE=1 -C /lib/modules/2.6.30-2-amd64/source SUBDIRS=/var/tmp/blop/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv modules make -C /lib/modules/2.6.30-2-amd64/build \ KBUILD_SRC=/usr/src/linux-headers-2.6.30-2-common \ KBUILD_EXTMOD="/var/tmp/blop/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv" -f /usr/src/linux-headers-2.6.30-2-common/Makefile \ modules test -e include/linux/autoconf.h -a -e include/config/auto.conf || ( \ echo; [...] -pkg2/usr/src/nv/nvidia.ko /var/tmp/blop/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv/nvidia.o /var/tmp/blop/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv/nvidia.mod.o NVIDIA: left KBUILD. francois@totoche:/var/tmp/blop/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv$ le module est là

francois@totoche:/var/tmp/blop/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv$ ls -l *.ko -rw-r--r-- 1 francois francois 12265222 janv. 12 14:11 nvidia.ko francois@totoche:/var/tmp/blop/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv$

  1. recopiues ton module dans ton arborescence

[code]francois@totoche:/var/tmp/blop/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv$ suMot de passe :
totoche:/var/tmp/blop/NVIDIA-Linux-x86_64-185.18.36-pkg2/usr/src/nv# cp nvidia.ko /lib/modules/uname -r/kernel/drivers/video/

depmod -ae

/code]
C’est fini. Il ne te reste qu’à installer les librairies nvidia-glx «and enjoy»

Bonjour!
Merci pour ta réponse, je test ça sur mon 2.6.26 des que j’ai un moment.
ça veut dire que ça me permet d’avoir un module nvidia par noyau, si je suis bien…

Absolument, make clean entre chaque compilation…

ouhla!!
j’ai trouvé une méthode ( un peu crade certes, mais qui marche! ) bien plus simple( j’ai eu le problème pour switcher entre noyau rt et normal ):
pour conserver le driver du noyau actuel:

[code]root@debian:/root/# cp /lib/modules/uname -r/kernel/video/nvidia/nvidia.ko .

on reboot avec l’autre noyau, on installe le driver.

cp /root/nvidia.ko /lib/modules/ICI_METTRE_NOM_DU_NOYAU_PRÉCÉDENT/kernel/video/nvidia/

rebooter sur le 1er noyau pour vérifier.

[/code]
voilou.

Et le module est accepté par le nouveau noyau??? Ça m’étonnerait bien ça…
Que donne modinfo nvidia sous chacun des noyaux

[quote=“fran.b”]Et le module est accepté par le nouveau noyau??? Ça m’étonnerait bien ça…
Que donne modinfo nvidia sous chacun des noyaux[/quote]
Bah le nouveau noyau s’en fout, c’est pas dans son répertoire…
( mon exemple était peut être pas clair , je refais avec des vrais noms )

[code]# cp /lib/modules/2.6.32-2.slh.4-sidux-amd64/kernel/video/nvidia/nvidia.ko /mon/rep/tmp

reboot avec l’autre noyau(rt par exemple), on installe le module pour le noyau rt, et ensuite

cp /mon/rep/tmp /lib/modules/2.6.32-2.slh.4-sidux-amd64/kernel/video/nvidia/nvidia.ko

[/code]
Et les deux parties s’en portent à merveille!

Quel est l’intérêt de bouger le module nvidia.ko? Il n’est de toute façon pas concerné lors de l’installation du nouveau module? Le pbm n’est pas d’installer le nouveau module mais de le fabriquer…

Salut,

cp /lib/modules/2.6.32-2.slh.4-sidux-amd64/kernel/video/nvidia/nvidia.ko /mon/rep/tmp

reboot avec l’autre noyau(rt par exemple), on installe le module pour le noyau rt, et ensuite

cp /mon/rep/tmp /lib/modules/2.6.32-2.slh.4-sidux-amd64/kernel/video/nvidia/nvidia.ko

Que prouves tu en le remettant au même endroit ?

Bonjour à tous!

Merci pour toutes ces réponses mais j’avoue ne plus tout suivre là… :blush:

Bon, je me suis lancé dans un peu de personnalisation de mon bureau hier (3 semaines que j’ai ce portable et que je rame, donc un peu de détente hein…) et me suis rendu compte que firefox n’appréciait guère ma carte (affichage à la vas-y comme j’te pousse au passage de la souris, défilement long et saccadé…) et j’ai fais une bêtise…
J’ai suivie ce topic un peu aveuglement blocnotelinux.blogspot.com/2009/ … -lent.html et plus de X…
J’ai donc tout viré en suivant celui que me recommandait etxeberrizahar à savoir viewtopic.php?p=132779#p132779 , désinstallé les headers puis réinstallés (puisque j’ai du virer des répertoires nvidia à la main dans ces dits headers) et voici les messages :

[code]vouiajour:/usr/src# dpkg -i linux-headers-2.6.32.3-seb_2.6.32.3-seb-10.00.Custom_i386.deb
Sélection du paquet linux-headers-2.6.32.3-seb précédemment désélectionné.
(Lecture de la base de données…
dpkg : avertissement important : le fichier contenant la liste des fichiers du paquet « nvidia-kernel-2.6.26-2-686 » étant manquant, il est considéré qu’aucun fichier du paquet n’est actuellement installé.

dpkg : avertissement important : le fichier contenant la liste des fichiers du paquet « nvidia-kernel-common » étant manquant, il est considéré qu’aucun fichier du paquet n’est actuellement installé.
104506 fichiers et répertoires déjà installés.)
Dépaquetage de linux-headers-2.6.32.3-seb (à partir de linux-headers-2.6.32.3-seb_2.6.32.3-seb-10.00.Custom_i386.deb) …
Paramétrage de linux-headers-2.6.32.3-seb (2.6.32.3-seb-10.00.Custom) …
vouiajour:/usr/src# [/code]

Voilou.
Je vais (ce soir, je dois partir là) suivre la méthode de fran.b à savoir décompresser et compiler le .run d’Nvidia etc…
à moins que les message lors de la réinstallations des headers ne vous posent problème…
Je suis un peu larguer là…

Un grand merci à tous pour votre aide et votre patience.

Bon… bein ça marche pas.

seb@vouiajour:~/nvidiamod$ ../NVIDIA-Linux-x86-190.53-pkg1.run -x
Creating directory NVIDIA-Linux-x86-190.53-pkg1
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86 190.53...............................................................................................................................
.....................................................................................................................................
........................................
seb@vouiajour:~/nvidiamod$
seb@vouiajour:~/nvidiamod$ ls
NVIDIA-Linux-x86-190.53-pkg1
seb@vouiajour:~/nvidiamod$ cd NVIDIA-Linux-x86-190.53-pkg1/usr/src/nv/
seb@vouiajour:~/nvidiamod/NVIDIA-Linux-x86-190.53-pkg1/usr/src/nv$ make module

...
NVIDIA: left KBUILD.
seb@vouiajour:~/nvidiamod/NVIDIA-Linux-x86-190.53-pkg1/usr/src/nv$ ls -l *.ko
-rw-r--r-- 1 seb seb 9594608 jan 13 22:39 nvidia.ko
seb@vouiajour:~/nvidiamod/NVIDIA-Linux-x86-190.53-pkg1/usr/src/nv$
seb@vouiajour:~/nvidiamod/NVIDIA-Linux-x86-190.53-pkg1/usr/src/nv$ su
Mot de passe :
vouiajour:/home/seb/nvidiamod/NVIDIA-Linux-x86-190.53-pkg1/usr/src/nv# cp nvidia.ko /lib/modules/`uname -r`/kernel/drivers/video/
vouiajour:/home/seb/nvidiamod/NVIDIA-Linux-x86-190.53-pkg1/usr/src/nv# depmod -ae
vouiajour:/home/seb/nvidiamod/NVIDIA-Linux-x86-190.53-pkg1/usr/src/nv#
vouiajour:/home/seb/nvidiamod/NVIDIA-Linux-x86-190.53-pkg1/usr/src/nv# aptitude install nvidia-glx
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Lecture de l'information d'état étendu     
Initialisation de l'état des paquets... Fait
Lecture des descriptions de tâches... Fait 
Les NOUVEAUX paquets suivants vont être installés :
  nvidia-glx
0 paquets mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 7680ko d'archives. Après dépaquetage, 22,8Mo seront utilisés.
Écriture de l'information d'état étendu... Fait
Prendre : 1 http://ftp.fr.debian.org stable/non-free nvidia-glx 173.14.09-5 [7680kB]
7680ko téléchargés en 6s (1231ko/s)                                           
Sélection du paquet nvidia-glx précédemment désélectionné.
(Lecture de la base de données...
dpkg : avertissement important : le fichier contenant la liste des fichiers du paquet « nvidia-kernel-2.6.26-2-686 » étant manquant,
 il est considéré qu'aucun fichier du paquet n'est actuellement installé.

dpkg : avertissement important : le fichier contenant la liste des fichiers du paquet « nvidia-kernel-common » étant manquant, il 
est considéré qu'aucun fichier du paquet n'est actuellement installé.
114336 fichiers et répertoires déjà installés.)
Dépaquetage de nvidia-glx (à partir de .../nvidia-glx_173.14.09-5_i386.deb) ...
Paramétrage de nvidia-glx (173.14.09-5) ...
Lecture des listes de paquets... Fait             
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Lecture de l'information d'état étendu     
Initialisation de l'état des paquets... Fait
Écriture de l'information d'état étendu... Fait
Lecture des descriptions de tâches... Fait       

vouiajour:/home/seb/nvidiamod/NVIDIA-Linux-x86-190.53-pkg1/usr/src/nv#

Alors je vois bien que 190.53 et 173.14.09-5 c’est pas pareil hein!.. et je me doute que le problème vient de là, mais comment le
résoudre… J’ai constater la même chose sur différentes autres installations de ces derniers jours…

-> un rapport avec ce que je n’aurais sans doute pas du supprimer tout à l’heure ???

Bonjour à tous!

J’ai réinstallé ma Lenny et recompilé mon noyau histoire d’être sûr de repartir sur du “propre”.
Je suis le tuto viewtopic.php?p=132779#p132779
et …
vouiajour:/home/seb# apt-cache policy nvidia-kernel-source
nvidia-kernel-source:
Installé : (aucun)
Candidat : 173.14.09-5
Table de version :
190.42-3 0
98 ftp.fr.debian.org sid/non-free Packages
173.14.09-5 0
982 ftp.fr.debian.org lenny/non-free Packages
986 ftp.fr.debian.org squeeze/non-free Packages

Alors que mon pilote, c’est le 190.53…

Il y a un truc essentiel à côté duquel je dois passer là… Je ne comprends pas…
Si quelqu’un pouvait me donner une piste…

Merci à tous.

Ne pas confondre:

  • Tu as le module noyau pour ta carte

  • Le driver nvidia pour xorg

  • Les librairies graphiques spécifiques.

  • Ce que apt croit avoir chargé.

  • Tu peux faire fonctionner un module plus récent avec des librairies plus anciennes.

  • apt n’est au courant que de la version du paquet que tu as installé.

  • Tout ce que tu fais hors d’apt (entre autres les manips de .run sont ignorées par apt…

D’accord
Donc nvidia-glx_173.14.09-5_i386.deb c’est pas grave alors? (voir mon post précédent)

Et pour ta méthode (décompresser le .run etc…) je n’ai pas de paquets particulier à installer?! (genre nvidia-kernel)