- — HOW-TO: Make Windows 7 Boot Faster
- — TWEAK: Filter Unread Emails in Gmail
- — TIP: Linux Virtual Machine Performance Tweaks
- — HOW-TO: Automated TV Series Downloads Using Raspberry-PI
- — FAQ: Mouse Randomly Freezing in Windows 7
- — TWEAK: Make Torrents Download Faster
HOW-TO: Unload nouveau and Install Nvidia Driver
If you have installed Linux on a machine with Nvidia graphics cards, Linux (Red Hat based ones) would likely default to installing the nouveau video driver for that graphics card. It is a challenge to unload the driver and install the Nvidia graphics drivers to properly display the desktop environment.
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:
 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:
options nouveau modeset=0
 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):
The other alternative would be to rebuild the initrd image without the nouveau drivers.
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.