PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NVidia Treiber installieren



BoneCracker
27.09.04, 14:18
Hi,
ich habe eine GeForce 4 TI 4200 und habe mir von nvidia.com den Treiber für Linux heruntergeladen, welcher bei mir (bei anderen Distributionen) immer einwandfrei funktionierte.

Jetzt will er aber nicht. Die Ausgabe in der log-Datei ist folgende:


nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Mon Sep 27 13:48:02 2004

option status:
license pre-accepted : false
update : false
force update : false
expert : false
uninstall : false
driver info : false
no precompiled interface: false
no ncurses color : false
query latest driver ver : false
OpenGL header files : false
no questions : false
silent : false
X install prefix : /usr/X11R6
OpenGL install prefix : /usr
Installer install prefix: /usr
kernel source path : (not specified)
kernel install path : (not specified)
proc mount point : /proc
ui : (not specified)
tmpdir : /root/tmp
ftp site : ftp://download.nvidia.com

Using: nvidia-installer ncurses user interface
-> License accepted.
-> No precompiled kernel interface was found to match your kernel; would you li
ke the installer to attempt to download a kernel interface for your kernel f
rom the NVIDIA ftp site (ftp://download.nvidia.com)? (Answer: No)
-> No precompiled kernel interface was found to match your kernel; this means
that the installer will need to compile a new kernel interface.
-> Kernel source path: '/lib/modules/2.6.8.1-10mdk/build'
-> Performing cc_version_check with CC="cc".
-> Performing rivafb check.
-> Performing rivafb module check.
WARNING: Your kernel was configured to include rivafb support as
a loadable kernel module.

The rivafb driver conflicts with the NVIDIA driver; the
NVIDIA kernel module will still be built and installed,
but be aware that the NVIDIA driver will not be able to
function properly if the rivafb module is loaded!
-> Cleaning kernel module build directory.
executing: 'cd ./usr/src/nv; make clean'...
rm -f -f nv.o os-agp.o os-interface.o os-registry.o nv.o os-agp.o os-interfa
ce.o os-registry.o nvidia.mod.o
rm -f -f build-in.o nv-linux.o *.d .*.{cmd,flags}
rm -f -f nvidia.{o,ko,mod.{o,c}} nv_compiler.h *~
-> Building kernel module:
executing: 'cd ./usr/src/nv; make module SYSSRC=/lib/modules/2.6.8.1-10mdk/b
uild SYSOUT=/lib/modules/2.6.8.1-10mdk/build'...
Your kernel was configured to include rivafb support as
a loadable kernel module.

The rivafb driver conflicts with the NVIDIA driver; the
NVIDIA kernel module will still be built and installed,
but be aware that the NVIDIA driver will not be able to
function properly if the rivafb module is loaded!

*** Failed rivafb module sanity check, but continuing! ***


NVIDIA: calling KBUILD...
make -C /lib/modules/2.6.8.1-10mdk/build \
KBUILD_SRC=/usr/src/linux-2.6.8.1-10mdk KBUILD_VERBOSE=1 \
KBUILD_CHECK= KBUILD_EXTMOD="/root/tmp/selfgz6735/NVIDIA-Linux-x86-1.0-6111-
pkg1/usr/src/nv" \
-f /usr/src/linux-2.6.8.1-10mdk/Makefile modules
mkdir -p /root/tmp/selfgz6735/NVIDIA-Linux-x86-1.0-6111-pkg1/usr/src/nv/.tmp
_versions
make -f /usr/src/linux-2.6.8.1-10mdk/scripts/Makefile.build obj=/root/tmp/se
lfgz6735/NVIDIA-Linux-x86-1.0-6111-pkg1/usr/src/nv
echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -n 1`\" > /root/tmp/selfgz673
5/NVIDIA-Linux-x86-1.0-6111-pkg1/usr/src/nv/nv_compiler.h
cc -Wp,-MD,/root/tmp/selfgz6735/NVIDIA-Linux-x86-1.0-6111-pkg1/usr/src/nv/
.nv.o.d -nostdinc -iwithprefix include -D__KERNEL__ -Iinclude -Iinclude2 -I/
usr/src/linux-2.6.8.1-10mdk/include -I/root/tmp/selfgz6735/NVIDIA-Linux-x86
-1.0-6111-pkg1/usr/src/nv -Wall -Wstrict-prototypes -Wno-trigraphs -fno-stri
ct-aliasing -fno-common -pipe -msoft-float -mpreferred-stack-boundary=2 -fno
-unit-at-a-time -march=i686 -I/usr/src/linux-2.6.8.1-10mdk/include/asm-i386/
mach-default -Iinclude/asm-i386/mach-default -O2 -Wdeclaration-after-stateme
nt -I/root/tmp/selfgz6735/NVIDIA-Linux-x86-1.0-6111-pkg1/usr/src/nv -Wall -
Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -W
pointer-arith -Wno-multichar -Werror -O -fno-common -MD -Wno-cast-qual -Wno-
error -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE -DNTRM -D_GNU_SOURCE -D_LO
OSE_KERNEL_NAMES -D__KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSI
ON=0 -DNV_PATCHLEVEL=6111 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86 -UD
EBUG -U_DEBUG -DNDEBUG -DNV_CHANGE_PAGE_ATTR_PRESENT -DNV_CLASS
_SIMPLE_PRESENT -DMODULE -DKBUILD_BASENAME=nv -DKBUILD_MODNAME=nvidia -c -o
/root/tmp/selfgz6735/NVIDIA-Linux-x86-1.0-6111-pkg1/usr/src/nv/nv.o /root/tm
p/selfgz6735/NVIDIA-Linux-x86-1.0-6111-pkg1/usr/src/nv/nv.c
/root/tmp/selfgz6735/NVIDIA-Linux-x86-1.0-6111-pkg1/usr/src/nv/nv.c: In func
tion `nv_acpi_event':
/root/tmp/selfgz6735/NVIDIA-Linux-x86-1.0-6111-pkg1/usr/src/nv/nv.c:3697: Fe
hler: »PM_SAVE_STATE« nicht deklariert (erste Benutzung in dieser Funktion)
/root/tmp/selfgz6735/NVIDIA-Linux-x86-1.0-6111-pkg1/usr/src/nv/nv.c:3697: Fe
hler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt
/root/tmp/selfgz6735/NVIDIA-Linux-x86-1.0-6111-pkg1/usr/src/nv/nv.c:3697: Fe
hler: für jede Funktion in der er auftritt.)
make[4]: *** [/root/tmp/selfgz6735/NVIDIA-Linux-x86-1.0-6111-pkg1/usr/src/nv
/nv.o] Fehler 1
make[3]: *** [_module_/root/tmp/selfgz6735/NVIDIA-Linux-x86-1.0-6111-pkg1/us
r/src/nv] Fehler 2
make[2]: *** [modules] Fehler 2
NVIDIA: left KBUILD.
nvidia.ko failed to build!
make[1]: *** [module] Fehler 1
make: *** [module] Fehler 2
-> Error.
ERROR: Unable to build the NVIDIA kernel module.
ERROR: Installation has failed. Please see the file
'/var/log/nvidia-installer.log' for details. You may find suggestions
on fixing installation problems in the README available on the Linux
driver download page at www.nvidia.com.


