I'm trying to compile the latest nvidia drivers on a new laptop and I'm running into some problems. The laptop is an Acer Aspire 5520-5579 with an nvidia 7000M video system (chipset is nvidia 610M/MCP67-MV). I am running the 32-bit version of Mandriva 2008.0. At the moment I can't tell if it's a Mandriva problem or an nvidia problem. When I try to run the "NVIDIA-Linux-x86-169.12.pkg1.run" everything appears to compile, but when it tries to load the kernel module during the installation process I get the following error:
Code:
ERROR: Unable to load the kernel module 'nvidia.ko'. This happens most
frequently when this kernel module was built against the wrong or improperly
configured kernel sources, with a version of gcc that differs from the one
used to build the target kernel, or if a driver such as rivafb/nvidiafb is
present and prevents the NVIDIA kernel module from obtaining ownership
of the NVIDIA graphics device(s).
As far as I can tell, I have the correct kernel sources installed and they are configured properly:
Code:
localhost ~ $ uname -r
2.6.22.18-laptop-1mdv
localhost ~ $ rpm -qa|grep kernel
kernel-source-2.6.22.18-1mdv-1-1mdv2008.0
kernel-laptop-latest-2.6.22.18-1mdv2008.0
kernel-laptop-2.6.22.18-1mdv-1-1mdv2008.0
kernel-laptop-2.6.22.9-1mdv-1-1mdv2008.0
kernel-source-latest-2.6.22.18-1mdv2008.0
And the version of gcc that's being used appears to be the same as the one that was used to compile the kernel:
Code:
localhost ~ $ cat /proc/version
Linux version 2.6.22.18-laptop-1mdv (qateam@mercury.mandriva.com)
(gcc version 4.2.2 20071128 (prerelease) (4.2.2-3.1mdv2008.0))
#1 SMP Mon Feb 11 15:20:57 EST 2008
localhost ~ $ gcc -v
Using built-in specs.
Target: i586-mandriva-linux-gnu
Configured with: ../configure --prefix=/usr
--libexecdir=/usr/lib --with-slibdir=/lib
--mandir=/usr/share/man --infodir=/usr/share/info
--enable-checking=release
--enable-languages=c,c++,ada,fortran,objc,obj-c++,java
--host=i586-mandriva-linux-gnu --with-cpu=generic
--with-system-zlib --enable-threads=posix
--enable-shared --enable-long-long
--enable-__cxa_atexit --disable-libunwind-exceptions
--enable-clocale=gnu --enable-java-awt=gtk
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre
--enable-gtk-cairo --disable-libjava-multilib
--enable-ssp --disable-libssp
Thread model: posix
gcc version 4.2.2 20071128 (prerelease) (4.2.2-3.1mdv2008.0)
I don't think that either rivafb or nvidiafb are running, but just to be sure I tried doing "modprobe -r rivafb" and "modprobe -r nvidiafb" before running the installer and it still fails. Ironically, I was able to get everything to compile when I was running 64-bit Mandriva 2008.0 and it worked great, but I switched back to the 32-bit version because I wanted compatibility with other software.
Mandriva does offer an rpm package called "x11-driver-video-nvidia-current-169.12-1mdv2008.0.i586.rpm" that is obviously supposed to provide the precompiled drivers, but that package doesn't seem to work for me either. It installs ok, but it doesn't provide all the files it says it comes with; namely the kernel module and libraries. The setup programs like nvidia-settings are also missing.
The only thing I did notice (and I don't know if this is really a problem or not) is the following "error" (or maybe it's a warning) that appears near the end of nvidia-installer.log:
Code:
nvidia: version magic '2.6.22.18-1mdvcustom mod_unload 686 ' should be '2.6.22.18-laptop-1mdv SMP mod_unload 686 '
nvidiafb: cannot request PCI regions
Does anyone have any ideas about what's causing my problems? I really need to get this nvidia driver working; without it I have to use the generic vesa driver (the nv driver doesn't work with this particular hardware configuration). There's always a chance that it's a dumb problem on my part since I'm still kind of new to some of this stuff. Thanks.