This is not the recommended way to install the NVIDIA drivers - please see BinaryDriverHowto/Nvidia for the supported method. Any problems that occur after using the following instructions should not be reported to the launchpad bug area. If the drivers were downloaded from the NVIDIA web site then the NVIDIA Linux web forum is an appropriate place to report issues. Other places for binary driver manual installation support can be found on the Community Support page.
Sometimes using the drivers in the Ubuntu repositories is not the best option. Here are some reasons to install the NVIDIA restricted drivers manually:
- your card is too new, and is not supported by the Ubuntu provided binary packages.
- bugs are present in provided packages that are fixed in later drivers not yet distributed by Ubuntu.
- newer drivers provide a new feature not yet available in the Ubuntu packages.
The purpose of this page is to detail the necessary work to install the official NVIDIA Linux driver from www.nvidia.com. Note that this will not fix resolution problems, for that you need to see the FixVideoResolutionHowto.
When using manually installed NVIDIA binary drivers you will need to redo some of the following steps every time packages related to mesa or linux-image are updated (see the Kernel and Mesa Updates section for details). Attempts to revert to the Ubuntu provided NVIDIA binary drivers may prove troublesome and upgrades to the next Ubuntu release (e.g. from Ubuntu 7.04 to 7.10) may fail unless the manual install is correctly uninstalled first.
Complete Manual Install
Obtaining Needed Software
Before you begin, it is strongly advised that your already have Xorg working acceptably with the 'nv' drivers included.
First, make sure that your /etc/X11/xorg.conf is backed up.
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
Open a terminal, and run the following command:
sudo apt-get install build-essential linux-headers-`uname -r`
If you receive the "Unable to locate package" error, run the command:
and insert the output into the "uname -r" portion of the former command.
It should then look something like this:
sudo apt-get install build-essential linux-headers-2.6.35-22-generic
Or you can use simply run this:
sudo apt-get install build-essential linux-headers-"$(uname -r)"
This next step is optional. Most people will not need it, and it takes a fair amount of bandwidth and diskspace. It installs the Linux kernel source. If later steps fail, consider this a last resort.
sudo apt-get install linux-source-`uname -r` cd /usr/src sudo tar xvjf linux-source-`uname -r` sudo ln -s linux-source-`uname -r` /usr/src/linux
The above command might print an error similar to the following:
E: Couldn't find package linux-source-2.6.20-16-386
In such case you could try following
sudo apt-get install linux-source
The following command will then probably need adjustment also.
Disable Conflicting Software
Open or create the /etc/default/linux-restricted-modules-common file with an editor, in Ubuntu use
gksudo gedit /etc/default/linux-restricted-modules-common
and in Kubuntu use
kdesu kate /etc/default/linux-restricted-modules-common
and find the line:
replace it with:
Note: In Ubuntu 7.04 the nvidia_new is explicitly required in addition to nv on the DISABLED_MODULES line. See this launchpad bug about lrm-manager failing to disable the nvidia_new module when nv is specified alone. Additionally you may need to manually remove the hidden /lib/linux-restricted-modules/.nvidia_new_installed file.
Warning: Be wary of uninstalling nvidia-kernel-common or packages starting with the name linux-restricted-modules. Doing so will cause all restricted drivers to be uninstalled which may result in other hardware (e.g. certain wireless cards) or other software (e.g. VMware) failing to work after a reboot/kernel update. If you revert to use Jockey, reinstalling DKMS is needed to get all relevant drivers to be available by Jockey.
Prepare Configuration Files
The next step is to edit your xorg.conf file. This may not be needed in Hardy Heron and newer, but check anyway, esp. if you have upgraded from older versions of Ubuntu.
gksudo gedit /etc/X11/xorg.conf
Or in Kubuntu:
kdesu kate /etc/X11/xorg.conf
Find the section Module and comment out DRI using the # symbol, such as in the following example.
Section "Module" Load "bitmap" Load "dbe" Load "ddc" # Load "dri" <------ this is 'commented' Load "extmod" Load "freetype" Load "glx" Load "int10" Load "record" Load "type1" Load "vbe" EndSection
Now find the section Device, and change the Driver from nv (or vesa, fb, etc) to nvidia, as in the following example, and then save it.
Section "Device" Identifier "Card0" Driver "nvidia" #This is where you change it EndSection
Now that your Xorg.conf is saved, we need to shutdown the X11 server so that we can install the new drivers. To do this, save your work and press ctrl-alt-f1, and log in. Then run the following command to shutdown X11. Make sure your work is saved, Gnome/KDE is going to shutdown too.
For Ubuntu 11.04 or lower:
sudo /etc/init.d/gdm stop
For Ubuntu 11.10 or higher:
sudo /etc/init.d/lightdm stop
sudo /etc/init.d/kdm stop
Install the Driver
Useful tip, typing the first few letters and hitting the Tab key will auto-complete the name, saving you from using wildcards like *
First navigate from the tty to the directory where you saved the install file (I will use /path/to/installer), then set executable permissions on it:
cd /path/to/installer sudo chmod +x NVIDIA*
You can start the install script with the following command:
sudo sh NVIDIA*
The installer will now walk you through the steps required. Assuming success, you can now restart your X11 server using:
For Ubuntu 11.04 or lower:
sudo /etc/init.d/gdm start
For Ubuntu 11.10 or higher:
sudo /etc/init.d/lightdm start
sudo /etc/init.d/kdm start
You can now change settings for your video setup. In Ubuntu, go to Applications->System Tools->NVIDIA X Server Settings (or sometimes System->Administration->NVIDIA X Server Settings depending on the driver and/or install method). Alternatively, use the terminal:
For setting up dual head, see NvidiaMultiMonitors.
Load driver on boot
The X server will start in low-resolution if the nvidia driver is not loaded on boot, so
$ sudo gedit /etc/modules and add a line containing nvidia
Kernel and Mesa Updates
Every time a new kernel comes out you will probably have to manually rebuild the NVIDIA binary driver kernel module. This can be done by booting to the new kernel and then running:
sudo sh NVIDIA* -K
on the previously downloaded NVIDIA installer file.
Additionally, any time that the mesa packages are updated you will have to reinstall the NVIDIA .pkg again.
Uninstalling the Driver
Sometimes it is necessary to uninstall the driver, like before a version upgrade of Ubuntu or if the installation fails or is no longer needed. For a manual install, you can remove the driver using the installer file:
sudo sh NVIDIA* --uninstall
You will probably be asked to reboot the computer.
It didn't work! (Troubleshooting)
When trying to start X, if you get an error about nvidiactl (you will need to see the X log), try the following:
- sudo update-rc.d -f nvidia-kernel remove
If you want to go back to the Restricted Manager method after performing the above instructions, do this
- sudo update-rc.d nvidia-kernel defaults
If the installer fails, go through the following checklist
Was Xorg already properly configured for the nv driver?
Did you disable the loading of Ubuntu provided NVIDIA drivers using DISABLED_MODULES="nv nvidia_new" in /etc/default/linux-restricted-modules-common ? This is a common cause of driver mismatch errors on manual installations due to conflicts with the Ubuntu provided NVIDIA binary driver.
You may need to remove the file /lib/linux-restricted-modules/.nvidia_new_installed
Did you remove the nvidia-glx/nvidia-glx-legacy/nvidia-glx-new and nvidia-settings packages?
Did you read the log found in /var/log/nvidia-installer-log for errors that can guide you?
Did you check the output of dmesg ?
- Did you install the kernel headers (and possibly source package)?
- Did you check the NVIDIA readme found on their site to make sure your card is supported with that version of driver?
Did you check the NVIDIA Linux Forums for any current 'known issues' with the latest drivers?
Did you ask in #ubuntu on irc.freenode.net or any of the other places mentioned on http://www.ubuntu.com/support/communitysupport ?
Installation with Envy/EnvyNG
Hardy Heron and newer use EnvyNG, older versions of Ubuntu use Envy Legacy - both can be found at http://albertomilone.com/nvidia_scripts1.html
- directions are provided on that site for installing the correct version of Envy, as well as some general troubleshooting tips.
According to Envy's website, EnvyNG does not support Ubuntu 10.04 and newer, it is recommended to use Jockey instead.
EnvyNG is available in the Universe repository in Hardy Heron and later. Older versions of Ubuntu using Envy Legacy can download the .deb file from Envy's website.
After installing, EnvyNG can be found from Applications->System Tools->EnvyNG in Ubuntu. You will want make sure you select NVIDIA drivers, not ATI:
Navigate there and click Apply, and the program will do the rest. You can then configure your card as described under the complete manual install section above.
Uninstalling the Driver
Sometimes it is necessary to uninstall the driver, like before a version upgrade of Ubuntu or if the installation fails or is no longer needed. With Envy/EnvyNG, you can uninstall the driver directory from the program, see the above screenshot - it is the third choice. You will probably be asked to reboot the computer.
There is Nouveau: an open source driver with acceleration for NVIDIA cards. Currently (2008), there is 2D-support, and a very limited 3D support for extremely lucky developers. See http://nouveau.freedesktop.org/wiki/. Users that have installed the proprietary driver can help the development of Nouveau by sending information about their cards, see http://nouveau.freedesktop.org/wiki/REnouveauDumps.
Here are some other resources of interest:
Envy and EnvyNG - Automated script to build and install the latest official NVIDIA binary driver.
NVIDIA web forum Ubuntu installation notes - NVIDIA's guide to installing their binary driver .pkg on Ubuntu.