LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 01-18-2004, 10:00 PM   #1
bmcneely0
Member
 
Registered: Jul 2003
Posts: 74

Rep: Reputation: 15
Missing nvidia.o


When I try to install the nvida driver file I downloaded from their web site
NVIDIA-Linux-x86-1.0-5328-pkg1.run

I get a message that a customer kernel needs to be built. Then it errors out saying that it can't find the file nvidia.o. I can't find it either. I'm running SuSE 8.2 Professional. What package(s) do I need to install before I can install the driver? I have anVidia RIVA TNT2 Model 64 card.

Regards,
Brad McNeely

I'm also including the installer log file incase that helps:


nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Sun Jan 18 20:36:21 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
XFree86 install prefix : /usr/X11R6
OpenGL install prefix : /usr
Installer install prefix: /usr
kernel include path : (not specified)
kernel install path : (not specified)
proc mount point : /proc
ui : (not specified)
tmpdir : /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: Yes)
-> No matching precompiled kernel interface was found on the NVIDIA ftp
site;
this means that the installer will need to compile a kernel interface for
your kernel.
-> Kernel include path: '/usr/src/linux/include'
-> Performing cc_version_check with CC="cc".
-> Cleaning kernel module build directory.
executing: 'cd ./usr/src/nv; make clean'...
rm -f nv.o os-agp.o os-interface.o os-registry.o nv-linux.o
nv_compiler.h *
.d NVdriver nvidia.o
-> Building kernel module:
executing: 'cd ./usr/src/nv; make nvidia.o
SYSINCLUDE=/usr/src/linux/include
'...
echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -n 1`\" > nv_compiler.h
cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts
-Wp
arentheses -Wpointer-arith -Wno-multichar -Werror -O -MD -D__KERNEL__
-DMO
DULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES
-D__KE
RNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0
-DNV_PATCHLEVEL=5
328 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86
-DREMAP_PAGE_
RANGE_4 -I. -I/usr/src/linux/include -Wno-cast-qual -Wno-error nv.c
In file included from /usr/src/linux/include/linux/vmalloc.h:8,
from nv-linux.h:72,
from nv.c:14:
/usr/src/linux/include/linux/highmem.h: In function `bh_kmap':
/usr/src/linux/include/linux/highmem.h:22: warning: pointer of type `void
*'
used in arithmetic
In file included from nv.c:14:
nv-linux.h: In function `calc_order':
nv-linux.h:485: warning: comparison between signed and unsigned
nv.c: In function `nvos_post_vbios':
nv.c:197: warning: comparison between signed and unsigned
nv.c:197: warning: comparison between signed and unsigned
nv.c: In function `nvl_find_alloc':
nv.c:775: warning: comparison between signed and unsigned
nv.c: In function `nv_kern_mmap':
nv.c:1426: warning: comparison between signed and unsigned
nv.c:1445: warning: comparison between signed and unsigned
nv.c:1472: warning: comparison between signed and unsigned
nv.c:1520: warning: comparison between signed and unsigned
nv.c: In function `nv_find_nv_mapping':
nv.c:2217: warning: comparison between signed and unsigned
nv.c: In function `nv_find_agp_kernel_mapping':
nv.c:2280: warning: comparison between signed and unsigned
nv.c: In function `nv_alloc_pages':
nv.c:2505: warning: comparison between signed and unsigned
nv.c:2535: warning: comparison between signed and unsigned
cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts
-Wp
arentheses -Wpointer-arith -Wno-multichar -Werror -O -MD -D__KERNEL__
-DMO
DULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES
-D__KE
RNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0
-DNV_PATCHLEVEL=5
328 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86
-DREMAP_PAGE_
RANGE_4 -I. -I/usr/src/linux/include -Wno-cast-qual -Wno-error os-agp.c
In file included from /usr/src/linux/include/linux/vmalloc.h:8,
from nv-linux.h:72,
from os-agp.c:24:
/usr/src/linux/include/linux/highmem.h: In function `bh_kmap':
/usr/src/linux/include/linux/highmem.h:22: warning: pointer of type `void
*'
used in arithmetic
In file included from os-agp.c:24:
nv-linux.h: In function `calc_order':
nv-linux.h:485: warning: comparison between signed and unsigned
cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts
-Wp
arentheses -Wpointer-arith -Wno-multichar -Werror -O -MD -D__KERNEL__
-DMO
DULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES
-D__KE
RNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0
-DNV_PATCHLEVEL=5
328 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86
-DREMAP_PAGE_RANGE_4 -I. -I/usr/src/linux/include -Wno-cast-qual
-Wno-err
or os-interface.c
In file included from /usr/src/linux/include/linux/vmalloc.h:8,
from nv-linux.h:72,
from os-interface.c:26:
/usr/src/linux/include/linux/highmem.h: In function `bh_kmap':
/usr/src/linux/include/linux/highmem.h:22: warning: pointer of type `void
*'
used in arithmetic
In file included from os-interface.c:26:
nv-linux.h: In function `calc_order':
nv-linux.h:485: warning: comparison between signed and unsigned
os-interface.c: In function `os_dbg_init':
os-interface.c:946: warning: comparison between signed and unsigned
cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts
-Wp
arentheses -Wpointer-arith -Wno-multichar -Werror -O -MD -D__KERNEL__
-DMO
DULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES
-D__KE
RNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0
-DNV_PATCHLEVEL=5
328 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86 -DREMAP_
PAGE_RANGE_4 -I. -I/usr/src/linux/include -Wno-cast-qual -Wno-error
os-regi
stry.c
In file included from /usr/src/linux/include/linux/vmalloc.h:8,
from nv-linux.h:72,
from os-registry.c:14:
/usr/src/linux/include/linux/highmem.h: In function `bh_kmap':
/usr/src/linux/include/linux/highmem.h:22: warning: pointer of type `void
*'
used in arithmetic
In file included from os-registry.c:14:
nv-linux.h: In function `calc_order':
nv-linux.h:485: warning: comparison between signed and unsigned
ld -r -o nv-linux.o nv.o os-agp.o os-interface.o os-registry.o
ld -r -o nvidia.o nv-linux.o nv-kernel.o
-> done.
-> Kernel module compilation complete.
ERROR: Unable to load the kernel module 'nvidia.o'. This is most likely
because the kernel module was built using the wrong kernel header
files.
Please make sure you have installed the kernel header files for your
kernel; on Red Hat Linux systems, for example, be sure you have the
'kernel-source' rpm installed. If you know the correct kernel header
files are installed, you may specify the kernel include path with the
'--kernel-include-path' commandline option.
-> Kernel module load error: ./usr/src/nv/nvidia.o: kernel-module version
mismatch
./usr/src/nv/nvidia.o was compiled for kernel version 2.4.20-64GB-SMP
while this kernel is version 2.4.20-mywin4lin.
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.
 
