Linux - DistributionsThis forum is for Distribution specific questions.
Red Hat, Slackware, Debian, Novell, LFS, Mandriva, Ubuntu, Fedora - the list goes on and on...
Note: An (*) indicates there is no official participation from that distribution here at LQ.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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?
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.
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.
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.
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.
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?
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.
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.
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.
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.
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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.