I tried to install nvidia version 6629 (because of the most famous bug of the last nvidias drivers) on a 2.6.12 kernel (Mandrva LE2006).
After having applied the patch NVIDIA-1.0-6629-02.28.2005+warpxmod-09.24.2005.diff from
http://www.nvnews.net/vbulletin/showthread.php?t=56926 the compilation of the kernel module went well but when launching Xorg, the nvidia driver needs symbols not available because of the dlloader option used at the compilation of Xorg.
To avoid recompiling Xorg and be able to use the last correct Nvidia driver, I found that trick :
sh ./NVIDIA-Linux-x86-1.0-6629-pkg1.run --extract-only
cd NVIDIA-Linux-x86-1.0-6629-pkg1/
patch -p0 < ../NVIDIA-1.0-6629-02.28.2005+warpxmod-09.24.2005.diff
./nvidia-installer
mv -f /usr/X11R6/lib/modules/drivers/nvidia_drv.o /usr/X11R6/lib/modules/drivers/nvidia_drv.orig.o
ld -shared -o /usr/X11R6/lib/modules/drivers/nvidia_drv.o /usr/X11R6/lib/modules/libfb.so /usr/X11R6/lib/modules/libramdac.so /usr/X11R6/lib/modules/drivers/nvidia_drv.orig.o /usr/X11R6/lib/modules/libddc.so /usr/X11R6/lib/modules/linux/libint10.so
The first part of the code is the classical way for installing the driver and the last one creates a new nvidia object file (bigger) with all the necessary routines for it to work without needing any external symbol.