Old 01-18-2004, 10:42 PM   #2
leonscape
Senior Member
 
Registered: Aug 2003
Location: UK
Distribution: Debian SID / KDE 3.5
Posts: 2,313

Rep: Reputation: 48
./usr/src/nv/nvidia.o was compiled for kernel version 2.4.20-64GB-SMP
while this kernel is version 2.4.20-mywin4lin.

Its trying to compile for the wrong kernel. whats your out put from uname -r. I guess from the message its 2.4.20-64GB-SMP. While the kernel sources are 2.4.20-mywin4lin. Its as if your running one kernel while trying trying to compile for another. Try typing:
ls -l /lib/modules/2.4.20-64GB-SMP/build

If build points to the wrong sources directory, it might be best to change it.
 
Old 01-19-2004, 05:27 AM   #3
bhaskie
Member
 
Registered: Jan 2004
Location: New Delhi, India
Distribution: L.F.S 5.0 | FreeBSD 5.2 | Debian sid | Gentoo 2004.0 | Slackware 9.1
Posts: 78

Rep: Reputation: 15
As leonscape has said, your exact problem is that you dont have the running kernel's header files in the right path. It looks for the headers under usr/src/linux/include. Your custom kernel 2.4.20-mywin4lin is creating the problem. If the kernel sources of the running kernel are installed under /usr/src/linux, it boots and loads the nvidia.o module without errors.
Try booting into run-level 3 with the kernel you want to compile the module for. Then compile the kernel. Make sure the header path is correct.
 
Old 01-19-2004, 08:13 AM   #4
bmcneely0
Member
 
Registered: Jul 2003
Posts: 74

Original Poster
Rep: Reputation: 15
My custom kernel was compiled using the base source and applying patches for Netraverse's Win4Lin product so if nvidia.o was in the base source I should have it. I am doing an init 3 before I try to run the invidia installer. Also, if I were to switch another kernel and get it to work by some chance, would the driver be available when I switch back to my Win4Lin kernel?

Regards,
Brad McNeely
 
Old 01-19-2004, 08:40 AM   #5
leonscape
Senior Member
 
Registered: Aug 2003
Location: UK
Distribution: Debian SID / KDE 3.5
Posts: 2,313

Rep: Reputation: 48
nvidia.o is not in your base source. Its the code the nvidia installer produces. Why this is missing is because although it compiled it was for the wrong kernel.

you have to boot into the kernel you compiled ( the Win4Lin one ), before you try installing the Nvidia drivers, as it looks at the current running kernel to use the right sources.

The nvidia driver is not portable across kernel versions (usually).

If runlevel 3 is your CLI ( no GUI/X ) runlevel, then before you reboot its usual to alter /etc/inittab to use this runlevel.
id:3:initdefault:

Then login as root and try installing again.
 
Old 01-19-2004, 02:06 PM   #6
bmcneely0
Member
 
Registered: Jul 2003
Posts: 74

