Nvidia Xorg driver for 2.6.33.2 kernel

Quirky 018 testers have reported being unable to compile the commercial Nvidia driver.

Note that the Nvidia source is a driver for Xorg, but there is a kernel module that has to be compiled for a particular kernel, and that is the stumbling block.

The 2.6.33.2 kernel used in Quirky and Wary was compiled in Quirky, so gcc matches, so that is not the problem. Wary has the same packages as Quirky so either can be used to compile kernel modules.

I have the wary_devx_020.sfs and kernel_src-2.6.33.2-patched.sfs (from http://bkhome.org/sources) loaded.

I downloaded the Nvidia driver package from here:
http://www.nvidia.com/object/linux_display_ia32_195.36.15.html

I exited from X and ran this:

# cd <where you downloaded it>
# sh ./NVIDIA-Linux-x86-195.36.15-pkg1.run


...which aborted with an error message. This is what others have also found.

I have been puzzling over this all afternoon, eventually tracked down the problem. There's a little something missing from the kernel source, that the 'nvidia-installer' program looks for. Do this:

# cd /usr/src/linux-2.6.33.2
# make prepare


...then go back and install the Nvidia driver.

So, anyone want to knock up a PET package? I would have done, except the nvidia-installer won't complete the installation if the video hardware is not Nvidia -- it tries to load the module that it has just compiled, that fails, so it aborts the installation.

Note, I do have one PC with an Nvidia card, but it has no hard drive (I think the hd interface on the motherboard has failed).


Posted on 26 Apr 2010, 18:38


Comments:

Posted on 26 Apr 2010, 21:12 by JustGreg
Thank you!
I have been "banging my head" over this one for a while now. I will try it tonight after work. The Nvidia installer has an option to make a custom version. If everything works on my Acer Aspire Revo, I will try the option. Hopefully, the Nvidia installer log will list all the files installed so a Pet package can be made. First, I got to get it to work! Thanks for taking the time, Barry.


Posted on 27 Apr 2010, 5:48 by JustGreg
Works in 4.3.1, but
I tried what you wrote with Nvidia 190.53 installer. It failed in Wary019 with same error. I tried several times. I even checked for all the files that make prepare creates. They were all present. I think it is the file version.h that is needed.

I created a frugal Puppy 4.3.1 installation with the kernel source and devx sfs file. I tried the Nvidia 190.53 installer and it work but failed to complete the installer. The Busy Box version of depmod did not support the -aq option. I start with a fresh pupsave file and rename depmod-full to just depmod after deleting the link for depmod to Busy Box. The Nvidia 190.53 installer worked with no problems!

I am going to try the newer version of Nvidia installer 195.36.14 with Wary 019. Old version may just not be compatible with the newer version of the kernel. Thanks again for the help.


Posted on 27 Apr 2010, 6:34 by BarryK
Strange
You need to have a very recent release on the Nvidia package to compile with the 2.6.33.2 kernel.

That's strange, "make prepare" was the magic thing that worked for me. Alright, having done "make prepare", follow these instructions...

What you can do is extract only:

# sh ./NVIDIA-Linux-x86-195.36.15-pkg1.run --extract-only
# cd NVIDIA-Linux-x86-195.36.15-pkg1/usr/src/nv
# export SYSSRC=/usr/src/linux-2.6.33.2
# export KERNEL_MODLIB=/lib/modules/2.6.33.2
# export KERNEL_UNAME=2.6.33.2
# export MODULE_ROOT=/lib/modules/2.6.33.2
# export SYSOUT=/usr/src/linux-2.6.33.2
# export CC=cc
# make module


...that lot comes out of the T2 project.

If it does not compile, try this and observe error messages:

# make -f Makefile.kbuild module

If module compiles, proceed:

# cd ..
# cd ..
# cd ..
# ./nvidia-installer




Posted on 28 Apr 2010, 3:47 by JustGreg
Progress?
Thank you taking the time to help me. Yes, one does need to have the 195.36.15 installer for the 2.6.33.2. Yes, the make prepare is required. I got the installer (195.35.15) to build the kernel module correctly. If one lets the installer modify the xorg.conf, then it does not work. I get error messages like failed to find initrd/kernel/usb/core/usbcore.ko. Happily only the x server fails to start. I did find using xorg.conf file from Puppy 4.3.1 eliminates the missing kernel modules messages. My plan is to try manually modifying the xorg.conf file using the installer readme instruction. I will also try your instructions for the manual building of the kernel module. Once again, thank you taking the time to help me. I am not familiar with the whole process.


Posted on 28 Apr 2010, 8:50 by JustGreg
Good News
Hesse Jesse was able to install the NVIDIA 195.36.15 driver in Wary 020. He had similar problems with Quirky 018. The information is on the form at:
http://www.murga-linux.com/puppy/viewtopic.php?p=413789#413789

Thanks again for taking your time on this one.


Posted on 28 Apr 2010, 9:19 by BarryK
PET needed for Nvidia
Good that you and Hesse Jesse are having success. It will will most helpful if either (or both) of you can knock up a PET package.

Wary has Xorg 7.3, Quirky has 7.5, so possibly the /etc/X11/xorg.conf will need to be different for each. A simple 'pinstall.sh' script in the PET package could take care of that.

This is also going to be used with Lupu.