Problems with Nvidia-driver and kernel 2.6.14
Hi everybody. I'm running Debian Sid for some months now, and for me it's really impressive, it has nothing of unstable and you have the latest packages.
However, today I had some problems. As usual I upgraded my system and I was surprised that the kernel 2.6.14 was already available, I download it, and as usual I have to compile again the nvidia driver. Unfortunately, I couldn't do it, at booting with the new kernel everything went alright until it wanted to start the X system (predictable), so I login as root and went through all the process of compiling the driver: install the latest nvidia-kernel-source (v. ***7174), nvidia-glx, as well as the linux-headers using apt-get. I setup the following Code:
export KVERS=$(uname -r) Code:
debian/rules binary_modules Since I can't boot with the kernel 2.6.14 I'm now with my old kernel 2.6.12 :( |
I just compiled 2.6.14 and nvidia without any hickups. I also can't see anything wrong in your post, so did you execute the command from the kernel source dir, did you make a typo, did you forget to unpack the nvidia sources???
|
Can you post relevant parts of the error generated. Till then I'll go looking for a site which had a really good way of compiling the nividia kernel modules on Debian.
|
More info
Thanks for your replies, I have more info so maybe you can spot what went wrong, I copy some of the errors that appear in the terminal, there are a lot. I tried to redirect the output of the terminal to a file using:
Code:
debian/rules binary_modules > log_nvidia Code:
# select which makefile to use. Code:
tar -zxf nvidia-kernel-source-tar-gz Right now I'm in the phase of porting all my programs to Linux, and of course I'm learning the tools available in Linux and programming in C/C++. From what I've learned till now, I believe that the problem arises when the file nv.c is being compiled and it needs the modules available in the kernel-headers, somehow it can't find them or they have changed some names of some functions :scratch: , somebody knows why this is happening? I notice also that it's using a makefile called Makefile.Kbuild to compile the module is this ok? Did somebody follow other procedure, or is this the most adequate? Maybe I can compile the latest Nvidia package downloaded from its website? I just want to follow the Debian way, but if it's not possible maybe I could follow other procedures? As you can see I have a lot of questions, I guess this is why I like Linux, you don't stop learning .... |
I usually follow this procedure:
Code:
apt-get install nvidia-kernel-common Code:
module-assistant auto-install nvidia Code:
apt-get install nvidia-glx |
Thanks Yanik for your help, I followed your instructions and unfortunately it does not finish correctly, and said that it can't create the driver, if I remember well...
I also tried downloading the latest nvidia driver, NVIDIA-Linux-x86-1.0-7676-pkg1.run, and follow the typical procedure: become root, obviously X is not running, done Code:
sh NVIDIA-Linux-x86-1.0-7676-pkg1.run Code:
nvidia-installer log file '/var/log/nvidia-installer.log' Hope somebody can spot something unusual. |
Your compilation problem appears to be with the function "agp_backend_release". The prototype for this function is found in agp_backend.h. For linux 2.6.13 the prototype is as follows:
Code:
void agp_backend_release(struct agp_bridge_data *); Code:
if (!error) agp_backend_release(); However, the nvidia module compiles just fine on my machine. This is because the preprocessing directives exclude the function from being used (AGPART is not defined): Code:
#elif defined(AGPGART) Section "Device" Identifier "Videocard0" Driver "nvidia" VendorName "Videocard vendor" BoardName "NVIDIA GeForce 4 MX (generic)" VideoRam 65536 Option "NvAGP" "1" ### interesting line ### EndSection Notice that I am explicitly asking for the nvidia agp driver - NvAGP. Perhaps if you add this line to your xorg.conf file it will disregard the use of agp_backend_acquire and will compile. Perhaps this is NVidia's way of telling us to stop using agpart. ;-) |
Thanks for your insights nfrum, and definitely you are right on the errors in the header app_backend.h. However the same errors also occurs for other headers. I review again the file /var/log/nvidia-installer.log, and I'll copy some other lines:
Code:
NVIDIA: calling KBUILD... I believe that the kernel 2.6.14.1-686 was compiled with the version 4.0.2, but I don't thinks this could be a reason that the nvidia kernel sources can't compile with the 4.0.3 gcc version. Furthermore there is no explicit error about this. Correct me if I'm wrong, in the meantime still trying to find the way to make the nvidia driver works in my box... |
That's what debian unstable is all about. Sometimes it breaks, and usually, you just wait a few days and it gets fix. As a normal user, I found it useless to try too much to fix something that broke.
As usual, today's dist-upgrade did the trick. :) The module now compiles cleanly. Yan |
This is the command to compile nv.c from my installer log:
cc -Wp,-MD,/tmp/selfgz3506/NVIDIA-Linux-x86-1.0-7676-pkg1/usr/src/nv/.nv.o .d -nostdinc -isystem /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/include -D__ KERNEL__ -Iinclude -Iinclude2 -I/usr/src/linux-2.6.13/include -I/tmp/selfgz 3506/NVIDIA-Linux-x86-1.0-7676-pkg1/usr/src/nv -Wall -Wstrict-prototypes -Wn o-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -O2 -fomit-frame -pointer -g -pipe -msoft-float -mpreferred-stack-boundary=2 -march=i686 -I/u sr/src/linux-2.6.13/include/asm-i386/mach-default -Iinclude/asm-i386/mach-de fault -Wdeclaration-after-statement -I/tmp/selfgz3506/NVIDIA-Linux-x86-1.0- 7676-pkg1/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar -subscripts -Wparentheses -Wpointer-arith -Wno-multichar -Werror -O -fno-com mon -MD -Wsign-compare -Wno-cast-qual -Wno-error -D_LOOSE_KERNEL_NAMES -D__K ERNEL__ -DMODULE -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DM ODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVEL=7676 -UDEBUG -U_DEBUG -DNDEBUG -DNV_SIGNAL_STRUCT_RLIM -DNV_MULTIPLE_BRIDGE_AGPGART_PRESE NT -DNV_REMAP_PFN_RANGE_PRESENT -DNV_CHANGE_PAGE_ATTR_PRESENT -DNV_PCI_DISAB LE_DEVICE_PRESENT -DNV_PCI_GET_CLASS_PRESENT -DNV_VMAP_4_PRESENT -DMODULE -D KBUILD_BASENAME=nv -DKBUILD_MODNAME=nvidia -c -o /t mp/selfgz3506/NVIDIA-Linux-x86-1.0-7676-pkg1/usr/src/nv/nv.o /tmp/selfgz3506 /NVIDIA-Linux-x86-1.0-7676-pkg1/usr/src/nv/nv.c Try extracting the nvidia packege like so: sh NVIDIA-Linux-x86-1.0-7676-pkg1.run -x Then run nvidia-installer by entering the created directory and typing: make install or make install > my_own_log.txt 2>&1 (if you want to save the output) You should be root to do this. When the build fails, try changing the last cc command for nv.c with one that has the same defines (-D...) as the line above, or just add -DNV_MULTIPLE_BRIDGE_AGPGART_PRESENT. See what happens. |
Finally working properly
Thanks nfrum for your suggestions. It's nice to learn more options when something does not go well, and I'll keep your suggestions for future reference. I took the advice of Yan and did apt-get dist-upgrade this morning, and from the list of packages to update I found the linux-image and the linux headers 2.6.14.1-1-686.
Yan you are absolutely right!, maybe there were some bugs on these packages, and when I finished downloading, I proceed to install the nvidia-driver, and besides some warnings everything went right this time!, so right now I'm typing from my Debian Sid box with the 2.6.14-1-686 kernel!. Well, besides this problem, my Debian Sid is very stable, even more than other distros. This really surprises me, I didn't have a single crash of the system in several months, just some programs that in some circumstances don't function properly, I really like Debian Sid. Thanks again nfrum, Yan, Moloko and Valerie Tux, I appreciate your valuable help when somethings go wrong and most importantly I'm happy being part of this community. :) |
Just compiled 2.6.14 with gcc 3.3 and it works!
Well, folks-I just had to tell you. I tried installing kernel 2.6.14 on my AMD Athlon 64 3400 system with Synaptic/Apt and when I rebooted it failed partway through the boot. I tried numerous times uninstalling and reinstalling it with Synaptic/Apt and it still failed partway through the boot. I tried downloading it from www.kernel.org and compiling but after finishing the "make" command it would have errors "seg fault" I think. It was compiled with gcc 4 so I tried gcc 3.4 and still the same fault. I was beginning to think it would compile fine on FC2-i386 [I was getting paranoid?] but not Debian maybe because it was something about the way Debian was designed and built? Anyway I tried one more time to compile it again but this time with gcc 3.3 and it compiled fine and I finished compiling it and rebooted and it worked FINE FINE FINE!!! It was gcc 3.4 and gcc 4 that was the problem. I am typing this under kernel 2.6.14 downloaded from www.kernel.org and compiled by me with gcc 3.3 on my x86_64 system and installed by me and it works so good. The kernel images installed by Synaptic are probably defective or riddled with errors because of gcc 4 and/or gcc 3.4; but it seems to compile the www.kernel.org kernel especially good without errors with gcc 3.3. Just had to tell someone to spare them the headache and the errors with gcc 4 and gcc 3.4.
Sincerely, Jean Brown Harrell |
And you now have 2.6.14 working with the nvidia drivers? I didn't see nvidia mentioned in your post.
I have downloaded the kernel.org source and will give it a try using gcc3.3. |
I have an Nvidia GeForce FX 5200 256 MB agp8x video card...
I have an Nvidia GeForce FX 5200 256 MB agp8x video card with Debian "Etch" amd64 with DMA enabled and I use packages from both "testing" and "unstable" and I am not using the Nvidia drivers. I am using the X driver "nv" as this works fine for my purposes. I have not tried to use the Nvidia driver; maybe soon? Anyway I had also been having problems with my Debian Sarge & Etch amd64 installations [both of them] where the Gnome or Xserver steadily ate up more and more of my RAM [memory leak?] until it had consumed all of it and could not figure out what it was. I reinstalled Debian "Etch" amd64 but was very careful of what I installed that would run in memory as memory-resident and so far I have not had any problems with my RAM being steadily consumed [memory leak?] more & more by either Xserver [both xfree86 & xorg did this] and/or Gnome & KDE also I think....anyway I have an awesome system and it works great. I also pay attention to the bug reports on the updates when Synaptic goes to install them I don't install anything that has a memory leak big as Texas. If I have any problems with any program I don't install it and that helps also. I tried Ubuntu Breezy 5.10-amd64 and it won't boot; it fails partway through the boot. I reported it as a bug and it is being worked on but is not fixed yet. I cannot stomach Fedora Core 4-any version-as they took out apt and synaptic and I can't stand yumex as it has a memory leak as big as Texas and is too slow and a pain in the butt. So I tried Debian and am trying to work out the bugs. If I don't use Debian my only alternatives are Red Hat Linux 9, 8, or 7.3 or Fedora Core 2 or even 1. Hope my comments helped.
Sincerely, Jean Brown Harrell |
Thanks for the answer. I can run kernel 2.6.14 with the nv driver, but it is the nvidia driver (3d support) that is causing me headaches. I have a visitor sometimes who demands bzflag and tuxracer :-)
|
All times are GMT -5. The time now is 10:13 PM. |