(NOTE: if you follow this procedure, you will introduce a dependency where the kernel and nvidia driver versions must match.  This means a centrally-managed system can no longer perform automatic kernel updates without breaking the nvidia driver.  Because the OS-provided nouveau driver is no longer in use, you will then become responsible for managing kernel updates on your host to satisfy cybersecurity requirements.)

NOTE: There is newer documentation here: nvidia-automatic-builds-via-dkms if one wants to have this just work without worrying about the drive/kernel match. That documentation, as the one below, are for local admins. It builds the kernel module on the installation of the newer kernel for you.

1. Append this to the kernel line in /etc/grub.conf

   blacklist=nouveau

Make sure you are editing the correct kernel line.  If you are not sure, you can add it to all the kernel lines.

 

2. Also, add the following to /etc/modprobe.d/blacklist.conf

   blacklist nouveau

   options nouveau modeset=0

 

3. Rebuild initial ram disk.  For example, if your kernel is 2.6.32-573.22.1.el6.x86_64, then do this:

  # dracut -f /boot/initramfs-2.6.32-573.22.1.el6.x86_64.img 2.6.32-573.22.1.el6.x86_64 -v

That will build and put a new initial ram disk in /boot/.

Then reboot.  You can run "/sbin/lsmod | grep nouveau" to verify it worked.

This process worked on host tid-pc80031 on 8-Apr-2016.
Service now ticket INC0089358.

 

4. To install and activate the nvidia driver (stop X server, install driver, start X server):
Make sure no one is logged onto the console or else you will kill their session. The directory referenced below has a readme file with a URL for downloads. Check the URL in case there is a more recent driver.

sudo init 3
cd /afs/slac/package/nvidia_graphics/desktop/
sudo sh ./NVIDIA-Linux-x86_64-340.96.run
sudo init 5

 

5. Add taylor option linux_kernel=leavealone to your system

To prevent your system from automatically rebooting into new kernels, add the following line to the /etc/taylor.opts file

linux_kernel=leavealone

The new kernel packages will still be installed. You can change the default kernel yourself via /etc/grub.conf. You will have to rerun the NVIDIA installer any time you change the kernel version.

 

 


 

Note: it may be possible to use DKMS with the nvidia module so it gets built automatically.  SCS has not tested this.  See this README which suggests that DKMS could be used:

ftp://download.nvidia.com/XFree86/Linux-x86/381.09/README/installdriver.html

 

-- ksa - 2016-04-08