nvidia: altes modul dauerhaft nicht laden lassen

S

supersucker

Foren Gott
[Edit]
Mir ist auch gerade aufgefallen, das der Titel saublöd ist, "dauerhaft entladen" meint ja eigentlich "nicht laden", vllt. kann das ein Mod noch ändern. Und evtl. noch eine Lösung preisgeben.......:D
[/Edit]

Hallo zusammen,

hab mir - um beryl zu nutzen - die neuesten nvidia-Treiber manuell installiert.

Das klappt auch soweit alles ohne Probleme bis auf eine Sache:

Bei jedem reboot schmiert mein X-Server ab mit der Meldung:

Code:
Error: Api Mismatch: The nvidia kernel moule has the version 1.0-8.. but this x-module has the version 1-0.9...


Ok, also falsches bzw. altes Modul geladen.

Ein

Code:
modprobe -r nvidia
modprobe nvidia
/etc/init.d/gdm start

und ich hab mein X wieder....dummerweise muss ich das halt bei jedem Reboot machen was natürlich auf Dauer kein Zustand sein kann.

Nach dem Abschmieren des X-Servers zeigt ein


Code:
lsmod | grep -i nv


nur "nvidia", sonst nichts was mit nvidia zu tun hat.

Folgende nvidia-kernel-module sind vorhanden:


Code:
find /lib/ -type f -name *.ko | grep -i nvidia
/lib/modules/2.6.17-10-generic/kernel/drivers/char/agp/nvidia-agp.ko
/lib/modules/2.6.17-10-generic/kernel/drivers/video/nvidia/nvidiafb.ko
/lib/modules/2.6.17-10-generic/kernel/drivers/video/nvidia.ko
/lib/modules/2.6.17-10-generic/volatile/nvidia_legacy.ko
/lib/modules/2.6.17-10-generic/volatile/nvidia.ko
/lib/modules/2.6.17-10-386/kernel/drivers/char/agp/nvidia-agp.ko
/lib/modules/2.6.17-10-386/kernel/drivers/video/nvidia/nvidiafb.ko



In der /etc/modules steht ausser "lp" nichts drin....und in /etc/modprobe.d/ stehen folgende files:

Code:
-rw-r--r-- 1 root root 4360 2006-07-05 04:01 aliases
-rw-r--r-- 1 root root 1690 2006-08-30 05:50 alsa-base
drwxr-xr-x 2 root root 4096 2006-10-25 15:27 arch
lrwxrwxrwx 1 root root    9 2006-12-17 20:24 arch-aliases -> arch/i386
-rw-r--r-- 1 root root  741 2006-07-05 04:01 blacklist
-rw-r--r-- 1 root root  628 2006-07-05 04:01 blacklist-framebuffer
-rw-r--r-- 1 root root  156 2006-08-30 05:50 blacklist-modem
lrwxrwxrwx 1 root root   41 2006-12-17 20:24 blacklist-oss -> /lib/linux-sound-base/noOSS.modprobe.conf
-rw-r--r-- 1 root root  567 2006-07-05 04:01 blacklist-pata
-rw-r--r-- 1 root root   38 2006-09-11 00:56 blacklist-scanner
-rw-r--r-- 1 root root  838 2006-07-05 04:01 blacklist-watchdog
-rw-r--r-- 1 root root  484 2006-10-20 20:03 bluez
-rw-r--r-- 1 root root   53 2006-10-15 21:30 ibm_acpi.modprobe
-rw-r--r-- 1 root root  205 2006-10-20 04:45 ipw3945
-rw-r--r-- 1 root root  299 2006-07-05 04:01 isapnp
-rw-r--r-- 1 root root  234 2006-10-20 04:45 lrm-video
-rw-r--r-- 1 root root   29 2006-10-09 15:33 nvidia-kernel-nkc
-rw-r--r-- 1 root root  173 2006-07-05 04:01 options
-rw-r--r-- 1 root root   41 2006-10-15 21:30 toshiba_acpi.modprobe

Deshalb nun meine Fragen:

1. Wie finde ich raus welches "falsche" Kernelmodul am Anfang geladen wird?

2. Warum funktioniert dieses absurde

