Differences between revisions 2 and 3
Revision 2 as of 2013-05-24 15:19:41
Size: 10015
Editor: GeoffSimmons
Comment: Fix links to anchors.
Revision 3 as of 2013-05-31 06:38:06
Size: 0
Editor: GeoffSimmons
Comment: Page is published.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#language en
## vim:ft=moin1_6:paste
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: none-~
----
= NVIDIA Proprietary Driver =

This page describes how to install the NVIDIA proprietary display driver on Debian systems.

<<TableOfContents(4)>>

== Identification ==

The NVIDIA graphics processing unit (GPU) series/codename of an installed video card can usually be identified using the {{{lspci}}} command. For example:
 {{{
$ lspci -nn | grep VGA
01:00.0 VGA compatible controller [0300]: nVidia Corporation G80 [GeForce 8800 GTS] [10de:0193] (rev a2)
}}}

See [[HowToIdentifyADevice/PCI]] for more information. The PCI ID can be used to verify device support.

== Drivers ==

The proprietary "NVIDIA Accelerated Linux Graphics Driver" provides optimized hardware acceleration of OpenGL applications via a direct-rendering X server. It is a binary-only [[Xorg]] driver requiring a Linux kernel module for its use.

Three driver versions are available for [[DebianWheezy|Debian 7.0 "Wheezy"]]:

 * [[#wheezy|Version 304.88]] ([[http://us.download.nvidia.com/XFree86/Linux-x86/304.88/README/supportedchips.html|supported devices]])
  * For !GeForce 6xxx and higher GPUs.
 * [[#wheezy-173xx|Version 173.14.35 (legacy GPUs)]] ([[http://www.nvidia.com/object/IO_32667.html|supported devices]])
  * For !GeForce 5xxx / !GeForce FX GPUs.
 * [[#wheezy-96xx|Version 96.43.23 (legacy GPUs)]] ([[http://www.nvidia.com/object/IO_32667.html|supported devices]])
  * For !GeForce 2, !GeForce 3 and !GeForce 4 GPUs.

Three driver versions are available for [[DebianSqueeze|Debian 6.0 "Squeeze"]]:

 * [[#squeeze|Version 195.36.31]] ([[http://us.download.nvidia.com/XFree86/Linux-x86/195.36.31/README/supportedchips.html|supported devices]])
  * For !GeForce 6xxx and higher GPUs, through to some !GeForce 400 series.
 * [[#squeeze-173xx|Version 173.14.27 (legacy GPUs)]] ([[http://www.nvidia.com/object/IO_32667.html|supported devices]])
  * For !GeForce 5xxx / !GeForce FX GPUs.
 * [[#squeeze-96xx|Version 96.43.18 (legacy GPUs)]] ([[http://www.nvidia.com/object/IO_32667.html|supported devices]])
  * For !GeForce 2, !GeForce 3 and !GeForce 4 GPUs.

The 71.86.xx driver - supporting NVIDIA NV4/NV5/NV6/NV10/NV15 GPUs and variants - is not available, as this does not support Xorg X server versions later than 1.4 (DebianBug:620526, DebianBug:708338).

All proprietary drivers above are available only for the x86 and x86-64 architectures (Debian [[i386]] and [[DebianAMD64|AMD64]] ports respectively).

== Installation ==

<<Anchor(wheezy)>>
=== Debian 7.0 "Wheezy" ===

==== Version 304.88 ====

For support of !GeForce 6xxx and higher GPUs ([[http://us.download.nvidia.com/XFree86/Linux-x86/304.88/README/supportedchips.html|supported devices]]). For older devices, see [[#wheezy-173xx|Version 173.14.35 (legacy GPUs)]] and [[#wheezy-96xx|Version 96.43.23 (legacy GPUs)]].

 1. Add "contrib" and "non-free" components to {{{/etc/apt/sources.list}}}, for example: {{{
# Debian 7.0 "Wheezy"
deb http://http.debian.net/debian/ wheezy main contrib non-free
}}}
 1. Update the list of available packages. Install the appropriate linux-headers and kernel module packages: {{{
# aptitude update
# aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-dkms
}}}
 This will also install the recommended [[DebianPkg:wheezy/nvidia-glx|nvidia-glx]] package. DKMS will build the nvidia module for your system.
 1. Create an [[#configure|Xorg server configuration file]].
 1. Restart your system to enable the nouveau blacklist.

<<Anchor(wheezy-173xx)>>
==== Version 173.14.35 (legacy GPUs) ====

For support of !GeForce 5xxx / !GeForce FX GPUs ([[http://www.nvidia.com/object/IO_32667.html|supported devices]]).

 1. Add "contrib" and "non-free" components to {{{/etc/apt/sources.list}}}, for example: {{{
# Debian 7.0 "Wheezy"
deb http://http.debian.net/debian/ wheezy main contrib non-free
}}}
 1. Update the list of available packages. Install the appropriate linux-headers and kernel module packages: {{{
# aptitude update
# aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-legacy-173xx-dkms
}}}
 This will also install the recommended [[DebianPkg:wheezy/nvidia-glx-legacy-173xx|nvidia-glx-legacy-173xx]] package. DKMS will build the nvidia module for your system.
 1. Create an [[#configure|Xorg server configuration file]].
 1. Restart your system to enable the nouveau blacklist.

<<Anchor(wheezy-96xx)>>
==== Version 96.43.23 (legacy GPUs) ====

For support of !GeForce 2, !GeForce 3 and !GeForce 4 GPUs ([[http://www.nvidia.com/object/IO_32667.html|supported devices]]).

 1. Add "contrib" and "non-free" components to {{{/etc/apt/sources.list}}}, for example: {{{
# Debian 7.0 "Wheezy"
deb http://http.debian.net/debian/ wheezy main contrib non-free
}}}
 1. Update the list of available packages. Install the appropriate linux-headers and kernel module packages: {{{
# aptitude update
# aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-legacy-96xx-dkms
}}}
 This will also install the recommended [[DebianPkg:wheezy/nvidia-glx-legacy-96xx|nvidia-glx-legacy-96xx]] package. DKMS will build the nvidia module for your system.
 1. Create an [[#configure|Xorg server configuration file]].
 1. Restart your system to enable the nouveau blacklist.

<<Anchor(squeeze)>>
=== Debian 6.0 "Squeeze" ===

==== Version 195.36.31 ====

For support of !GeForce 6xxx and higher GPUs ([[http://us.download.nvidia.com/XFree86/Linux-x86/195.36.31/README/supportedchips.html|supported devices]]), up to and including some !GeForce 400 series devices. For older devices, see [[#squeeze-173xx|Version 173.14.27 (legacy GPUs)]] and [[#squeeze-96xx|Version 96.43.18 (legacy GPUs)]].

 1. Add "contrib" and "non-free" components to {{{/etc/apt/sources.list}}}, for example: {{{
# Debian 6.0 "Squeeze"
deb http://http.debian.net/debian/ squeeze main contrib non-free
}}}
 1. Update the list of available packages. Install the appropriate linux-headers and kernel module packages: {{{
# aptitude update
# aptitude -r install linux-headers-2.6-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-dkms
}}}
 This will also install the recommended [[DebianPkg:squeeze/nvidia-glx|nvidia-glx]] package. DKMS will build the nvidia module for your system.
 1. Update the initial ramdisk to include the nouveau blacklist (DebianBug:613951): {{{
# update-initramfs -u
}}}
 1. Create an [[#configure|Xorg server configuration file]].
 1. Restart your system to enable the nouveau blacklist.

<<Anchor(squeeze-173xx)>>
==== Version 173.14.27 (legacy GPUs) ====

For support of !GeForce 5xxx / !GeForce FX GPUs ([[http://www.nvidia.com/object/IO_32667.html|supported devices]]).

 1. Add "contrib" and "non-free" components to {{{/etc/apt/sources.list}}}, for example: {{{
# Debian 6.0 "Squeeze"
deb http://http.debian.net/debian/ squeeze main contrib non-free
}}}
 1. Update the list of available packages. Install the appropriate linux-headers and kernel module packages: {{{
# aptitude update
# aptitude -r install linux-headers-2.6-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-legacy-173xx-dkms
}}}
 This will also install the recommended [[DebianPkg:squeeze/nvidia-glx-legacy-173xx|nvidia-glx-legacy-173xx]] package. DKMS will build the nvidia module for your system.
 1. Update the initial ramdisk to include the nouveau blacklist (DebianBug:613951): {{{
# update-initramfs -u
}}}
 1. Create an [[#configure|Xorg server configuration file]].
 1. Restart your system to enable the nouveau blacklist.

<<Anchor(squeeze-96xx)>>
==== Version 96.43.18 (legacy GPUs) ====

For support of !GeForce 2, !GeForce 3 and !GeForce 4 GPUs ([[http://www.nvidia.com/object/IO_32667.html|supported devices]]).

 1. Add "contrib" and "non-free" components to {{{/etc/apt/sources.list}}}, for example: {{{
# Debian 6.0 "Squeeze"
deb http://http.debian.net/debian/ squeeze main contrib non-free
}}}
 1. Update the list of available packages. Install the appropriate linux-headers and kernel module packages: {{{
# aptitude update
# aptitude -r install linux-headers-2.6-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-legacy-96xx-dkms
}}}
 This will also install the recommended [[DebianPkg:squeeze/nvidia-glx-legacy-96xx|nvidia-glx-legacy-96xx]] package. DKMS will build the nvidia module for your system.
 1. Update the initial ramdisk to include the nouveau blacklist (DebianBug:613951): {{{
# update-initramfs -u
}}}
 1. Create an [[#configure|Xorg server configuration file]].
 1. Restart your system to enable the nouveau blacklist.

<<Anchor(configure)>>
== Configuration ==

As the nvidia driver is not autodetected by [[Xorg]], a configuration file is required to be supplied. For example:

{{{/etc/X11/xorg.conf.d/20-nvidia.conf}}}
 {{{
Section "Device"
    Identifier "My GPU"
    Driver "nvidia"
EndSection
}}}

The configuration file above can be created using these commands:
 {{{
# mkdir /etc/X11/xorg.conf.d
# echo -e 'Section "Device"\n\tIdentifier "My GPU"\n\tDriver "nvidia"\nEndSection' > /etc/X11/xorg.conf.d/20-nvidia.conf
}}}

'''Restart your system at this point to enable the nouveau driver blacklist.'''

== Troubleshooting ==

 * The NVIDIA driver conflicts with the nouveau DRM driver (DebianBug:580894). The nouveau kernel module is blacklisted by the DebianPkg:nvidia-kernel-common package.
  * Restart your system after [[#configure|configuring Xorg]] for the NVIDIA driver.
  * From [[DebianPkg:xserver-xorg-video-nouveau]]'s README.Debian: {{{
If you decide to switch to the proprietary driver, it is highly
recommended to reboot because it is incompatible with nouveau, and
unloading the latter is not easy and may lead to a blank console.
}}}

== See Also ==

 * [[Xorg]]

----
CategoryProprietarySoftware