haulm 发表于 2006-5-16 13:55:32

Linux系统下nVidia显卡驱动安装详解(2006.5)

一、X-Window和显卡配置文件的概述

XOrg基金会的X11开源实现 (XOrg Foundation Open Source Public Implementation of X11) 它是X Window System的官方参考实现。当前的发布版本是X11R6.9 和 X11R7.0。它是开放源代码的自由软件。这个项目由X.Org基金会运作,官方主页为:http://www.x.org。由于在XFree86 4.4最终版本采用新许可证问题上的分歧,Xorg服务器的第一个版本X11R6.7.0从XFree86 4.4 RC2派生出来,并加入了X11R6.6的一些改动。

在Linux中使用以上两个组织的驱动都可以实现3D加速,本文以前者为准。

其它术语:什么是dri,什么是dbe,什么是...?

Direct Rendering Infrastructure (dri.sourceforge.net),也被称为 DRI,中文名称直接着色基础结构。它是一个安全且有效率地直接对显示硬件存取的方法。它包含对 X server、一些 client 函数库、以及内核的变更。DRI 的第一个主要目的就是提供高效能的 OpenGL 支持。
以下是其它术语的简单注解:

“dbe”                           # Double-buffering
“GLcore”                        # OpenGL support
“dri”                              # Direct rendering infrastructure
“glx”                              # OpenGL X protocol interface
“extmod”                     # Misc. required extensions
“v4l”                              # Video4Linux
“xtt”                              #X TrueType

二、安装前准备工作

1. 下载nVIDIA官方驱动
2. 如果内核很新,官方驱动没跟上,则要寻找针对新内核的nVIDIA驱动补丁。

http://www.nvnews.net/vbulletin

三、nVIDIA显卡安装

当前主流3D显卡市场上,nVIDIA公司已经是寡头称雄排名第一,nVIDIA出品的Linux驱动安装软件工具包将自动检查计算机的各种细节,并能自动安装好各种驱动程序。这里介绍一下驱动安装、升级的简单过程。XFree86自带的驱动程序只包括了nVIDIA 2D加速,如果需要获取更好的3D加速效果,需要安装nVIDIA专用驱动软件工具包。3D 硬件加速在需要绘制三度空间对象的时候是非常宝贵的,例如游戏、3D CAD、以及 3D 成像。 首先测试安装3D驱动程序前的显卡速度

#glxgears
   
glxgears是一个测试你的Linux是否可以顺利运行2D、3D的测试软件,这个程序弹出一个窗口,里面有三个转动的齿轮。屏幕将显示出每五秒钟转动多少栅,所以这是一个合理的性能测试。窗户是可以放缩的,栅数多少极大程度上依赖于窗口的大小。如果你的显示卡够好,而且你的驱动程序也配合得很好,那齿轮就跑得越快。有些极品显卡(SLI 6800 Ultra)执行glxgears之后,快到连齿轮都看不清。这里请记录下FPS数字(每秒的帧速度)以鉴别3D加速效果。
由于nVIDIA公司的产品线非常长,所以需要根据你使用的显卡芯片型号选择合适的驱动程序
(官方驱动网址:http://www.nVIDIA.com/object/unix.html),适合的显卡芯片:GeForce 4 以及后续更新的显卡芯片。

另外还要中央处理器型号选择驱动类型,使用LGA775 64位Intel Pentium4 、Pentium D、CeleronD 中央处理器和Turion64、64位Sempron 、Athlon64 的AMD中央处理器使用Linux AMD64/EM64T驱动程序:IAnVIDIA-Linux-x86_64-1.0-7676-pkg2.run ,其他X86处理器使用IA32驱动程序。本文以后者为例,下载链接:
http://www.nvidia.com/object/linux_display_archive.html;
但是如果你使用较老的显卡芯片比如:RIVA TNT、RIVA TNT2/TNT2 Pro 、RIVA TNT2 Ultra、Vanta/Vanta LT 、RIVA TNT2 Model 64/Model 64 Pro、Aladdin TNT2 、GeForce 256、 GeForce DDR 、Quadro 、GeForce2 GTS/GeForce2 Pro、GeForce2 Ti 、 GeForce2 Ultra 、 Quadro2 Pro 。请使用旧版本驱动程序:如4363。下载链接:
http://cosoft.org.cn/html/osl/download.php?file_id=7980&f=nVIDIA-Linux-x86-1.0-4363.run&g_u_n=nx4d 。

安装过程:

1.关闭SElinux
使用Fedora或Red Had Enterprise Linux的用户要首先关闭SElinux,FC5有专门GUI管理工具,其它方法是修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启服务器。

2.切换到命令行工作环境安装
使用命令或组合键“Ctrl+shift+F1”退出X-window,进入命令行:

#init 3
#./nVIDIA-Linux-x86-1.0-7676-pkg1.run

对需要补丁的nVIDIA驱动做如下安装,比如8178驱动不支持最新内核kernel-2.6.16做如下操做:

# ./NVIDIA-Linux-x86-1.0-8178-pkg1.run --extract-only
# cd NVIDIA-Linux-x86-1.0-8178-pkg1
# patch -p0 < ../NVIDIA_kernel-1.0-8178-U012206.diff.txt

3.修改配置文件

如果你采用的nVIDIA驱动高于7676版本,不必手工配置,只需在最后询问是否生效nVIDIA驱动时把选项移动到yes确定即可。

对于只能用低于7676版驱动的用户,请备份/etc/X11/xorg.conf,把“Driver "nv"”(或者Driver "vesa"、 Driver "fbdev")修改为Driver "nvidia"

为了避免XF86的驱动和nvidia驱动冲突

找到:Driver "nVIDIA";在Section "Module" 字段:

检查注释掉 Load       "dri" 和 Load       "GLCore"

检查加入    Load       "glx"。

检查的意思就是看配置文件是否有这些参数,进行针对性的操作。

重启Linux再次进入X-windw,如果显示不正常,可以还原/etc/X11/xorg.conf,继续使用nv驱动。

4.测试

进入图形界面运行

#glxinfo | grep rendering

显示:direct rendering: Yes   #OpenGl已经打开

另外可以使用glxinfo查看AGP总线、GPU型号等信息。下面还要使用glxgears查看安装3D驱动程序后的FPS数字(每秒的帧速度)以鉴别3D加速效果。

5.使用nvidia-settings工具

7676后的版本的nVIDIA驱动集成了一个图形化的显卡设置工具

#nvidia-settings

设置结束后要保存设置否则下次系统启动时,会失效,方法是编辑/etc/X11/xinit/xinitrc

加入一行:

nvidia-settings -l 注意:这是小写L不是数字1,你可以用nvidia-settings --help查看参数

6.超频nVIDIA显卡

nVIDIA显卡驱动已经集成了显卡超频工具,和Windws下修改注册表类似。只要在配置文件中加入一行:Option "Coolbits" "1" 即可打开超频选项。

7.常见故障排除

(1)内核问题:

运行中常常出现的错误是在编译内核时找不到内核的源文件,可以用以下的方法解决,先下载安装kernel的源文件:
#rpm ivh kernel-sourceXXX.rpm         Magic需要用smart下载安装
或者
#tar zxvf linux-2.XXX.tar.gz            可以从网上下载,如:www.kernel.org
指定源文件位置:
# ./ NVIDIA-Linux-x86-1.0-7676-pkg1.run --kernel-source-path=<kernel 源文件目录的位置>

(2)故障信息的具体含义?

一般来说,这些故障信息在 /var/log/Xorg*.log 日志当中。 "(WW)"代表警讯 "(EE)"代表错误。

四、其它故障的排除

当我们无法启动X-window时,应仔细查看出错信息,下面是X-window不能启动的常见原因解决方法:

1. 屏幕为全黑或花屏

当屏幕为全黑或花屏时,应该是显示器参数有误。应先按ctl+alt+Backspace结束X server,查看显示器说明书,在/etc/X11/xorg.conf,将水平和垂直刷新率改成正确的值。

类似于

Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Unknown monitor"
HorizSync xx-xx
VertRefresh xx-xx

HorizSync 就是显示器行频的范围
VertRefresh 就是显示器场频的范围

行频是一个综合分辨率和场频的参数,该值越大,显示器可以提供的分辨率越高。

某台电脑,RH9无法认出显示器类型,默认的行频设置是31.5-37.9,无法显示1024*768的分辨率,后改为31.5-70,就可以显示1024*768的分辨率。

请根据显示器的性能(请查阅说明书,或显示器标签,或显示器厂家官方网站)修改相关参数

警告:老的或某些显示器缺乏保护电路,参数设置错误可能造成硬件损坏!!!

2. 调整屏幕偏差的方法:

#xvidtune

3. Nvidia-8756驱动锁定刷新率低于85的解决方案:

修改/etc/X11/xorg.conf

Section "Screen"
    Identifier   "Screen0"
    Device         "Videocard0"
    Monitor      "Monitor0"
    DefaultDepth    24
    Option         "UseEDID" "FALSE"
    Option         "UseEDIDFreqs" "FALSE"
    Option         "UseEDIDDpi" "FALSE"
    Option         "ModeValidation" "NoEdidModes"
    SubSection   "Display"
      Depth       24
      Modes      "1024x768"
    EndSubSection
EndSection

月下刀客 发表于 2006-5-16 16:19:14

好铁!! :wink:

hohoxu_hao115 发表于 2006-5-16 16:29:33

http://bbs.linuxsky.net/viewthread.php?tid=1598

哈哈,彼月下刀客是此月下刀客?

tanhitzq 发表于 2006-5-16 17:01:56

我也顶一顶。
好闻。。。 :mrgreen::mrgreen:

彼月下刀客是此月下刀客--应该是一样吧。

fpsrco 发表于 2006-5-16 17:10:44

我的6100显卡,在MagicLinux下安装8756驱动,不理错误提示,提示nvidia-xconfig时让它自动设置,然后就OK了。因为简单,所以喜欢magic :mrgreen: !

haulm 发表于 2006-5-16 18:27:55

改了几个过时的内容,不知还有没有要补充或修改的地方。

sgb76 发表于 2006-5-16 19:06:16

版主能不能讲一下intel显卡3D驱动的安装方法啊,毕竟好多本本都是用的intel的集成显卡啊。我的本本就是i852的集成显卡,以前安装红旗4.1时是有3D加速的,可现在安了ML没有了,自己试了试intel网站上的驱动,可始终没有打开3D加速。

haulm 发表于 2006-5-16 19:42:15

以下文章和我修正的nvidia驱动安装的文章最早同一出处,由于我没有intel显卡,只能稍加删改,只能你自己去尝试了。
而且发现不少驱动只支持xfree86,具体我无法回答你,如遇这种麻烦只能问开发组成员是否有解决办法。

Intel 集成显卡的Linux驱动安装

  目前使用Intel 集成显卡的计算机主要集中在中低端商务台式机和中低端笔记本电脑。这里介绍一下Linux下显卡驱动安装方法。Intel针对集成显示芯片提供了两种驱动程序:i915Graphics和i810Graphics。
  
一、 使用82830M, 82845G, 82852GM, 82855GM, 82865G, 82915G芯片组显卡安装
  
  基于以上芯片组的Intel芯片整合图形处理器:Extreme Graphics、Extreme Graphics2、GMA900在Linux使用相同的驱动程序。 包括以下类型:
  
  Intel(R) 830M Chipset;Intel(R) 830MG Chipset ; Intel(R) 845G Chipset
  Intel(R) 845GE Chipset ;Intel(R) 845GL Chipset ; Intel(R) 845GV Chipset
  Intel(R) 852GM Chipset ;Intel(R) 852GME Chipset ;Intel(R) 855GM Chipset
  Intel(R) 855GME Chipset ;Intel(R) 865G Chipset ;Intel(R) 865GV Chipset
  Intel(R) 915G Express Chipset  ;Intel(R) 915GV Express Chipset
  Intel(R) 910GL Express Chipset ;Mobile Intel(R) 915GM Express Chipset
  Mobile Intel(R) 915GMS Express Chipset ;Mobile Intel(R) 910GML Express Chipset
  
  1.驱动下载:
  
  官方驱动网址: http://downloadfinder.intel.com/
  
  2.软件安装
  wgetwget http://aiedownload.intel.com/df-support/8211/eng/dri-i915-v1.1-20041217.i386.rpm
      #rpm -ivh dri-i915-v1.1-20041217.i386.rpm
  
  程序将自动安装,安装程序将更新 /usr/X11R6/modules/drivers/i810_drv.o(缺省Intel)的驱动程序,使其支持新的芯片组中的显卡芯片。
  
  3.选择正确的驱动程序
  
  方法一 :
  
      # Xconfigurator
  
  程序会一步步提示你,其中选择正确的驱动程序,通常一路默认,但在选择分辨率时选16K的800*600,这一点很重要。程序会修改 /etc/X11/xorg.conf这个配置文件。
  
  方法二:直接更改xorg.conf 的配置文件,这种方法适用于所有在Linux发行版本。
  
# 使用编辑器修改文件: /etc/X11/xorg.conf,在其中找到
  
  Section "Device"
  Identifier "Videocard0"
  Driver   "i810"         (将会使用 i810_drv.o的驱动程序)
  VendorName "Videocard vendor"
  BoardName  "Intel 865"
  EndSection
  
  该配置文件中其他需要注意的地方:
  
  Section "Monitor"
  Identifier  "Monitor0"
  VendorName  "Monitor Vendor"
  ModelName  "Unknown monitor"
  HorizSync  31.5 - 37.9
  VertRefresh 50.0 - 70.0
  Option   "dpms"
  EndSection
  
  这个部分是设置你的显示器类型,如果不知道自己的显示器叫什么没关系,但需要将显示器的垂直刷新率和水平刷新率正确设置,可以查看显示器的说明书,以上是15寸显示器最常用的频率,如果这个参数设置错误,显示器就会花屏或黑屏。
  
  Section "Screen"
  Identifier "Screen0"
  Device   "Videocard0"
  Monitor  "Monitor0"
  DefaultDepth   16
  SubSection "Display"
  Depth   16
  Modes  "1024x768" "800x600" "640x480" (默认使用最高的分辨率)
  EndSubSection
  EndSection
  
  这里是设置显示模式的地方,包括屏幕的分辨率,和色深,默认使用最高的分辨率,如果想使用较低的分辨率,将高分辨率删除就可以了,在这个配置文件中显示器会使用"1024x768" 的分辨率,色深是16位色。
  
  二、 使用i810, i810-dc100, i810e, i815芯片组显卡安装
  
  目前一些老式台式计算机和笔记本还使用i810芯片组和i815芯片组的集成显卡,它的显卡安装方法和步骤和上面介绍的相似,不同之处在于驱动程序。 i810, i810-dc100, i810e, i815芯片组全都是i752显示芯片,i752是i740的改进型号,这是Intel公司推出的第一种集成显示功能的芯片组,所以i810系列芯片组和 i815系列芯片组使用相同的驱动,i815显示芯片Linux驱动下载:
下载地址

sgb76 发表于 2006-5-17 10:47:43

按楼主的方法安装完驱动后,我的/usr/X11R6/lib/modules/drivers/目录中有一个i810_drv.o文件和一个i810_drv.so文件(察看文件创建日期是最新的),那我是不是要将.so文件更名成.o文件以替换原来的i810_drv.o文件呢?

heshan 发表于 2006-5-17 13:02:50

好贴!
页: [1]
查看完整版本: Linux系统下nVidia显卡驱动安装详解(2006.5)