So wie ich das verstanden habe ist da ein Treiber (rivafb) der sich nicht mit dem NVidia Treiber verträgt?
Wie bekomm ich den nvidia-Treiber trotzdem installiert?

Mfg

Krischi
27.09.04, 14:27
Neuen Kernel ohne rivafb backen? :)

Obs noch einen anderen Weg gibt, kann ich leider nicht sagen, aber das erscheint mir auf den ersten Blick der sicherste Weg zu sein und der einzige, der mir grad einfällt :(

zander
27.09.04, 14:34
Das Problem hat nichts mit rivafb zu tun; um es zu beheben, mußt Du das .run Installationspaket mit dem --extract-only Parameter entpacken und dann usr/src/nv/nv.c (unterhalb des neu erstellten Verzeichnisses) editieren und PM_SAVE_STATE durch PM_SUSPEND_MEM ersetzen (weiterhin solltest Du auch PM_RESUME (die beiden Vorkommen am Ende der Datei) durch PM_SUSPEND_ON ersetzen. Danach kannst Du den Treiber mit cd ../../../; ./nvidia-installer installieren.

Bert Brenner
27.09.04, 14:36
Wegeditiert: War zu langsam.

BoneCracker
27.09.04, 21:35
Hi,
ich habe zanders Vorschlag probiert, jedoch hat es nicht funktioniert. Ich bin mir aber auch nicht sicher, ob ich die richtigen Zeilen ersetzt habe.


Zeile 3695-3697:
switch (state)
{
case PM_SAVE_STATE:


und:

Zeile 3702-3705:
case PM_RESUME:
nv_printf(NV_DBG_INFO, "NVRM: ACPI: received resume event\n");
status = rm_power_management(nv, 0, NV_PM_ACPI_RESUME);
break;


und:

Zeile 3734:
return nv_acpi_event(dev, PM_RESUME);


Stimmen die Zeilen?

Mfg

sebb_m
28.09.04, 01:25
bei mir ging das auch nicth, er hat zwar kompiliert, mir aber dann bei starten des treibers einen Fehrler gebracht, von wegen device not found (/dev/irgendwas)

zander
28.09.04, 10:09
Ja, das sind die richtigen Zeilen; bitte beachtet dabei, daß durch ihre Anpassung nur dieses Übersetzungsproblem gelöst wird. Sollten im folgenden weitere Probleme auftauchen, so müssen diese unabhängig behandelt werden.

sebb_m
28.09.04, 14:08
ah verstehe, hmm, dann probier ich das bei gelegenheit nochmals und schreibe dann, welcher fehler kommt!

BoneCracker
29.09.04, 06:29
Hi,
jetzt habe ich es hinbekommen, hat etwas länger gedauert, weil ich noch ein paar andere Probleme gehabt habe...

Jetzt kompiliert der Kernel zwar, wenn ich aber in der XF86Config das nv durch nvidia ersetze kommt beim starten von X folgendes:



(EE) NVIDIA (0): Failed to initialize the NVIDIA Kernel module!
(EE) NVIDIA (0): ***** Aborting *****


Hat jemand eine Idee, was noch falsch ist?

EDIT: Ich habe noch die ganze log angehängt. Zudem kann es etwas damit zu tun haben, dass mein glxgears nicht funktioniert?

bash-2.05b$ glxgears
Xlib: extension "GLX" missing on display ":0.0".
Error: couldn't get an RGB, Double-buffered visual


EDIT2:
Ich habe einfach mal aus jux folgendes Probiert (in X als root):


[root@christoph bonecracker]# /sbin/modprobe nvidia
[root@christoph bonecracker]# dmesg | grep NVRM
NVRM: loading NVIDIA Linux x86 NVIDIA Kernel Module 1.0-6111 Tue Jul 27 07:55:38 PDT 2004


Wie ist das zu erklären?

Mfg

BoneCracker
29.09.04, 12:25
Hi,
wenn ich nach dem modprobe killall X und danach startx eingeben kommt eine andere Fehlermeldung (im Anhang).

Ich hoffe ihr könnt mir helfen!

Mfg

zander
29.09.04, 12:37
Die zweite Logdatei zeigt einen (scheinbar erfolgreichen) Laufe mit dem nv Treiber, hast Du die richtige Datei angehängt?

BoneCracker
29.09.04, 12:43
Autsch... Natürlich hatte ich vergessen die XF86Config zu ändern :rolleyes:

Vielen Dank... Jetzt nurnoch den Modprobe beim BS start automatisch ausführen lassen und alles dürfte schön funktionieren.

Btw: Seit wann Zeigt es das NVidia-Logo nur so kurz? Wenn ich es nicht gekannt hätte, hätte ich es nicht erkannt (war vll grad mal 1/10Sekunde angezeigt...)

Naja. Auf jedenfall funktioniert es!

Vielen Dank für die Hilfe.

Mfg

zander
29.09.04, 13:01
Der Start des X Servers wird nicht künstlich verzögert um das Logo besser zur Geltung zu bringen, es dient primär der Vorinitialisierung des sichtbaren frame buffers; dies nimmt fast keine Zeit in Anspruch, je nach Konfiguration und Monitor ist das Logo überhaupt nicht wahrzunehmen.

Julius
10.10.04, 02:37
So ist zwar schon ein bisschen älter, aber alle die den Nvidia treiber auf Mandrake10.1 Community installieren wollen werden dieses Problem haben. Ich hatte es zumindest ;)

Naja die ratschläge oben sind ganz gut, aber ich hab wo anders ne idioten sichere (also genau richtig für mich) methode gefunden:



These directions are simple instructions for installing your NVIDIA 6111 drivers if you are using the Mandrake 10.0 2.6.8.mdk kernel or the "new" Mandrake beta version:





First: Download NVIDIA-Linux-x86-1.0-6111-pkg1.run. (remember where you saved it when running init 3)





Second: do the following outlined below;





1. Alt+F2 kdesu konqueror

2. open file:/usr/src/linux/include/linux/pm.h with kwrite

3. In the part of the file:

{

PM_SUSPEND, /* enter D1-D3 */

PM_RESUME, _/* enter D0 */

} pm_request_t;





Add the line: PM_SAVE_STATE, /* save device's state */

so it will look like this:

{

PM_SUSPEND, /* enter D1-D3 */

PM_RESUME, _/* enter D0 */

PM_SAVE_STATE, /* save device's state */

} pm_request_t;



4. save



5. In the file: /etc/modprobe.preload

add the line:

nvidia



6. Save



7. Run init 3 from konsole and install nvidia driver as usualy





The above information was contributed to me by the help of a friend, I am fowarding it to this board in the event it might help someone else out.



dann noch die xorg.conf editieren wie in der nvidia readme beschrieben und es sollte klappen :)

zander
10.10.04, 12:18
Dieser Ansatz ist nicht zu empfehlen; ich habe ein patch angehängt, daß die notwendigen Veränderungen an usr/src/nv/nv.c vornimmt um das Problem korrekt zu lösen.

Benutzername1
05.11.04, 00:20
ich hab bei mir den 2.6.10-rc1-mm2 probiert, der treiber compiliert ohne probleme, aber beim starten von kdm, bleibt einfach alles schwarz und ich komm auch nicht mehr auf die console zurück. mit 2.6.10-rc1-ck1 gibts keine probleme!
könnte vllt jmd ein komplettes diff gegen die 6111er treiber posten? thx!

mfg
bn1