Code:
modprobe -r nvidia
modprobe nvidia

überhaupt? Woher nimmt denn das system beim reinserten die Information das es nicht das Modul nehmen soll welches ich ein Befehl vorher entladen habe?

3. Wie mache ich es das beim start von X gleich das richtige Modul geladen wird und das falsche eben nicht?

Ich mein ich könnte auch einfach nach und nach alle *nvidia.ko Files aus /lib/... schmeissen und das halt dann blacklisten, aber das ist ja keine richtige Lösung.....

Danke für alle Tips!
 
Zuletzt bearbeitet:
Die Versionen der NVidia-Module sollten sich mit 'modinfo' ermitteln lassen. Dann einfach die alten löschen und gut ist.
 
Erst mal danke theton, dieses Tool kannte ich noch gar nicht....

Leider hat das mein Problem nicht gelöst, dafür aber mysteriöser gemacht und ich bin gespannt ob du auch darauf eine Antwort weisst.....:D

Hab gerade rebootet, X-Server schmiert, Ausgabe von

Code:
modinfo nvidia

ist

Code:
filename:       /lib/modules/2.6.17-10-generic/kernel/drivers/video/nvidia.ko
license:        NVIDIA
alias:          char-major-195-*
vermagic:       2.6.17-10-generic SMP mod_unload 586 REGPARM gcc-4.1
depends:        agpgart,i2c-core
alias:          pci:v000010DEd*sv*sd*bc03sc00i00*
alias:          pci:v000010DEd*sv*sd*bc03sc02i00*
parm:           NVreg_RMEdgeIntrCheck:int
parm:           NVreg_PanelBrightnessLimits:int
parm:           NVreg_PanelPWMFrequency:int
parm:           NVreg_EnableBrightnessControl:int
parm:           NVreg_SaveVBios:int
parm:           NVreg_VbiosFromROM:int
parm:           NVreg_RegistryDwords:charp
parm:           NVreg_DetectPrimaryVga:int
parm:           NVreg_UseCPA:int
parm:           NVreg_RemapLimit:int
parm:           NVreg_RmLogonRC:int
parm:           NVreg_DevicesConnected:int
parm:           NVreg_FlatPanelMode:int
parm:           NVreg_ResmanDebugLevel:int
parm:           NVreg_DeviceFileMode:int
parm:           NVreg_DeviceFileGID:int
parm:           NVreg_DeviceFileUID:int
parm:           NVreg_ModifyDeviceFiles:int
parm:           NVreg_Mobile:int
parm:           NVreg_SoftEDIDs:int
parm:           NVreg_EnableAGPFW:int
parm:           NVreg_EnableAGPSBA:int
parm:           NVreg_NvAGP:int
parm:           NVreg_ReqAGPRate:int
parm:           NVreg_EnableALiAGP:int
parm:           NVreg_EnableVia4x:int
parm:           NVreg_VideoMemoryTypeOverride:int
parm:           nv_disable_pat:int

dann

Code:
modprobe -r nvidia
modprobe nvidia
modinfo nvidia

gemacht und die Ausgabe ist.....................exakt die Gleiche.

Code:
filename:       /lib/modules/2.6.17-10-generic/kernel/drivers/video/nvidia.ko
license:        NVIDIA
alias:          char-major-195-*
vermagic:       2.6.17-10-generic SMP mod_unload 586 REGPARM gcc-4.1
depends:        agpgart,i2c-core
alias:          pci:v000010DEd*sv*sd*bc03sc00i00*
alias:          pci:v000010DEd*sv*sd*bc03sc02i00*
parm:           NVreg_RMEdgeIntrCheck:int
parm:           NVreg_PanelBrightnessLimits:int
parm:           NVreg_PanelPWMFrequency:int
parm:           NVreg_EnableBrightnessControl:int
parm:           NVreg_SaveVBios:int
parm:           NVreg_VbiosFromROM:int
parm:           NVreg_RegistryDwords:charp
parm:           NVreg_DetectPrimaryVga:int
parm:           NVreg_UseCPA:int
parm:           NVreg_RemapLimit:int
parm:           NVreg_RmLogonRC:int
parm:           NVreg_DevicesConnected:int
parm:           NVreg_FlatPanelMode:int
parm:           NVreg_ResmanDebugLevel:int
parm:           NVreg_DeviceFileMode:int
parm:           NVreg_DeviceFileGID:int
parm:           NVreg_DeviceFileUID:int
parm:           NVreg_ModifyDeviceFiles:int
parm:           NVreg_Mobile:int
parm:           NVreg_SoftEDIDs:int
parm:           NVreg_EnableAGPFW:int
parm:           NVreg_EnableAGPSBA:int
parm:           NVreg_NvAGP:int
parm:           NVreg_ReqAGPRate:int
parm:           NVreg_EnableALiAGP:int
parm:           NVreg_EnableVia4x:int
parm:           NVreg_VideoMemoryTypeOverride:int
parm:           nv_disable_pat:int

