个人工具

“UbuntuHelp:BinaryDriverHowto/Nvidia”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
 
(未显示同一用户的11个中间版本)
第1行: 第1行:
 
{{From|https://help.ubuntu.com/community/BinaryDriverHowto/Nvidia}}
 
{{From|https://help.ubuntu.com/community/BinaryDriverHowto/Nvidia}}
 
{{Languages|UbuntuHelp:BinaryDriverHowto/Nvidia}}
 
{{Languages|UbuntuHelp:BinaryDriverHowto/Nvidia}}
This guide is for installing the NVIDIA closed source binary drivers on a system running an NVIDIA graphics card. For other graphics cards refer to the [[UbuntuHelp:BinaryDriverHowto|BinaryDriverHowto]].
+
This guide is for installing the NVIDIA closed source binary/restricted drivers on a system running an NVIDIA graphics card. For other graphics cards refer to the [[UbuntuHelp:BinaryDriverHowto|BinaryDriverHowto]].
 
== Prerequisites ==
 
== Prerequisites ==
* The command <pre><nowiki>lspci | grep -i nvidia</nowiki></pre> prints out a line of text
+
* You know you have an NVIDIA graphics card
 +
* The command <code><nowiki>lspci | grep -i nvidia</nowiki></code> prints out a line of text
 
* You want one or more of the following: hardware-accelerated 3D, TV-Out support, dual head support
 
* You want one or more of the following: hardware-accelerated 3D, TV-Out support, dual head support
== Free alternative ==
+
== Driver Versions ==
There is '''Nouveau''': an open source 3D acceleration for nVidia cards. Currently (2007), there is 2D-support, and a very limited 3D support for extremely lucky developers. See http://nouveau.freedesktop.org/wiki/.
+
There are three versions of the restricted drivers available in the repositories for most supported versions of Ubuntu. There are the restricted driver versions available in each (as described in the repositories).
The 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.
+
Packages from the repositories:
 +
* nvidia-glx-legacy
 +
* nvidia-glx
 +
* nvidia-glx-new
 +
{|border="1" cellspacing="0"
 +
| Ubuntu Release || nvidia-glx-new || nvidia-glx || nvidia-glx-legacy
 +
|-
 +
| 8.04 Hardy Heron || 169.12 || 96.43.05 || 71.86.04
 +
|-
 +
| 7.10 Gutsy Gibbon || 100.14.19 || 1.0.9639 || 1.0.7185
 +
|-
 +
| 6.06 Dapper Drake || N/A || 1.0.8776 || 1.0.7174
 +
|}
 +
Intrepid Ibex uses only <code><nowiki>nvidia-glx</nowiki></code> which is a [http://www.debian.org/doc/debian-policy/ch-binary.html#s-virtual_pkg virtual package].  Dependent packages are as follows:
 +
* [http://packages.ubuntu.com/intrepid/nvidia-glx-173 nvidia-glx-173]
 +
* [http://packages.ubuntu.com/intrepid/nvidia-glx-177 nvidia-glx-177]
 +
* [http://packages.ubuntu.com/intrepid/nvidia-glx-71 nvidia-glx-71]
 +
* [http://packages.ubuntu.com/intrepid/nvidia-glx-96 nvidia-glx-96]
 
== Installation ==
 
== Installation ==
=== Kubuntu 7.10 using the 'Restricted Drivers Manager' ===
+
=== Ubuntu (Gnome) ===
As of Kubuntu 7.10 (Gutsy Gibbon) the recommended way to install the binary driver is to open System Settings '''KMenu → System Settings''', go to the '''Advanced''' tab and click '''Restricted Drivers'''. Then click the ''Administrator Mode'' button and check the box marked ''Enable'' to install the driver. This should install the right package for your card and set it up for you.
+
==== Ubuntu 8.04 and Ubuntu 8.10 ====
=== Ubuntu 7.04 using 'Restricted Devices Manager' ===
+
Go to '''System->Administration->Hardware Drivers''' and check the box to enable the restricted drivers for your NVIDIA card if the option is provided.
As of Ubuntu 7.04 (Feisty Fawn) the recommended way to install the binary drivers is to use '''System Administration → Restricted Devices Manager'''. This will try and automatically choose the correct version out of:
+
If the restricted driver remains unactivated after attempting to activate it in the Hardware Drivers dialog, you may not have the appropriate linux headers installed to compile the driver. Ensure that the linux-headers-XXX and linux-restricted-modules-XXX packages are installed, where XXX matches the version of the kernel you are using (linux-image-XXX).
* nvidia-glx-legacy (corresponds to the 71xx driver)
+
If the activation hangs on download/install dialog, you can install the driver using '''System->Administration->Synaptic Package Manager''', make sure you pick the latest driver version recommended by the "Hardware Drivers" tool and all its dependencies. Go to Hardware Drivers tool and activate the driver you just installed.
* nvidia-glx (which corresponds to the 96xx driver)
+
The Hardware Drivers tool may not work properly on machines that have previously used third party tools like 'Envy' or manual installation to install previous drivers.  You should remove those drivers before attempting to install using the built in tool.
* nvidia-glx-new (which at the time of writing corresponded to the 97xx driver)
+
If your card does not appear in this [http://us.download.nvidia.com/XFree86/Linux-x86/169.12/README/appendix-a.html list of cards known by Ubuntu 8.04 NVIDIA binary drivers] (e.g. the 9600 GT) then there is no Ubuntu 8.04 provided binary driver. For unsupported workarounds try the links in [[UbuntuHelp:[seealso|See Also]]].
If your card does not appear in this [http://us.download.nvidia.com/XFree86/Linux-x86/1.0-9755/README/appendix-a.html list of cards known by Ubuntu 7.04 NVIDIA binary drivers] (e.g. the 8600GT) then there is no Ubuntu 7.04 supported binary driver. For unsupported workarounds try the links in [[seealso See Also]].
+
==== Ubuntu 7.10 ====
Restricted Devices Manager may not work properly on machines that have previously used third party tools like 'envy' to install previous drivers
+
For Ubuntu 7.10 the recommended way to install the binary drivers is to use '''System->Administration->Restricted Drivers Manager'''. This will try and automatically choose the correct driver version.
=== Kubuntu 7.04 ===
+
=== Kubuntu (KDE) ===
==== Installing the driver ====
+
==== Kubuntu 8.04 Hardy Heron ====
Kubuntu Feisty Fawn doesn't' have the Restricted Devices Manager so you have to install the packages manually. Open Adept '''K-Menu → System → Adept Manager''' and in the Search box put in <pre><nowiki>nvidia-glx</nowiki></pre>. You should see a few packages including ''nvidia-glx-new'', ''nvidia-glx'' and ''nvidia-glx-legacy'', use the link above to find the right driver for your card. Select the package for the driver you need to install (if you don't have ''linux-restricted-modules'' you should also select that package for install).
+
Go to '''KMenu->System->Hardware Drivers Manager''' and check the box to enable the restricted drivers for your NVIDIA card if the option is provided.
==== Activating the driver ====
+
==== Kubuntu 7.10 Gutsy Gibbon ====
Once the driver is installed you need to set the system to use the driver. Open Konsole from '''K-Menu → System → Konsole''' and enter the command <pre><nowiki>
+
Go to '''KMenu->System Settings''', go to the '''Advanced''' tab and click '''Restricted Drivers'''. Then click the ''Administrator Mode'' button and check the box marked ''Enable'' to install the driver. This should install the right package for your card and set it up for you.
sudo nvidia-xconfig</nowiki></pre>
+
That will set the driver to be used from now on. To start using the driver you will need to logout and select ''Restart X Server'' from the menu, or press ''Alt+E''
+
 
=== Common Problems ===
 
=== Common Problems ===
 
==== Low Screen Resolutions ====
 
==== Low Screen Resolutions ====
Often screen resolutions on offer are far lower than those offered with the open source driver. The NVIDIA binary driver seems to be very weak at reliably probing this information from the monitor and relies on additional information in xorg.conf. In Feisty, this information is not written into xorg.conf by default.
+
Often screen resolutions on offer are far lower than those offered with the open source driver. The NVIDIA binary driver seems to be very weak at reliably probing this information from the monitor and relies on additional information in xorg.conf.
 
See this [https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules-2.6.20/+bug/91292 launchpad bug talking about lost resolutions when using the NVIDIA binary driver] along with [[UbuntuHelp:FixVideoResolutionHowto|FixVideoResolutionHowto]] for further details and potential workarounds.
 
See this [https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules-2.6.20/+bug/91292 launchpad bug talking about lost resolutions when using the NVIDIA binary driver] along with [[UbuntuHelp:FixVideoResolutionHowto|FixVideoResolutionHowto]] for further details and potential workarounds.
 
==== Screen Blanks/Monitor Turns Off ====
 
==== Screen Blanks/Monitor Turns Off ====
Using a laptop with a Ge``Force Go card, or connecting the sole display via DVI on a dual-head system sometimes results in the screen not recieving a picture. This is caused by the driver outputting video to the VGA port on the graphics card, instead of DVI.
+
Using a laptop with a Ge``Force Go card, or connecting the sole display via DVI on a dual-head system sometimes results in the screen not receiving a picture. This is caused by the driver outputting video to the VGA port on the graphics card, instead of DVI.
 
The usual hint that you have this problem is when you hear the startup sound but nothing appears on the screen. If you do not hear any sound, you are more than likely experiencing unrelated problems.
 
The usual hint that you have this problem is when you hear the startup sound but nothing appears on the screen. If you do not hear any sound, you are more than likely experiencing unrelated problems.
This is a [https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules-2.6.20/+bug/82312 known bug], and can be resolved by editing your <pre><nowiki>/etc/X11/xorg.conf</nowiki></pre> file:
+
This is a [https://bugs.launchpad.net/bugs/82312 launchpad bug about displays on digital outputs being blank when using NVIDIA binary driver], and can be resolved by editing your <code><nowiki>/etc/X11/xorg.conf</nowiki></code> file:
* Switch to the console (Try using <pre><nowiki>ctrl+alt+F1</nowiki></pre>, or reboot and select recovery mode from the GRUB menu.)
+
* Switch to the console (Try using <code><nowiki>ctrl+alt+F1</nowiki></code>, or reboot and select recovery mode from the GRUB menu.)
* Use your text editor to open /etc/X11/xorg.conf. (try <pre><nowiki>sudo nano /etc/X11/xorg.conf</nowiki></pre>)
+
* Use your text editor to open /etc/X11/xorg.conf. (try <code><nowiki>sudo nano /etc/X11/xorg.conf</nowiki></code>)
* Find the line that says <pre><nowiki>Section "Screen"</nowiki></pre>
+
* Find the line that says <code><nowiki>Section "Screen"</nowiki></code>
* Insert a new line that says <pre><nowiki>Option "UseDisplayDevice" "DFP"</nowiki></pre>.
+
* Insert a new line that says <code><nowiki>Option "UseDisplayDevice" "DFP"</nowiki></code>.
* Save the file. If you had to restart into revocery mode, type <pre><nowiki>reboot</nowiki></pre>, otherwise restart your display using <pre><nowiki>sudo /etc/init.d/gdm restart</nowiki></pre>.
+
* Save the file. If you had to restart into recovery mode, type <code><nowiki>reboot</nowiki></code>, otherwise restart your display using <code><nowiki>sudo /etc/init.d/gdm restart</nowiki></code>.
==== Old Installs Conflicting ====
+
==== Incorrect Refresh Rate Reported ====
If either of nvidia-glx-legacy/nvidia-glx-new are installed a dotfile is created in <pre><nowiki>/lib/linux-restricted-modules/</nowiki></pre> . Even after these packages are uninstalled the dotfile will remain and may frustrate efforts to use the nvidia-glx package. See this [https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules-2.6.20/+bug/106217 launchpad bug about the hidden file not being removed when nvidia-glx-new is uninstalled] (also applies if nvidia-legacy is removed) for details.
+
If you are using nvidia-glx/nvidia-glx-new and the refresh rate appears wrong (or different to that actually '''reported by your monitor''') in gnome-display-properties/xrandr, you are probably seeing the effects of the Dynamic``Twin``View feature. See this [https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules-2.6.20/+bug/92599 launchpad bug about being unable to "set" a proper screen refresh rate] for details of this behaviour.
==== NVIDIA Legacy Driver ====
+
The above instructions did not work for me in Edgy on a Ge``Force 1 using the legacy drivers nvidia-glx-legacy 1.0.7184+2.6.17.6-1
+
I had to manually edit <pre><nowiki>/etc/X11/xorg.conf</nowiki></pre> and change
+
<pre><nowiki> Section "Device"
+
        Identifier      "NVIDIA Corporation NV10DDR [GeForce 256 DDR]"
+
        Driver          "nv"
+
        BusID          "PCI:1:0:0"
+
EndSection </nowiki></pre>
+
to
+
<pre><nowiki> Section "Device"
+
        Identifier      "NVIDIA Corporation NV10DDR [GeForce 256 DDR]"
+
        Driver          "nvidia"
+
        BusID          "PCI:1:0:0"
+
EndSection </nowiki></pre>
+
If <pre><nowiki>Driver "nvidia"</nowiki></pre> is not found in xorg.conf then attempting to <pre><nowiki>modprobe nvidia</nowiki></pre> will result in an error message (thus <pre><nowiki>sudo nvidia-glx-config enable</nowiki></pre> would not work for me). After this change, to allow OpenGL programs to run the following had to be added to the bottom of <pre><nowiki>/etc/X11/xorg.conf</nowiki></pre> :
+
<pre><nowiki> Section "Extensions"
+
        Option  "Composite" "Disable"
+
EndSection
+
</nowiki></pre>
+
otherwise the following error occurred when running GL programs like glxinfo:
+
<pre><nowiki>
+
Xlib: extension "GLX" missing on display ":0.0".
+
Segmentation fault</nowiki></pre>
+
This is not documented anywhere in the the legacy drivers (i.e. there is no mention of this in <pre><nowiki>/usr/share/doc/nvidia-glx-legacy/*</nowiki></pre>) but thankfully the following warning will appear in <pre><nowiki>/var/log/Xorg.0.log</nowiki></pre>:
+
<pre><nowiki>(EE) GLX is not supported with the Composite extension
+
</nowiki></pre>
+
By default Composite is turned on and this will prevent OpenGL from working - the above stanza simply turns Composite off. These steps are only needed for the '''legacy''' driver. More information about this problem can be found in the [https://bugs.launchpad.net/ubuntu/+source/restricted-manager/+bug/91064 launchpad bug about GLX being disabled on legacy drivers].
+
==== Other ====
+
If the above fails try checking the [[troubleshooting Troubleshooting]] at the end of this page. If this still fails, or you are using a version of Ubuntu older than 7.04 or you wish to configure things manually then please read on.
+
'''Please note:''' Any problems that occur after installing drivers not provided by Ubuntu repositories should '''not''' be reported to the launchpad bug area. If the drivers were downloaded from the NVIDIA web site then the [http://www.nvnews.net/vbulletin/forumdisplay.php?f=14 NVIDIA Linux web forum] is an appropriate place to report issues. If a third party installer was used please contact the third party for support. Other places for manual driver support can be found on the [http://www.ubuntu.com/support/communitysupport Community Support page].
+
=== Ubuntu/Kubuntu 6.10 and earlier ===
+
==== Enable restricted packages ====
+
* '''Note:''' If you are running Ubuntu/Kubuntu 6.10 (Edgy Eft) or later, the Restricted repositories might already be enabled.
+
The NVIDIA drivers are in the "restricted" section of the Ubuntu package repository, so before you will be able to install the drivers, you must enable this section on your system. If you are following the [[UbuntuHelp:MythTV|MythTV]] setup guide this should already be done.
+
===== In Ubuntu =====
+
# Select the '''System''' menu at the top of the screen.
+
2. Select '''Administration''' then '''Synaptic Package Manager'''. Enter your password when prompted.
+
3. In the package manager, select the '''Settings''' menu, then '''Repositories'''.
+
4. In the '''Software Preferences''' dialog that comes up, click the '''Add''' button.
+
5. In the '''Edit Repository''' dialog, ensure that the '''Restricted copyright''' box is  checked, then press '''OK'''.
+
6. Press '''OK''' to close the '''Software Preferences''' dialog, when Synaptic asks you to reload the package database, say yes.
+
===== In Kubuntu =====
+
# Open Adept Package Manager '''K-Menu → System → Adept Manager''' and enter your password.
+
2. Go to '''File → Manage Repositories''' and make sure that a line similar to <pre><nowiki>deb http://archive.ubuntu.com/ubuntu main restricted</nowiki></pre> exists, if not put that line in the '''New Repository''' box and click "Add" then "Apply".
+
3. You'll need to click "Fetch Updates" after you add the repository to apply the change.
+
You now have access to the many additional packages in the restricted section, including the NVIDIA driver packages.
+
==== Install and activate drivers ====
+
===== In Ubuntu =====
+
Packages may be installed by right-clicking on the package and selecting '''Mark for Installation'''.
+
# Click the '''Search''' button and search for "linux-restricted-modules". You must have restricted modules enabled (see above).
+
2. Find the appropriate package for your kernel. For example, if you have '''linux-image-amd64-k8''' installed, then you should install '''linux-restricted-modules-amd64-k8'''. Selecting one will also install nvidia-kernel-common. (Note: you have to select the restricted modules first because the nvidia-glx package automatically installs the i386 one - and if you have a generic kernel image, the X will not work.)
+
3. Click the '''Search''' button and search for "nvidia-glx".
+
4. You will install either '''nvidia-glx-legacy''' or '''nvidia-glx'''. If your graphics card is at the end of [http://download.nvidia.com/XFree86/Linux-x86/1.0-8762/README/appendix-a.html this list of cards] (marked as "legacy"), you will need to install '''nvidia-glx-legacy'''. Otherwise, install '''nvidia-glx'''. 
+
5. If you are going to compile 3D applications, install '''nvidia-glx-dev'''. (You probably won't need this)
+
6. Click the '''Apply''' button to install the new packages.
+
7. Once Synaptic has finished applying your changes, exit the application.
+
8. Select the '''Applications''' menu at the top of the screen, then '''Accessories''', then '''Terminal''', then procede to the [[activating Activating The Driver]] Section.
+
===== In Kubuntu =====
+
Packages may be installed by right-clicking on the package and selecting '''Request Install'''.
+
# In the '''Search''' box type "linux-restricted-modules". You must have restricted modules enabled (see above).
+
2. Find the appropriate package for your kernel. For example, if you have '''linux-image-amd64-k8''' installed, then you should install '''linux-restricted-modules-amd64-k8'''. Selecting one will also install nvidia-kernel-common. (Note: you have to select the restricted modules first because the nvidia-glx package automatically installs the i386 one - and if you have a generic kernel image, the X will not work.)
+
3. In the '''Search''' box search for "nvidia-glx".
+
4. You will install either '''nvidia-glx-legacy''' or '''nvidia-glx'''. If your graphics card is at the end of [http://download.nvidia.com/XFree86/Linux-x86/1.0-8762/README/appendix-a.html this list of cards] (marked as "legacy"), you will need to install '''nvidia-glx-legacy'''. Otherwise, install '''nvidia-glx'''. 
+
5. If you are going to compile 3D applications, install '''nvidia-glx-dev'''. (You probably won't need this)
+
6. Click the '''Apply Changes''' button to install the new packages.
+
7. Once Adept has finished applying your changes, exit the application.
+
8. Open Konsole from '''K-Menu → System → Konsole''', then procede to the [[activating Activating The Driver]] Section.
+
[[Anchor(activating)]]
+
===== Activating the Driver =====
+
10. In the terminal window, if you are running Ubuntu/Kubuntu 6.10 Edgy, type the following:
+
<pre><nowiki>
+
sudo nvidia-xconfig</nowiki></pre>
+
If you are running an earlier version, type the following instead:
+
<pre><nowiki>
+
sudo nvidia-glx-config enable</nowiki></pre>
+
11. Close all your applications, then logout and choose '''Restart X Server''' from the log-in screen menu, or restart your computer, to restart the X server. If you see an NVIDIA splashscreen, your drivers are properly installed.
+
==== Remove the NVIDIA logotype ====
+
If you want to get rid of the NVIDIA logotype that shows up before your login screen you need to perform some manual edits in the Xorg configuration file.
+
# Select the '''Applications''' menu at the top of the screen, then '''Accessories''' and then '''Terminal'''.
+
2. Type the following:
+
<pre><nowiki>
+
gksudo gedit /etc/X11/xorg.conf</nowiki></pre>
+
or if you are using Kubuntu:
+
<pre><nowiki>
+
kdesu kate /etc/X11/xorg.conf</nowiki></pre>
+
3. Find the line Driver "nvidia" in the Device section
+
4. Just after this line, add
+
<pre><nowiki>
+
Option "NoLogo"</nowiki></pre>
+
5. Save the file and exit
+
6. Close all your applications, then press ''Ctrl-Alt-Backspace'' to restart the X server. If the logotype is gone and everything seems to work you are done.
+
[[Anchor(troubleshooting)]]
+
 
== Troubleshooting ==
 
== Troubleshooting ==
* Some people have reported a bug where the TTYs show blank, see [https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/129910 this link].
 
 
* It seems that a reboot is sometimes necessary for these changes to take effect. If 3D acceleration isn't working, try this first.
 
* It seems that a reboot is sometimes necessary for these changes to take effect. If 3D acceleration isn't working, try this first.
 
* If 3D acceleration still isn't working, be sure that you have the right version of linux-restricted-modules installed.  It ''must'' match the version of the running kernel.
 
* If 3D acceleration still isn't working, be sure that you have the right version of linux-restricted-modules installed.  It ''must'' match the version of the running kernel.
* If you have the right version of linux-restricted-modules installed and 3D acceleration still isn't working, open your <pre><nowiki>/etc/X11/xorg.conf</nowiki></pre> file for editing with <pre><nowiki>gksudo gedit /etc/X11/xorg.conf</nowiki></pre> or <pre><nowiki>kdesu kate /etc/X11/xorg.conf</nowiki></pre> if using Kubuntu. Be sure that the <pre><nowiki>Driver</nowiki></pre> entry under <pre><nowiki>Section "Device"</nowiki></pre> is  set to <pre><nowiki>"nvidia"</nowiki></pre>.
+
* If you have the right version of linux-restricted-modules installed and 3D acceleration still isn't working, open your <code><nowiki>/etc/X11/xorg.conf</nowiki></code> file for editing with <code><nowiki>gksudo gedit /etc/X11/xorg.conf</nowiki></code> or <code><nowiki>kdesu kate /etc/X11/xorg.conf</nowiki></code> if using Kubuntu. Be sure that the <code><nowiki>Driver</nowiki></code> entry under <code><nowiki>Section "Device"</nowiki></code> is  set to <code><nowiki>"nvidia"</nowiki></code> (Gutsy and older).
* If suspend no longer works, see [[UbuntuHelp:NvidiaLaptopBinaryDriverSuspend|NvidiaLaptopBinaryDriverSuspend]] (this applies to desktops too).
+
* If suspend/hibernation no longer works see [[UbuntuHelp:NvidiaLaptopBinaryDriverSuspend|NvidiaLaptopBinaryDriverSuspend]] (this applies to desktops too).
* If you have successfully enabled the binary driver but experience lockups/freezes after a few minutes under Ubuntu 7.04 or later, it might be due to the driver failing to cope with CPU speed changes. See this [https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules-2.6.20/+bug/109643 launchpad bug about lockups with a white screen and black lines when CPU speed scaling is on].
+
* If you are using nvidia-glx/nvidia-glx-new and the refresh rate appears wrong (or different to that actually '''reported by your monitor''') in gnome-display-properties, you are probably seeing the effects of the Dynamic``Twin``View feature. See this [https://bugs.launchpad.net/ubuntu/+source/linux-restricted-modules-2.6.20/+bug/92599 launchpad bug about being unable to "set" a proper screen refresh rate] for details of this behaviour.
+
 
* If you get an error while loading NVIDIA module try to rebuild module dependencies by running depmod:
 
* If you get an error while loading NVIDIA module try to rebuild module dependencies by running depmod:
 
<pre><nowiki>
 
<pre><nowiki>
 
sudo depmod
 
sudo depmod
 
</nowiki></pre>
 
</nowiki></pre>
* If you're feeling frisky and decide to fiddle around with the X Server '''Option'''s for your '''Device''' in <pre><nowiki>/etc/X11/xorg.conf</nowiki></pre> and Firefox refuses to load (returns <pre><nowiki>segmentation fault</nowiki></pre> when launched from a terminal), this line may be the culprit:
+
* If you're feeling frisky and decide to fiddle around with the X Server '''Option'''s for your '''Device''' in <code><nowiki>/etc/X11/xorg.conf</nowiki></code> and Firefox refuses to load (returns <code><nowiki>segmentation fault</nowiki></code> when launched from a terminal), this line may be the culprit:
 
<pre><nowiki>
 
<pre><nowiki>
 
Option "NoRenderExtension" "On"
 
Option "NoRenderExtension" "On"
 
</nowiki></pre>  Either comment it out (using a # at the beginning the line) or set it to '''Off'''.
 
</nowiki></pre>  Either comment it out (using a # at the beginning the line) or set it to '''Off'''.
* If you have problems with video playback, e.g. in mplayer, gxine, or mythtv frontend with a legacy card, it may be due to too high a color depth (e.g. using NT6 Vanta/Vanta LT "nvidia" driver, I experienced flickering vertical bars & blue screen flashing). To fix this, manually edit <pre><nowiki>/etc/X11/xorg.conf</nowiki></pre> and change <pre><nowiki>DefaultDepth</nowiki></pre> to <pre><nowiki>16</nowiki></pre>.
+
* If you have problems with video playback, e.g. in mplayer, gxine, or mythtv frontend with a legacy card, it may be due to too high a color depth (e.g. using NT6 Vanta/Vanta LT "nvidia" driver, I experienced flickering vertical bars & blue screen flashing). To fix this, manually edit <code><nowiki>/etc/X11/xorg.conf</nowiki></code> and change <code><nowiki>DefaultDepth</nowiki></code> to <code><nowiki>16</nowiki></code>.
* You may need to activate the "kernel framebuffer device interface" in X server. Copy/paste the below command into the terminal. The terminal will then start stepping you through each configuration setting. Most of the settings can be left at their defaults by pressing the ENTER button, but when you get to "Select the desired X server driver" (question 2), make sure to select "nvidia" and NOT "nv". At question 7 ("Activate kernel framebuffer device interface?") select "yes". Finish the rest of the questions (the rest of the settings can be left at their defaults) and then restart X server (or just restart your computer). If, when you reboot, you can't see the login screen, but instead get a message saying "X server failed to start (etc. etc.)", you will start in text mode (white text on black background) and it will ask you to login. After logging you will still be in text mode. Retype the same command below (make sure to write it down!) and then the configuration sequence will start again. This time at the "Activate kernel framebuffer device interface?") select "no" then restart your computer and your login screen will be restored.
+
* There is a [http://us.download.nvidia.com/XFree86/Linux-x86/173.14.12/README/appendix-a.html list of cards supported by the latest NVIDIA binary drivers] (which are not necessarily shipped in a particular Ubuntu version) in the release notes of the latest driver (173.14.12 at the time of writing). A link to the latest stable driver can usually be found on the [http://www.nvidia.com/object/unix.html NVIDIA Unix portal page]. Links to beta drivers sometimes appear on the [http://www.nvnews.net/vbulletin/forumdisplay.php?f=14 NVIDIA Linux web forum]. Also see the following point.
<pre><nowiki>sudo dpkg-reconfigure xserver-xorg
+
</nowiki></pre>
+
* There is a [http://us.download.nvidia.com/XFree86/Linux-x86/100.14.11/README/appendix-a.html list of cards supported by the   latest NVIDIA binary drivers] (which are not necessarily shipped in a particular Ubuntu version) in the release notes of the latest driver (100.14.11 at the time of writing). A link to the latest stable driver can usually be found on the [http://www.nvidia.com/object/unix.html NVIDIA Unix portal page]. Links to beta drivers sometimes appear on the [http://www.nvnews.net/vbulletin/forumdisplay.php?f=14 NVIDIA Linux web forum]. Also see the following point.
+
 
* Information (and common problems encountered) related to '''manual''' installation of the NVIDIA binary driver (using the .pkg from the NVIDIA website) can be read on the [[UbuntuHelp:NvidiaManual|NvidiaManual]] page.
 
* Information (and common problems encountered) related to '''manual''' installation of the NVIDIA binary driver (using the .pkg from the NVIDIA website) can be read on the [[UbuntuHelp:NvidiaManual|NvidiaManual]] page.
 
* List of [https://bugs.launchpad.net/ubuntu/+bugs?field.searchtext=restricted+nvidia-glx&orderby=datecreated currently open NVIDIA binary driver bugs in launchpad].
 
* List of [https://bugs.launchpad.net/ubuntu/+bugs?field.searchtext=restricted+nvidia-glx&orderby=datecreated currently open NVIDIA binary driver bugs in launchpad].
* If <pre><nowiki>dmesg | grep -i nv</nowiki></pre> mentions <pre><nowiki>NVRM: Xid</nowiki></pre> your best bet is to [http://www.nvnews.net/vbulletin/showthread.php?t=46678 follow these instructions and then contact NVIDIA] as only NVIDIA have the source to decipher these error codes. Xid errors are caused for variety of reasons (interrupt issues, hardware conflicts/bugs, BIOS bugs, kernel bugs, driver bugs...) and [http://www.nvnews.net/vbulletin/showpost.php?p=1284698&postcount=23 receiving the same Xid code as someone else does not mean your problems are related].
+
* If <code><nowiki>dmesg | grep -i nv</nowiki></code> mentions <code><nowiki>NVRM: Xid</nowiki></code> your best bet is to [http://www.nvnews.net/vbulletin/showthread.php?t=46678 follow these instructions and then contact NVIDIA] as only NVIDIA have the source to decipher these error codes. Xid errors are caused for variety of reasons (interrupt issues, hardware conflicts/bugs, BIOS bugs, kernel bugs, driver bugs...) and [http://www.nvnews.net/vbulletin/showpost.php?p=1284698&postcount=23 receiving the same Xid code as someone else does not mean your problems are related].
 +
* If you have a problem where, after enabling the nvidia drivers via the Resricted Drivers Manager, X will no longer start, a possible workaround may be to remove and reinsert the nvidia kernel module by <code><nowiki>rmmod nvidia && modprobe nvidia</nowiki></code>.  Symptoms include:
 +
syslog contains entries like the following:
 +
<pre><nowiki>
 +
  NVRM: RM/client version mismatch!!
 +
  NVRM:    aborting to avoid catastrophe!</nowiki></pre>
 +
Xorg.0.log contains entries like the following:
 +
<pre><nowiki>
 +
  (EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module!</nowiki></pre>
 +
<code><nowiki>lsmod | grep nvidia</nowiki></code> reports that the nvidia kernel module is loaded.
 +
If removing and reinserting the nvidia kernel module allows X to go ahead and start, it is possible to accomplish this at system start by making this the first command under the start) case in the gdm (or other display manager) init script, like so:
 +
<pre><nowiki>
 +
    case "$1" in
 +
    start)
 +
        ##hack to deal with broken nvidia km not loading right###
 +
        rmmod nvidia && modprobe nvidia</nowiki></pre>
 +
Another way of fixing this is to add
 +
<pre><nowiki>
 +
    RUN+="/sbin/modprobe nvidia"</nowiki></pre>
 +
to /etc/udev/rules.d/90-modprobe.rules
 +
* If you have a problem where after installation and reboot you end up at a console prompt, it is possible that you have multiple display cards and X is not able to pick the primary card.
 +
/var/log/Xorg.0.log contains entries like the following:
 +
<pre><nowiki>
 +
  (EE) No devices detected.</nowiki></pre>
 +
The following command provides information on hardware installed on your system:
 +
<pre><nowiki>
 +
    sudo lshw -businfo | grep -i display</nowiki></pre>
 +
If you see multiple display cards listed, you need to explicitly add the PCI bus ID to your <code><nowiki>/etc/X11/xorg.conf</nowiki></code> file:
 +
* Use your text editor to open /etc/X11/xorg.conf. (try <code><nowiki>sudo vi /etc/X11/xorg.conf</nowiki></code>)
 +
* Find the line that says <code><nowiki>Section "Device"</nowiki></code>
 +
* Insert a new line that says <code><nowiki>BusID    "PCI:x:x:x"</nowiki></code>, where x:x:x is the PCI address displayed by lshw command.  For example: "pci@0000:01:00.0" would be "PCI:1:0:0"
 +
* Save the file. If you had to restart into recovery mode, type <code><nowiki>reboot</nowiki></code>, otherwise restart your display using <code><nowiki>sudo /etc/init.d/gdm restart</nowiki></code>.
 +
== Nvidia driver installed but nvidia X server settings says you don't appear to be using the nvidia driver (on 8.10) ==
 +
drives you crazy doesn't it
 +
try
 +
apt-cache policy xserver-xgl
 +
that will let you know if your running it then
 +
sudo apt-get remove --purge xserver-xgl
 +
then Ctrl alt backspace to restart X log back in and try to enable desktop effects it worked for me with a geforce 6200
 +
and now nvidea settings should work, also 
 +
glxinfo | grep direct
 +
returns something like
 +
direct rendering: Yes
 +
GL_EXT_direct_state_access, GL_EXT_draw_range_elements, GL_EXT_fog_coord,
 +
It might be that you need to run nvidia-xconfig as well but chances are you have several times be aware it's not friendly to custom settings
 +
It wiped out the fix for my wireless keyboard.
 +
The driver used was the Nvidia Accelerated Proprietary driver (version 180).
 +
=== Can't Save Settings ===
 +
Nvidia-settings can=t write to Xorg.conf if it hasn't been started with sudo
 +
The Screen resolution isn't being saved between reboots although can be set with nvdia-settings.
 +
choose preferences -> display and choose no when it says it can't work with your graphics driver and would you like to use the vendors tool.
 +
set the screen resolution with this tool and your screen resolution should persist. (applies to karmic alpha if not other versions).
 
* For other problems, please visit the forums at http://www.ubuntuforums.org/ .
 
* For other problems, please visit the forums at http://www.ubuntuforums.org/ .
[[Anchor(seealso)]]
+
== Free alternative ==
 +
There is '''Nouveau''': an open source 3D acceleration for NVIDIA cards. Currently (2008), there is only 2D-support, and a very limited 3D support for extremely lucky developers. See http://nouveau.freedesktop.org/wiki/.
 +
The 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.
 +
see [[UbuntuHelp:BinaryDriverHowto/Nvidia/Nouveau|BinaryDriverHowto/Nvidia/Nouveau]]  on how to install it
 +
<<Anchor(seealso)>>
 
== See Also ==
 
== See Also ==
[[UbuntuHelp:NvidiaManual|NvidiaManual]] - Guide to installing the official NVIDIA driver .pkg from the NVIDIA website on Ubuntu. Explains the drawbacks and benefits of manual installation and how to safely avoid conflicts with the Ubuntu provided NVIDIA binary drivers.
+
* [[UbuntuHelp:NvidiaManual|NvidiaManual]] - Guide to installing the official NVIDIA driver from the NVIDIA website on Ubuntu. Explains the drawbacks and benefits of manual installation and how to safely avoid conflicts with the Ubuntu provided NVIDIA binary drivers.
[[UbuntuHelp:NvidiaMultiMonitors|NvidiaMultiMonitors]]
+
* [[UbuntuHelp:NvidiaMultiMonitors|NvidiaMultiMonitors]]
[[category:CategoryDocumentation]] [[category:CategoryHardware]]
+
* [http://ubuntuforums.org/  The Ubuntu Forums]
 +
* [[UbuntuHelp:NvidiaOnSonyLaptop|NvidiaOnSonyLaptop]]
 +
----
 +
[[category:CategoryHardware]] [[category:CategoryX]]
  
 
[[category:UbuntuHelp]]
 
[[category:UbuntuHelp]]

2010年5月19日 (三) 21:42的最新版本


This guide is for installing the NVIDIA closed source binary/restricted drivers on a system running an NVIDIA graphics card. For other graphics cards refer to the BinaryDriverHowto.

Prerequisites

  • You know you have an NVIDIA graphics card
  • The command lspci | grep -i nvidia prints out a line of text
  • You want one or more of the following: hardware-accelerated 3D, TV-Out support, dual head support

Driver Versions

There are three versions of the restricted drivers available in the repositories for most supported versions of Ubuntu. There are the restricted driver versions available in each (as described in the repositories). Packages from the repositories:

  • nvidia-glx-legacy
  • nvidia-glx
  • nvidia-glx-new
Ubuntu Release nvidia-glx-new nvidia-glx nvidia-glx-legacy
8.04 Hardy Heron 169.12 96.43.05 71.86.04
7.10 Gutsy Gibbon 100.14.19 1.0.9639 1.0.7185
6.06 Dapper Drake N/A 1.0.8776 1.0.7174

Intrepid Ibex uses only nvidia-glx which is a virtual package. Dependent packages are as follows:

Installation

Ubuntu (Gnome)

Ubuntu 8.04 and Ubuntu 8.10

Go to System->Administration->Hardware Drivers and check the box to enable the restricted drivers for your NVIDIA card if the option is provided. If the restricted driver remains unactivated after attempting to activate it in the Hardware Drivers dialog, you may not have the appropriate linux headers installed to compile the driver. Ensure that the linux-headers-XXX and linux-restricted-modules-XXX packages are installed, where XXX matches the version of the kernel you are using (linux-image-XXX). If the activation hangs on download/install dialog, you can install the driver using System->Administration->Synaptic Package Manager, make sure you pick the latest driver version recommended by the "Hardware Drivers" tool and all its dependencies. Go to Hardware Drivers tool and activate the driver you just installed. The Hardware Drivers tool may not work properly on machines that have previously used third party tools like 'Envy' or manual installation to install previous drivers. You should remove those drivers before attempting to install using the built in tool. If your card does not appear in this list of cards known by Ubuntu 8.04 NVIDIA binary drivers (e.g. the 9600 GT) then there is no Ubuntu 8.04 provided binary driver. For unsupported workarounds try the links in [[UbuntuHelp:[seealso|See Also]]].

Ubuntu 7.10

For Ubuntu 7.10 the recommended way to install the binary drivers is to use System->Administration->Restricted Drivers Manager. This will try and automatically choose the correct driver version.

Kubuntu (KDE)

Kubuntu 8.04 Hardy Heron

Go to KMenu->System->Hardware Drivers Manager and check the box to enable the restricted drivers for your NVIDIA card if the option is provided.

Kubuntu 7.10 Gutsy Gibbon

Go to KMenu->System Settings, go to the Advanced tab and click Restricted Drivers. Then click the Administrator Mode button and check the box marked Enable to install the driver. This should install the right package for your card and set it up for you.

Common Problems

Low Screen Resolutions

Often screen resolutions on offer are far lower than those offered with the open source driver. The NVIDIA binary driver seems to be very weak at reliably probing this information from the monitor and relies on additional information in xorg.conf. See this launchpad bug talking about lost resolutions when using the NVIDIA binary driver along with FixVideoResolutionHowto for further details and potential workarounds.

Screen Blanks/Monitor Turns Off

Using a laptop with a Ge``Force Go card, or connecting the sole display via DVI on a dual-head system sometimes results in the screen not receiving a picture. This is caused by the driver outputting video to the VGA port on the graphics card, instead of DVI. The usual hint that you have this problem is when you hear the startup sound but nothing appears on the screen. If you do not hear any sound, you are more than likely experiencing unrelated problems. This is a launchpad bug about displays on digital outputs being blank when using NVIDIA binary driver, and can be resolved by editing your /etc/X11/xorg.conf file:

  • Switch to the console (Try using ctrl+alt+F1, or reboot and select recovery mode from the GRUB menu.)
  • Use your text editor to open /etc/X11/xorg.conf. (try sudo nano /etc/X11/xorg.conf)
  • Find the line that says Section "Screen"
  • Insert a new line that says Option "UseDisplayDevice" "DFP".
  • Save the file. If you had to restart into recovery mode, type reboot, otherwise restart your display using sudo /etc/init.d/gdm restart.

Incorrect Refresh Rate Reported

If you are using nvidia-glx/nvidia-glx-new and the refresh rate appears wrong (or different to that actually reported by your monitor) in gnome-display-properties/xrandr, you are probably seeing the effects of the Dynamic``Twin``View feature. See this launchpad bug about being unable to "set" a proper screen refresh rate for details of this behaviour.

Troubleshooting

  • It seems that a reboot is sometimes necessary for these changes to take effect. If 3D acceleration isn't working, try this first.
  • If 3D acceleration still isn't working, be sure that you have the right version of linux-restricted-modules installed. It must match the version of the running kernel.
  • If you have the right version of linux-restricted-modules installed and 3D acceleration still isn't working, open your /etc/X11/xorg.conf file for editing with gksudo gedit /etc/X11/xorg.conf or kdesu kate /etc/X11/xorg.conf if using Kubuntu. Be sure that the Driver entry under Section "Device" is set to "nvidia" (Gutsy and older).
  • If suspend/hibernation no longer works see NvidiaLaptopBinaryDriverSuspend (this applies to desktops too).
  • If you get an error while loading NVIDIA module try to rebuild module dependencies by running depmod:
sudo depmod
  • If you're feeling frisky and decide to fiddle around with the X Server Options for your Device in /etc/X11/xorg.conf and Firefox refuses to load (returns segmentation fault when launched from a terminal), this line may be the culprit:
Option "NoRenderExtension" "On"
Either comment it out (using a # at the beginning the line) or set it to Off.
  • If you have problems with video playback, e.g. in mplayer, gxine, or mythtv frontend with a legacy card, it may be due to too high a color depth (e.g. using NT6 Vanta/Vanta LT "nvidia" driver, I experienced flickering vertical bars & blue screen flashing). To fix this, manually edit /etc/X11/xorg.conf and change DefaultDepth to 16.
  • There is a list of cards supported by the latest NVIDIA binary drivers (which are not necessarily shipped in a particular Ubuntu version) in the release notes of the latest driver (173.14.12 at the time of writing). A link to the latest stable driver can usually be found on the NVIDIA Unix portal page. Links to beta drivers sometimes appear on the NVIDIA Linux web forum. Also see the following point.
  • Information (and common problems encountered) related to manual installation of the NVIDIA binary driver (using the .pkg from the NVIDIA website) can be read on the NvidiaManual page.
  • List of currently open NVIDIA binary driver bugs in launchpad.
  • If dmesg | grep -i nv mentions NVRM: Xid your best bet is to follow these instructions and then contact NVIDIA as only NVIDIA have the source to decipher these error codes. Xid errors are caused for variety of reasons (interrupt issues, hardware conflicts/bugs, BIOS bugs, kernel bugs, driver bugs...) and receiving the same Xid code as someone else does not mean your problems are related.
  • If you have a problem where, after enabling the nvidia drivers via the Resricted Drivers Manager, X will no longer start, a possible workaround may be to remove and reinsert the nvidia kernel module by rmmod nvidia && modprobe nvidia. Symptoms include:

syslog contains entries like the following:

   NVRM: RM/client version mismatch!!
   NVRM:    aborting to avoid catastrophe!

Xorg.0.log contains entries like the following:

   (EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module!

lsmod | grep nvidia reports that the nvidia kernel module is loaded. If removing and reinserting the nvidia kernel module allows X to go ahead and start, it is possible to accomplish this at system start by making this the first command under the start) case in the gdm (or other display manager) init script, like so:

     case "$1" in
     start)
        ##hack to deal with broken nvidia km not loading right###
        rmmod nvidia && modprobe nvidia

Another way of fixing this is to add

 
     RUN+="/sbin/modprobe nvidia"

to /etc/udev/rules.d/90-modprobe.rules

  • If you have a problem where after installation and reboot you end up at a console prompt, it is possible that you have multiple display cards and X is not able to pick the primary card.

/var/log/Xorg.0.log contains entries like the following:

   (EE) No devices detected.

The following command provides information on hardware installed on your system:

    sudo lshw -businfo | grep -i display

If you see multiple display cards listed, you need to explicitly add the PCI bus ID to your /etc/X11/xorg.conf file:

  • Use your text editor to open /etc/X11/xorg.conf. (try sudo vi /etc/X11/xorg.conf)
  • Find the line that says Section "Device"
  • Insert a new line that says BusID "PCI:x:x:x", where x:x:x is the PCI address displayed by lshw command. For example: "pci@0000:01:00.0" would be "PCI:1:0:0"
  • Save the file. If you had to restart into recovery mode, type reboot, otherwise restart your display using sudo /etc/init.d/gdm restart.

Nvidia driver installed but nvidia X server settings says you don't appear to be using the nvidia driver (on 8.10)

drives you crazy doesn't it try apt-cache policy xserver-xgl that will let you know if your running it then sudo apt-get remove --purge xserver-xgl then Ctrl alt backspace to restart X log back in and try to enable desktop effects it worked for me with a geforce 6200 and now nvidea settings should work, also glxinfo | grep direct returns something like direct rendering: Yes GL_EXT_direct_state_access, GL_EXT_draw_range_elements, GL_EXT_fog_coord, It might be that you need to run nvidia-xconfig as well but chances are you have several times be aware it's not friendly to custom settings It wiped out the fix for my wireless keyboard. The driver used was the Nvidia Accelerated Proprietary driver (version 180).

Can't Save Settings

Nvidia-settings can=t write to Xorg.conf if it hasn't been started with sudo The Screen resolution isn't being saved between reboots although can be set with nvdia-settings. choose preferences -> display and choose no when it says it can't work with your graphics driver and would you like to use the vendors tool. set the screen resolution with this tool and your screen resolution should persist. (applies to karmic alpha if not other versions).

Free alternative

There is Nouveau: an open source 3D acceleration for NVIDIA cards. Currently (2008), there is only 2D-support, and a very limited 3D support for extremely lucky developers. See http://nouveau.freedesktop.org/wiki/. The 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. see BinaryDriverHowto/Nvidia/Nouveau on how to install it <<Anchor(seealso)>>

See Also