随着3D图形显示芯片的激烈市场竞争,S3、3Dfx、Matrox 、Trident等一些老牌3D显示芯片生产厂商已经渐渐退出了市场。nVIDIA、ATi、Intel三家生产厂商占有95%以上的市场份额。在 Linux安装3D显卡的驱动是有一定难度的。升级Linux驱动程序需要做一系列的决定,包括正确识别处理器配置状况,查明驱动程序工作在什么样的 Linux内核当中。在Linux中使用的图形显示系统是X-Window,但是由于与常见的MS Windows系统有很大的差异,所以在使用时,即使有时面对的是很小的问题,却不知才能如何解决,比如无法驱动显卡,显示器参数错误,花屏,图形界面无 法启动等。这里首先向大家讲述,X-Window的概述,如何安装主流3D显卡的驱动程序,相关的配置文件,以及参数调整等内容。本文应用环境是 Redhat Linux 9.0。 一、X-Window和显卡配置文件的概述 XFree86是X Window系统的一种开放源代码的实现。它提供了一种对鼠标、键盘、显卡和窗口图形环境的Client-Server接口。所以客户端程序可以运行在不 同的主机上,由一台服务器提供X Window的Server服务。X Client将希望显示的图形发送到X Server,X Server将图形显示在显示器上,同时为X Client提供鼠标键盘的输入服务。可以将X的Server和Client分别运行在两台计算机上,使用startx命令可以启动X-Window,在 同一台计算机上同时运行的Server和Client,通常运行startx后,首先启动的是XFree86,它是Linux平台最常用的X的 Server端,然后,又运行X的Client程序,如startkde(KDE的启动程序)或gnome-session(GNOME的启动程序),他 们利用X协议连接本机的X Server,将图形显示出来。X-Window的 C/S结构还拥有网络特性这是微软操作系统没有的,以将X的Server和Client分别运行在两台计算机上,甚至可以安装一些软件,让Windows 作为X Server,让Linux作为Client,将KDE或GNOME等桌面环境显示到Windows主机上来。图1是X-Window工作原理图。
[NextPage] 图2 显卡性能测试界面 glxgears是一个测试你的Linux是否可以顺利运行2D、3D的测试软件,这个程序弹出一个窗口,里面有三个转动的齿轮。屏幕将显示出每五秒钟 转动多少栅,所以这是一个合理的性能测试。窗户是可以放缩的,栅数多少极大程度上依赖于窗口的大小。如果你的显示卡够好,而且你的驱动程序也配合得很好, 那齿轮就跑得越快。有些{jp}显卡(SLI 6800 Ultra)执行glxgears之后,快到连齿轮都看不清。这里请记录下FPS数字(每秒的帧速度)以鉴别3D加xx果。 由于 nVIDIA公司的产品线非常长,所以需要根据你使用的显卡芯片型号选择合适的驱动程序(官方Linux驱动网 址:http://www.nVIDIA.com/object/unix.html)。{zx1}版本的驱动程序是:7676。适合的显卡芯片:第四代 GeForce显卡芯片到 GeForce 6800 Ultra。另外还要中央处理器型号选择驱动类型,使用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://download.nVIDIA.com/XFree86 /Linux-x86/1.0-7676/nVIDIA-Linux-x86-1.0-7676-pkg1.run ;但是如果你使用教老的显卡芯片比 如: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 Core 3 、Fedora Core 4 Linux或Red Had Enterprise Linux 4 的用户要首先关闭SElinux,方法是修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启服务器。 2.切换到命令行工作环境安装 使用命令或组合键“Ctrl+shift+Backspace”退出X-window,进入命令行: #init 3 #./nVIDIA-Linux-x86-1.0-7676-pkg1.run 系统会自动连接到WWW.nVIDIA.COM 网站检查驱动程序是否需要更新,如果需要会自动进行更新并且安装,见图-3。 图3 nVIDIA显卡驱动安装界面 3.修改配置文件 修改配置文件:/etc/X11/xorg.conf把“Driver "nv"”(或者Driver "vesa"、 Driver "fbdev")修改为Driver "nVIDIA";在Section "Module" 字段: 刪掉 Load "dri" 和 Load "GLCore",加入Load "glx"。 4.测试 使用命令“startx”重新启动X-windw。然后运行 #glxinfo | grep rendering direct rendering: Yes #OpenGl已经打开 另外可以使用glxinfo查看AGP总线、GPU型号等信息。下面还要使用glxgears查看安装3D驱动程序后的FPS数字(每秒的帧速度)以鉴别3D加xx果。 5.使用nVIDIA-settins工具 7676版本的nVIDIA驱动集成了一个图形化的显卡设置工具,使用方法是在X-window运行见图4: #nVIDIA-settings 图4 nVIDIA设置工具界面
[NextPage] 图5 nVIDIA-settins集成的超频工具 (2)第三方工具 上面介绍的方法只能适合一些xx显卡,并且只能在图形界面下设置。这里介绍一个通用工具:Nvclock。它适合大多数Naidia显卡,而且可以工作在命令行下。特点: 1.支持GeForce FX/6/7 2.NV4x的显卡 3.支持NV43/NV44/NV47内在的温度传感器 4.可以启动或者禁用NV43/NV44/NV47上的温度传感器 5.可应用扩展NV-control进行OpenGL设置 6.BIOS分析(GeforceFX/6/7) 7.支持X86-64 软件主页:http://www.linuxhardware.org/nvclock/ 下载链接:http://www.linuxhardware.org/nvclock/nvclock0.8b.tar.gz 安装: #gunzip nvclock0.8b.tar.gz #tar vxf nvclock0.8b.tar #cd nvclock0.8b # ./configure ;#make;#make install 命令行下运行: Nvclock的格式 :./NVClock [选项] 主要选项: -m --memclk the new RAM clock in MHz (设定显示内存速度) -n --nvclk the new Core clock in MHz. (设定内核速度) -c --card selects card (default 1) (设定显卡类型) -s --speeds shows current speeds (显示当前速度) -f --force Force a speed (强制设定速度) -h --help show this help info (显示帮助信息) -d --debug show debug information (显示调试工具信息) 图形界面下运行: #nvclock_gtk 图 6 Nvclock 工作界面 可以看到Nvclock工作界面和nVIDIA-settins相似而且也可以进行显卡其他功能的涉定。使用NvClock可以在Linux环境下提高 nVIDIA系列显卡的核心频率和显存速度,从而提供系统处理图形的性能,但是过高的频率会宕机,从而影响系统稳定性。关于超频的幅度对于显卡的核心来说 一般不要超过15%,而对显存来说则相差非常大,这主要取决于显存的性能。 7.常见故障排除 (1)内核问题: 运行中常常出现的错误是在编译内核时找不到内核的源文件,可以用以下的方法解决,先下载安装kernel的源文件: # rpm –ivh kernel-sourceXXX.rpm 在Red Hat Linux的安装光盘上 或者 # tar zxvf linux-2.XXX.tar.gz 可以从网上下载,如:www.kernel.org 指定源文件位置: # ./ NVIDIA-Linux-x86-1.0-7676-pkg1.run. --kernel-source-path=<kernel 源文件目录的位置> (2)故障信息的具体含义? 一般来说,这些故障信息在 /var/lov/XFree86.*.log 日志当中。 "(WW)"代表警讯 "(EE)"代表错误。 |