As you can see from the output of lsmod below, there are a lot of dependencies to the nouveau driver.
[root@host ~]# lsmod | grep nouveau Module Size Used by nouveau 639801 1 ttm 57516 1 nouveau drm_kms_helper 28144 1 nouveau drm 185516 3 nouveau,ttm,drm_kms_helper i2c_algo_bit 4690 1 nouveau i2c_core 25825 5 i2c_i801,nouveau,drm_kms_helper,drm,i2c_algo_bit mxm_wmi 1473 1 nouveau video 16720 1 nouveau
The nouveau driver needs to be uninstalled before the Nvidia drivers can be installed. Installing the Nvidia drivers for Linux without removing nouveau will result in errors. Trying to unload and remove the driver is not that easy.
[root@host ~]# rmmod nouvueau ERROR: Module nouveau is in use
And as you can see from the output of the above rmmod command, it resulted in an error. How then do you install the Nvidia drivers if nouveau could not be uninstalled?
I followed the steps below to unload nouveau and install the Nvidia driver for my workstation's video card. This procedure was taken from http://nouveau.freedesktop.org/wiki/KernelModeSetting.
[root@host ~]# echo 0 > /sys/class/vtconsole/vtcon1/bind [root@host ~]# rmmod nouveau [root@host ~]# /etc/init.d/consolefont restart -bash: /etc/init.d/consolefont: No such file or directory [root@host ~]# rmmod ttm [root@host ~]# rmmod drm_kms_helper [root@host ~]# rmmod drm
I was now able to install the Nvidia drivers. However, when I rebooted the machine, the nouveau drivers were still loaded even though the Nvidia drivers were already installed.
You will need to prevent the nouveau drivers from loading at boot-time. You can do this two-ways:
[1] Create the blacklist file inside the /etc/modprobe.d/ directory. This can be any arbitrary file as long as it is inside that directory. For the sake of easy administration, let us name this file "nouveau.conf". Put the following files:
blacklist nouveau options nouveau modeset=0
and/or;
[2] If in case the ramdisk image contains the nouveau drivers, disable it at boot-time. Add the following phrase to your /etc/grub/grub.conf (on the kernel line):
rdblacklist=nouveau
The other alternative would be to rebuild the initrd image without the nouveau drivers.
RELATED: Quantifiably Measure Boot Time Optimizations
After making the above changes to my CentOS 6.1 workstation, Nvidia drivers were loaded and I had things going for me. I hope this helps those who have difficulty in unloading and removing nouveau drivers.