I have never used the NVIDIA_kernel rpm for my systems whether i was on Mandrake or Redhat, but always the Nvidia kernel tarball. Call it superstition.
And I have _never_ had a problem installing the nvidia kernel module, since the first day these were available. So if it's a superstition, it's done well by me.
Based on that experience, I always think to myself the first thing to do is to make sure you are using the Nvidia _tarballs_. (Actually I installed the GLX files on this system by rpm -ivh --nodeps NVIDIA_glx_blahblahblah but that's the first time ever)
I installed the kernel module by tarball, as usual.
#rpm -qa |grep kernel
this will list all installed kernel rpms. You should see
among some other stuff. This means you have the latest kernel for rh8.0 and the matching source. Just to be strict about it, you could do this too:
ln -s /usr/src/linux-2.4.18-19.8.0 /usr/src/linux
That creates a symbolic link to your latest kernel source. This symlink will need to be updated when you install any later kernel-source rpm.
untar the Nvidia_kernel tarball in /root .
#lsmod to check whether the nvidia module is already loaded. (# 'rmmod nvidia' if you see it).
cd into the NVIDIA_kernel_1.0.4.xxx directory you just created.
issue 'make install'
It should build and load into your kernel, with warnings about "taint". But lsmod shows it's there.
Now it's just a question of editting your working XF86Config. (make backup and call it something else, like /root/notXF86Config --an XF86Config in /root will be used by X if root issues a startx, so make sure your backup will not be confused with the current config file.) Installing the kernel module "by hand" does handle the entry in /etc/modules.cond for you --but you could always check just to make sure the appropriate line is there:
alias char-major-195 nvidia
If anything goofs up while installing the module, or if you subsequently compile or install a new kernel, you should 'make clean' in the NVIDIA_kernel directory and 'make install' again once you are using the new kernel. That means that it will be smoother for you to set the runlevel to 3 in /etc/inittab whenever you upgrade the kernel and are preparing to reboot to use the new kernel. (Otherwise you'll have your X display manager program repeatedly trying to start X up and failing which is unpleasant if harmless) Then remake the Nvidia module, see that it's inserted successfully, and change inittab back to boot into runlevel 5, if that's how you like to run your linux system.