LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Distributions (https://www.linuxquestions.org/questions/linux-distributions-5/)
-   -   Mismatch between NVIDIA Kernal and X module (https://www.linuxquestions.org/questions/linux-distributions-5/mismatch-between-nvidia-kernal-and-x-module-151240/)

ccin1492 02-27-2004 01:42 PM

Mismatch between NVIDIA Kernal and X module
 
Good Day,

Last night I tried to update my NVIDIA driver. So I followed the instructions from NVIDIA, plus read a few threads from this forum and thought I was in good shape.

Here are the steps:

1. Install NVIDIA using YAST.
2. Online Update using Yast.
3. Installing driver (v. 1.0.5336) using NVIDIA installer.
4. Checked XF86config. It was ok.

Ok, so at this point I'm currently logged in as root. I type startx and it comes up, but I notice my background is different and some icons are missing, etc. Ah, I'm still logged in as root. So I reboot and then...nothing. When it's ready to start KDE it flickers a few times and kicks back out to the command line. Thankfully there's a message and it says: Error: API mismatch: the NVIDIA kernal module is version 1.0.4496, but this X module is version 1.0.5336. Please be sure that your kernal module and NVIDIA driver files have the same driver version.

Question: How do I sync the kernal module and the NVIDIA driver? BTW, I thought I did upgrade my NVIDIA driver to 1.0.5336, or was it the X module I was upgrading?

Thanks,
TC

Rounan 02-27-2004 02:38 PM

Don't install with YAST - just use nvidia, and let it compile its own kernel interface from what you have in /usr/src/linux (if you compiled your own kernel), or you kernel-headers (which you ened to install if you're using a stock kernel - that can probably be done with YAST).

What you've done is install the kernel interface module with YAST for version 4496, and then 5336 has for some reason detected that interface and thought it was OK. But it's not. ;)

--Rounan

ccin1492 02-27-2004 04:17 PM

When I ran the installer, it didn't ask me anything about an interface. How do I install the interface using the NVIDIA installer?

By the way, this is SuSE 9.0 installed by FTP.

Thanks,
TC

Rounan 02-27-2004 06:26 PM

I'm not familiar with yast, so I can't be specific, but try to uninstall whatever you installed with yast.
What yast did was installl the nvidia-kernel-header RPM, and you want to uninstall it.
Then the nvidia script will detect no interface, and compile one that works.

--Rounan

ccin1492 02-27-2004 06:30 PM

I'll try that. I need to figure out how to get the YAST gui though. Maybe there's a command line mode, or I'll modify my XF86config to use a generic graphics driver.

I'll try that tonight. Thanks.

ccin1492 02-28-2004 10:39 AM

Ok. I unistalled the NVIDIA drivers and moduel interface. Then I ran the nvidia-installer, but it won't install and interface that matches the version of the drivers.

Here's the log:

nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Fri Feb 27 21:09:09 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 source 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.
ERROR: Unable to find the kernel source tree for the currently running kernel.
Please make sure you have installed the kernel source 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 source
files are installed, you may specify the kernel source path with the
'--kernel-source-path' commandline option.
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.

Where do I find an interface the matches the driver version (1.0.5336)? The version YAST has is 1.0.4496. Another question is, why can't it find a matching interface on the nvidia website?

Thanks,
TC

Rounan 02-28-2004 07:19 PM

Quote:

ERROR: Unable to find the kernel source tree for the currently running kernel.
Please make sure you have installed the kernel source files for your
kernel
This is telling you that you don't have the proper kernel information installed. You're using a stock kernel, correct?
You need to install the kernel-header RPM for your kernel version - check YAST, you can trust it on this one.

There are two different parts to the nvidia drivers: the binary driver, which is the same for everyone using every nvidia card, and the kernel interface, which is how that binary talks to your kernel. Because every kernel is different, every kernel interface is different, and has to be compiled for your specific kernel.
If you have the kernel source installed (say, because you compiled your own kernel) then this is all that's needed - the nvidia install script compiles the proper modules against your /usr/src/linux directory.
If you're using a stock kernel that shipped with a distribution (as it appears), then you don't have the kernel sources installed, and nvidia gets confused. But there's no need to install the entire sources, you can just install the necessary files to provide an interface to the running kernel. That's the kernel headers.

--Rounan

ccin1492 02-28-2004 11:09 PM

Quote:

Originally posted by Rounan
This is telling you that you don't have the proper kernel information installed. You're using a stock kernel, correct?
Yes, it is a stock kernal version 2.4.21-192-athlon.

Quote:

Originally posted by Rounan
You need to install the kernel-header RPM for your kernel version - check YAST, you can trust it on this one.
OK, but I think it is the wrong version. YAST reports it as version 1.0.4496, but the nvidia driver I downloaded it 1.0.5336.

Quote:

Originally posted by Rounan
There are two different parts to the nvidia drivers: the binary driver, which is the same for everyone using every nvidia card, and the kernel interface, which is how that binary talks to your kernel. Because every kernel is different, every kernel interface is different, and has to be compiled for your specific kernel.
If you have the kernel source installed (say, because you compiled your own kernel) then this is all that's needed - the nvidia install script compiles the proper modules against your /usr/src/linux directory.
If you're using a stock kernel that shipped with a distribution (as it appears), then you don't have the kernel sources installed, and nvidia gets confused. But there's no need to install the entire sources, you can just install the necessary files to provide an interface to the running kernel. That's the kernel headers.

Yes, I'm using a stock kernal. So where do I get the kernal headers from? In the mean time, I'll try using YAST again for the interface and re-install with the nvidia-installer to see what happens.

TC

Rounan 02-29-2004 04:18 PM

you don't want to use YAST to install the nvidia-kernel rpm. that one, as you found out, is apparently the wrong version.
you DO want to use YAST to install the kernel-header rpm for your kernel. this has nothing to do with nvidia directly - it's just a package that many different drivers need if you're going to compile them.

--Rounan

ccin1492 03-01-2004 11:55 AM

In YAST, there's only one source, or package, related to nvidia. It's called nvidia kernal-interface, or something like that. But that's all there is. Nothing about headers or anything like that. So I went ahead and installed it to see what I get, and what it did was install everything, including the driver.

So now I have nvidia (ver 1.0.4496) installed, but it's working good--I see the nvidia splash screen when I login and I'm getting good resolution and refresh rates. I don't think I'll bother with upgrading the driver just yet. I have other issues that I need to resolve first (networking, error messages in my dmesg log), and then I can come back and tackle this.

Rounan, thanks for your time and help. I appreciate it.

TC

Rounan 03-01-2004 12:14 PM

Glad you got a working version - 4496 will do ya fine unless/until you upgrade to the 2.6 kernel.

For future reference: You're right. there's only one package related to nvidia. Because as mentioned above, the kernel-header package has nothing to do with nvidia directly. so when you search for nvidia, the kernel-header package won't come up. search for kernel-header (or header, or kernel), and it will. ;) These are files that ANY module needs to compile, not just nvidia.

--Rounan


All times are GMT -5. The time now is 03:08 PM.