Original Poster
Rep: Reputation: 15
OK. I recompiled my kernel again (since I had "misplaced" the original source files), tested it by booting into that kernel and was able to successfully install the driver. However, when I run SaX2 and try to enable the 3D features, I get a message that states:
Cannot enable OpenGL acceleration
To activate the 3D subsystem for this card you need to use the commercial driver from nVidia. Well, that's what I thought I had done.

Here is the output of hwinfo --gfxcard.
PCI(AGP) 105.0: 0300 VGA compatible controller (VGA)
[Created at pci.65]
Unique ID: ul7N.rEgSObS9Kp5
Hardware Class: graphics card
Model: "nVidia RIVA TNT2 Model 64"
Vendor: pci 0x10de "nVidia Corporation"
Device: pci 0x002d "RIVA TNT2 Model 64"
Revision: 0x15
Memory Range: 0xf5000000-??? (rw,non-prefetchable)
Memory Range: 0xfc000000-??? (rw,prefetchable)
IRQ: 18 (43413 events)
I/O Ports: 0x3c0-0x3df (rw)
Driver Info #0:
XFree86 v4 Server Module: nv
Driver Info #1:
XFree86 v4 Server Module: nvidia
3D Support: yes
Color Depths: 16
Extensions: glx
Options:
Driver Info #2:
XFree86 v3 Server: SVGA
Config Status: cfg=yes, avail=yes, need=yes
Attached to: #11 (PCI bridge)

Any thoughts?

Regards,
Brad
 
Old 01-19-2004, 02:31 PM   #7
bmcneely0
Member
 
Registered: Jul 2003
Posts: 74

Original Poster
Rep: Reputation: 15
I should add that I did modify /etc/X11/XF86Free to have this line
Driver "nvidia"

as per the instructions.
 
Old 01-20-2004, 04:39 AM   #8
bhaskie
Member
 
Registered: Jan 2004
Location: New Delhi, India
Distribution: L.F.S 5.0 | FreeBSD 5.2 | Debian sid | Gentoo 2004.0 | Slackware 9.1
Posts: 78

Rep: Reputation: 15
Check the following for the running kernel for which you compiled the driver:

[root!bhaskie.com /root]# ls /lib/modules/2.4.22-bhaskie-1-10-2004/nvidia/nvidia.o
/lib/modules/2.4.22-bhaskie-1-10-2004/nvidia/nvidia.o
(replace the kernel name with yours)

Check lsmod output:
[root!bhaskie.com /root]# lsmod | grep nvidia
nvidia 1628800 11 (autoclean)

If the module is not loaded, modprobe for nvidia module.

Check the following:

[root!bhaskie.com /root]# cat /proc/driver/nvidia/cards/0
Model: GeForce FX 5200
IRQ: 11
Video BIOS: 04.34.20.22.00
Card Type: AGP

[root!bhaskie.com /root]# cat /proc/driver/nvidia/agp/status
Status: Enabled
Driver: AGPGART
AGP Rate: 4x
Fast Writes: Enabled
SBA: Enabled
[root!bhaskie.com /root]#

Make sure there is no line with
Driver "nv"
in your /etc/X11/XF86Config-4 (remove the -4 if you are using an old X)

I think you should create packages for your kernel and modules so that you need not compile them all the time. I create custom debs for my stable kernels as well as for nvidia modules so that whenever I get into any problems, I just install these packages. saves a lot of time and effort that way. I think you can create rpms also for your kernels and driver modules.
 
Old 01-20-2004, 05:13 AM   #9
bmcneely0
Member
 
Registered: Jul 2003
Posts: 74

Original Poster
Rep: Reputation: 15
Here's the output of the commands you listed. My main concerns is that I'm trying to get a game called Chromium to run properly. It says that if the OpenGL vendor is specified in a certain then software acceleration is enabled and the game requires hardware acceleration. I'm getting the tag that indicates software acceleration. Anyway, here's the output:
lsmod | grep -i nvidia
nvidia 1969184 12 (autoclean)

cat /proc/driver/nvidia/cards/0
Model: RIVA TNT2 Model 64/Model 64 Pro
IRQ: 18
Video BIOS: 03.05.00.10.00
Card Type: AGP

cat /proc/driver/nvidia/agp/status
Status: Enabled
Driver: AGPGART
AGP Rate: 4x
Fast Writes: Disabled
SBA: Disabled

No file named /etc/X11/XF86Config-4, just /etc/X11/XF85Config

Also, in the hwinfo --gfxcard (see three posting back), why does it show two drivers (nv and nvidia)?

Regards,
Brad
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
GLX Missing after nvidia install GDarkBladE Linux - Hardware 1 03-07-2005 12:19 AM
NVIDIA (again!) symlinks gone missing?! Ygarl Linux - Newbie 1 12-22-2004 04:22 PM
Missing Nvidia module? It WAS there! tenchi Slackware 8 09-11-2004 05:41 PM
Nvidia. Tv-out. Right portion of screen missing. mooreted Mandriva 3 09-01-2004 10:09 PM
Am I missing out not having Nvidia driver? QCompson Linux - Newbie 6 09-27-2003 09:19 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 08:00 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration