NVIDIA

Jump to: navigation, search
Geeko 由于许可证的原因,NVIDIA 驱动程序不能直接被整合到 openSUSE 中。但是,对于新用户来说,幸运的是 NVIDIA 和 openSUSE 提供了非常简便的方法来安装 NVIDIA 驱动程序:NVIDIA 为 openSUSE 专门制作了 RPM 并将他们放入了软件源里。


该页面属于旧 wiki,请参考新版 https://zh.opensuse.org/SDB:NVIDIA_%E9%A9%B1%E5%8A%A8

Nvidia logo.jpg

显卡驱动安装

在openSUSE系统下,安装NVIDIA的显卡驱动您有三种途径可选:

  1. YaST一键安装:只要点下鼠标,安装自动完成
  2. 使用NVIDIA软件源:自己从NVIDIA软件源中查找编译好的二进制显卡软件包
  3. 手动安装:使用NVIDIA发布的Linux平台驱动,自己编译安装显卡驱动,这是Linux系统下NVIDIA显卡驱动安装的通用方法

YaST一键安装

openSUSE 11.1

安装

在 openSUSE 11.1 中,可以使用一键安装(1-Click-install)功能安装 NVIDIA 驱动。

Nvidia-1click.png

  • 使用 Geforce FX 显卡(5xxx)的用户点击这里:

Nvidia-legacy-1click.png

Nvidia-legacy-1click.png

注意: 一键安装 (1-Click-install)功能要求能连接到在线软件源,否则您就会得到丢失安装包之类的错误信息。 请参看 软件源 获得更多关于怎样添加未配置的软件源的信息。

如果 SaX2 未检测到新安装的驱动,请以以根用户身份运行 X-server,输入:

sax2 -r

SaX2 会忽略之前的尝试,重新开始检测。它会检测 NVIDIA 图形适配器,然后让您设置您想要的配置方案。要做这件事,请前往:计算机 > 更多应用程序 > 系统 > X Term 程序。然后在提示符后面输入 "su",输入您的 root 账户密码,然后输入 sax2 -r。这会自动运行 SAX2 程序并检测 NVIDIA 显卡。

如果您使用一键安装(1-Click-install)时遇到了问题,请查阅本文的疑难解答一节。

openSUSE 10.3 和 openSUSE 11.0

安装

在 openSUSE 10.3 和 openSUSE 11.0 中,可以使用一键安装(1-Click-install)功能安装 NVIDIA 驱动。

Nvidia-1click.png

Nvidia-legacy-1click.png

注意: 一键安装 (1-Click-install)功能要求能连接到在线软件源,否则您就会得到丢失安装包之类的错误信息。 请参看 软件源 获得更多关于怎样添加未配置的软件源的信息。

如果 SaX2 未检测到新安装的驱动,请以以根用户身份运行 X-server,输入:

sax2 -r

SaX2 会忽略之前的尝试,重新开始检测。它会检测 NVIDIA 图形适配器,然后让您设置您想要的配置方案。要做这件事,请前往:计算机 > 更多应用程序 > 系统 > X Term 程序。然后在提示符后面输入 "su",输入您的 root 账户密码,然后输入 sax2 -r。这会自动运行 SAX2 程序并检测 NVIDIA 显卡。

如果您使用一键安装(1-Click-install)时遇到了问题,请查阅本文的疑难解答一节。

在NVIDIA 显卡上使用混成效果(3D 特效)

""注意: 如果是 openSUSE 11.0 的话,请跳过以下步骤,只需安装驱动,然后通过 simple-ccsm 开启特效即可。

要使 NVIDIA 驱动直接运行 CompizCompiz Fusion 或者 KDE4 混成效果,运行以下命令然后重启 X (注销或者按 <ctrl>-<alt>-<Backspace>)。对于KDE4,还有另一份 HOWTO

su -
nvidia-xconfig --composite
nvidia-xconfig --render-accel
nvidia-xconfig --add-argb-glx-visuals -d 24


openSUSE 10.2

大多数时候这是非常简单的。

警告:适用于 openSUSE 10.2 的 NVIDIA 驱动的 RPM 包与DVD上默认带的内核有冲突,通过 YaST 在线更新(YOU) 更新内核以后它们应该可以正常使用,但是有时候,有可能因为出于安全原因强制进行的内核更新破坏了与之前版本的兼容性,导致驱动包不能正常使用。在这种情况下,请参照困难方法一节中的说明修复 3D。

1. 导入 NVIDIA GnuPG key。在控制台以根用户身份登录,然后输入或者简单地用鼠标复制粘贴以下内容:

rpm --import ftp://download.nvidia.com/opensuse/10.2/repodata/repomd.xml.key

2. 添加 NVIDIA rpm-md 源: ftp://download.nvidia.com/opensuse/10.2/ 到软件包管理器。

  • 若要在 YaST 中添加,请前往 软件 -> 安装源。单击 添加, 选择 指定 URL。输入上面的 URL 并单击 下一步,然后单击 完成
  • 或者,若要通过 Zypper 实现,请执行:
zypper sa ftp://download.nvidia.com/opensuse/10.2/ nvidia

3. 确认您需要哪些 NVIDIA 驱动程序包。这取决于您的显卡型号。对于较新版本的显卡您可能需要 x11-video-nvidiaG01nvidia-gfxG01-kmp-default 包。如果您的显卡属于 旧版本的 NVIDIA 显卡 ,那么您需要 x11-video-nvidianvidia-gfx-kmp-default。(这份列表来自 http://www.suse.de/~sndirsch/nvidia-installer-HOWTO.html)

如果您在使用一个非默认的内核,那您可能需要 nvidia-gfxG0-kmp-bigsmp 而不是 nvidia-gfxG0-kmp-default (或者是 nvidia-gfx-kmp-bigsmp,而不是 nvidia-gfx-kmp-default)。这里的 "bigsmp" 代表您的内核的类型。您可以运行 uname -r 找出您的内核的类型。

4. 安装选出的软件包,例如 x11-video-nvidiaG0nvidia-gfxG0-kmp-default.

  • 在 Zypper 中实现的方法。例如,执行:
zypper install x11-video-nvidiaG0 nvidia-gfxG0-kmp-default

5. 重启 X (注销或者按 <ctrl>-<alt>-<Backspace>)。

6. 享受吧!

6. 内核更新会触发 NVIDIA 内核驱动的更新。但是更新的同时,旧的版本仍会被保留。您需要手动删除旧的版本。运行:

rpm -qa '*nvidia-gfx*'

如果列表中含有 "nvidia-gfxG01-...",您可以删除余下的 nvidia-gfx-... 包。


SUSE Linux 10.1 与 SLED 10

    • 添加 YUM 源 ftp://download.nvidia.com/novell/sle10sp1 到软件包管理器 (YaST 或 Zen)。
    • 安装 x11-video-nvidianvidia-gfx-kmp-default
    • 重启 X (注销或者按 <ctrl>-<alt>-<Backspace>)。
    • 完成。

只要 NVIDIA 在这个源上发布更新包,您就可以升级到新的版本。

从NVIDIA软件源安装

NVIDIA为openSUSE专门编译了显卡驱动,您如果使用的是openSUSE官方提供的内核,那么,您可以使用NVIDIA提供的二进制安装包。

添加NVIDIA软件源

NVIDIA软件源请参加Additional_YaST_Package_Repositories#NVIDIA_drivers,请添加您对应版本的软件源。

安装于您内核对于的显卡驱动

1 查看一下您的的内核名称

uname -r

2 输出显示会是 $VERSION-$NAME 的形式,比如openSUSE11.2默认安装,uname -r输出:

2.6.31.5-0.1-desktop

在这里,$NAME=desktop

3 在NVIDIA软件源安装您openSUSE内核对应的显卡包 根据您的显卡型号,以及您内核的$NAME,从以下类型的包中选取一个

  • nvidia-gfx-kmp-$NAME
  • nvidia-g01-gfx-kmp-$NAME
  • nvidia-g02-gfx-kmp-$NAME

手动安装

参见NVIDIA/The hard way:编译安装 NVIDIA 面向 Linux 平台发布显卡驱动


疑难解答

openSUSE 10.2上安装 NVIDIA 驱动后 X-server 不能启动

请查看 Cool Solutions article

这个问题是 nvidia 模块被安装在了错误的目录下面导致的。使用 xorg 7.2 时,应当是 /usr/lib/xorg/modules 或 /usr/lib64/xorg/modules 目录,而不是 /usr/X11R6/modules 。


关于某些 AGP 显卡的问题

在某些主板上使用 AGP 显卡,您可能需要手动添加 [Option "NvAGP" "2"] ,如下所示。这是一个技嘉(Gigabyte) GA-K8NS AMD64 主板和 AGP Nvidia FX 5200 显卡搭配使用的例子。缺少了这个命令 X 就不能启动。

Section "Device"
 BoardName    "GeForce FX 5200 (0x0322)"
 BusID        "1:0:0"
 Driver       "nvidia"
 Identifier   "Device[0]"
 VendorName   "NVidia"
 Option       "NvAGP" "2"
EndSection

在车间版(FACTORY)中编译

在车间版(FACTORY)中运行 NVIDIA 安装程序因遇到 undefined symbols 问题而失败,您可能需要按照[1]给驱动源代码打补丁。

启用混成/3D效果时应用程序卡死或崩溃

您已经在/etc/X11/xorg.conf 中设置 Option "Composite" "Enable" 以享受 eye candy 或 3D 桌面,但是却看到一些应用程序崩溃或者卡死了?

尝试用 Option "Composite" "Disable" 暂时禁用混成并重启 X server。

这些应用程序现在是否不再崩溃或卡死了?如果是,说明您的混成不稳定。

有一个解决办法。169.xx 版以后的 nVidia 驱动引入了一个名为 Use Composite Wrapper 的新选项。把它放在 xorg.conf 的 device 部分: Option "UseCompositeWrapper" "true" ,然后重新启用混成。重启 X server。现在您的应用程序应该不会再卡死或崩溃了。


双屏显示问题

有时,使用 nvidia-settings 配置双显示器会遇到一个问题:没法为第二个显示器设置高于640x480的分辨率。这是 /etc/X11/xorg.conf 中默认的显示器水平同步设置导致的。

要提高第二个显示器的分辨率,您就得提高水平同步频率。为此,请执行下列操作:

1.在 nvidia-settings 中,将有问题的显示器的分辨率调到最高,比如640x480。千万不要设置成自动调整(Auto)。这一步骤可以在您编辑 / etc/X11/xorg.conf 文件的时帮助您识别出正确的显示器。保存到 xorg.conf 并退出。

2. 打开 /etc/X11/xorg.conf 并找到下面这个部分(一些细节可能有些微不同):

 Section "Screen"
   Monitor "Monitor0"
   Option  "metamode" "CRT: 640x680 +1280+0, DFP: 1280x1024 +0+0"
 EndSection

3. 把分辨率设置成您想要的大小。

4. 找到对应的显示器的区块(一些细节可能有些微不同):

 Section "Monitor"
   Identifier "Monitor0"
   HorizSync   28.0 - 33.0
 EndSection

5.将 "-" 右边的值改为65.0(如果重启 X 之后仍然存在问题,可以再调到更高的数值)。

6. 保存文件并重启 X server。

7. 如果第二显示器仍然不显示,重复步骤4到7,把水平同步频率调到65.0以上。

OpenGL 应用程序无法在不支持 SSE 的 CPU 上运行

如果您在运行 OpenGL 应用程序时看到这个消息,您的 CPU 可能不支持 SSE 指令集(比如速龙雷鸟处理器(Athlon Thunderbird))

NVIDIA OpenGL Driver requires CPUs with SSE to run.

The current CPU does not support SSE.

NVidia已发布beta driver 173.14.15驱动,支持无 SSE 支持的 CPU。 相关公告参见 http://www.nvnews.net/vbulletin/showthread.php?t=122423 。 下载地址为 Linux/x86(32位)和 Linux/x86-64(64位)。

一键安装(1-Click install)问题

如果您在一键安装(1-Click install)方面有任何问题,请与 opensuse@opensuse.org 邮件列表中请教别人,这会帮助你解决疑难。订阅邮件列表的详细方法,请查看交流页。

修正方法:

一键安装会因为某种原因指向与 kernel-source-2.6.22.13-0.3 不兼容的旧版 NVIDIA 驱动


要获得兼容 kernel-source-2.6.22.17-0.1 的最新版本的 NVIDIA 驱动,请从 ftp://download.nvidia.com/opensuse/10.3/ 手动下载适当的文件。
这一方法暂不适用于:

  • 9800 GT (nVidia Corporation Device 0605)

请参看困难方法一节或等待一键安装的更新。

以上所述修正方案对于解决问题可能没有很大帮助。它只是给您一个思路,但是并不能告诉您错误是如何发生的,并且无法修正。而这些复杂的情况恰恰与设计一键安装的目的——让安装简化——相违背。

检查下您的一键安装文件,您如果发现源指向 http://download.nvidia.com/opensuse/10.3/ ,也就是上面所提到的源, 并且没有指向确切的文件, 那就说明问题不是出在这个链接上,而是出在别的地方。

注意 - 如果您把内核更新为一个不被 download.nvidia.com 站点明确支持的版本,安装程序会尝试重新编译适用于您的内核类型的驱动。为此,您必须先安装 C 编译器(gcc)和 kernel-sources 。手动使用 "su" 命令切换到根用户,输入 init 3,(仍然以根用户身份)用 sh <文件名称> 命令执行下载的文件,然后使用 init 5 返回,这下驱动应该工作了。

另请参阅


外部链接