Nochmal zur Sicherheit ein diff gemacht:

Code:
$ diff modinfo_vor_del modinfo_nach_ins 
$

Dann ein

Code:
/etc/init.d/gdm start

und schwupps bin ich hier.....:-)

Nun frage ich mich: WTF?

Any ideas?
 
Schau mal in die Logdatei von X, nachdem der XServer gecrasht ist
Code:
grep "EE" /var/log/xorg.0.log
Aber wenigstens weiss ich jetzt, warum sich die Kernel-Entwickler über kommerzielle Treiber so aufregen, wenn dort nichtmal Versionsinfos drin sind. :think:
 
Hmm,

da steht leider nichts Neues drin:

Code:
(II) Loading extension MIT-SCREEN-SAVER
(EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module! Please ensure
(EE) NVIDIA(0):     that there is a supported NVIDIA GPU in this system, and
(EE) NVIDIA(0):     that the NVIDIA device files have been created properly. 
(EE) NVIDIA(0):     Please consult the NVIDIA README for details.
(EE) NVIDIA(0):  *** Aborting ***
(EE) Screen(s) found, but none have a usable configuration.

Ich meine, wie schon gesagt, ich könnte jetzt auch anfangen die verschiedenen Module umzubenennen oder zu löschen, das sie nicht mehr geladen werden.....

Aber es muss doch auch einen "sauberen" Weg geben dem Kernel zu sagen "das sollst du nicht laden und das sollst du laden"........

Noch ne Idee wie ich das bewerkstelligen kann?

Und bzgl:

Aber wenigstens weiss ich jetzt, warum sich die Kernel-Entwickler über kommerzielle Treiber so aufregen, wenn dort nichtmal Versionsinfos drin sind.

Vorher hatte ich nvidia-glx Paket aus den Repos installiert (frische Installation), demzufolge scheint es ja bei nicht kommerziellen Treibern oft auch nicht anders zu sein........
 
Zuletzt bearbeitet:
Der nvidia-glx ist auch nur das vorkompilierte kommerzielle Modul, wenn ich nicht falsch liege (bin mir da nicht 100% sicher). Ich würde dir raten die ganzen Nvidia-Module zu löschen und sauber mit der aktuellen Version neu zu installieren. Ich denke, dass das der schnellste und sauberste Weg ist.
 
Die folgende Info stammt aus der Gentoo Linux Dokumentation unter:
www.gentoo.de/doc/de/nvidia-guide.xml

´"Wichtig
Bei x86 und AMD64 Prozessoren erzeugt der kernelinterne Treiber einen Konflikt mit dem Binärtreiber von nVidia. Wollen Sie Ihren Kernel für diese CPUs kompilieren, müssen Sie die kernelinterne Treiberunterstützung wie hier gezeigt komplett entfernen:

Befehlsauflistung 2.4: Den kernelintern Treiber entfernen
Device Drivers --->
Graphics Support --->
< > nVidia Framebuffer Support
< > nVidia Riva support"

Vielleicht ist das der Grund?
Viel Glück
 

Ähnliche Themen

Keine grafische Oberfläche (Debian Installation)

Nvidia Hybrid-Grafikkarte: 3D Beschleunigung will nicht

X startet nichtmehr

XEN 4.3 GMP Problem

xserver startet nicht: no screens

Zurück
Oben