Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1022410
  • 博文数量: 326
  • 博客积分: 10135
  • 博客等级: 上将
  • 技术积分: 2490
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-22 23:53
文章分类

全部博文(326)

文章存档

2014年(1)

2012年(4)

2011年(1)

2010年(4)

2009年(41)

2008年(44)

2007年(63)

2006年(168)

我的朋友

分类: LINUX

2006-07-20 12:26:00

一、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主机上来。

Linux的X Server程序就是XFree86,它的任务是驱动显示卡、显示器、鼠标、键盘等设备,为X Client提供显示服务、输入服务等。

XFree86的主要文件是:

/usr/X11R6                                               XFree86文件所在的主要目录
/usr/X11R6/bin                                          XFree86的可执行程序文件
/usr/X11R6/lib/modules/drivers                     XFree86自带的驱动程序所在的目录
/etc/X11                                                   X的配置文件及启动脚本所在目录
/etc/X11/XF86Config 或 XF86Config-4         XFree86的启动配置文件

XFree86自带了一些设备的驱动,具体位置在 /usr/X11R6/lib/modules/drivers,如果你的显示卡太新无法使用X-Window,你可以考虑升级XFree86。

XFree86官方的版本下载网站是:

中国的镜像网站是:

两个组织:由于下面笔者安装Linux显卡驱动时要涉及两个组织XFree86 和XOrg。这里简单介绍一下:



XFree86是对 X11 的一个开放源码的实现。最初它开发运行在 Intel x86 PC 上,因此得名。现在,它可以运行在主要的硬件架构和操作系统上,包括 Linux、OS/2,Darwin,Mac OS X 和 Windows。



XOrg 基金会的X11开源实现 (XOrg Foundation Open Source Public Implementation of X11) 它是X Window System的官方参考实现。当前的发布版本是X11R6.8.2,发布于2005年2月10日。它是开放源代码的自由软件。这个项目由X.Org基金会 运作,存放于freedesktop.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

二、安装前准备工作

因 为安装驱动程序可能需要配合核心来编译,所以会使用到内核源代码,此外,也需要编译器 ( compiler ) 的帮助,因此,先确定您的 Linux 系统当中已经下列软件的存在 :kernel-source 、kernel 、gcc 、make、qt。 打开一个终端,使用命令检查:

# rpm -qa | grep gcc;rpm -qa | grep qt
# rpm -qa | grep make;rpm -qa | grep kernel

三、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公司 的产品线非常长,所以需要根据你使用的显卡芯片型号选择合适的驱动程序(官方Linux驱动网址:http: //)。最新版本的驱动程序是: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驱动程序。本文以后者为例,下载链接: ... 6-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。下载链接: ... .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

3.修改配置文件

注 意,以下Xconfigureator重生成的xorg.conf只是个参考,并不能保证正确配置驱动,并且Xconfigureator会自动把默认 init 5方式改成init 3方式,在使用后可能可以通过修改grub.conf或修改/etc/inittab的默认启动为5,如果你觉得没必要在xorg.conf中写入显卡和 显示器的名称,可以略过Xconfigureator的操作,笔者认为此步可有可无。

1).运行Xconfigurator配置显卡,注意不管是否出错都深测下色深,配置后,打开xorg.conf,找到
Section "Device"
Identifier “显卡名称”
比如:
Section "Device"
Identifier "nVidia Corporation NV34 [GeForce FX 5200"

2).请先牢记住你的显卡在驱动中的名称,如:nVidia Corporation NV34 [GeForce FX 5200,然后删除生成的xorg.conf和xorg.conf-4

3)把/etc/X11/xorg.conf.old复制改名为/etc/X11/xorg.conf

4).打开/etc/X11/xorg.conf,找到两处Videocard0,改成正确的显卡名称,如nVidia Corporation NV34 [GeForce FX 5200

5).修改/etc/X11/xorg.conf,把“Driver "nv"”(或者Driver "vesa"、 Driver "fbdev")修改为Driver "nvidia"

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

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

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

检查加入    Load       "glx"。

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

5)重启Linux再次进入X-windw,如果显示不正常,删除xorg.conf,把xorg.conf.old改回xorg.conf,正常xorg.conf.old也可以删除。

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显卡

谈到显卡超频许多计算机玩家都不陌生,这里介绍一下在Linux环境下nVIDIA显卡的超频方法。

(1)集成工具

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

(2)第三方工具

上面介绍的方法只能适合一些高端显卡,并且只能在图形界面下设置。这里介绍一个通用工具: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

软件主页:

命令行下运行:<
BR>
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

可 以看到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              可以从网上下载,如:
指定源文件位置:
# ./ NVIDIA-Linux-x86-1.0-7676-pkg1.run. --kernel-source-path=<kernel 源文件目录的位置>

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

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

四、其它故障的排除

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

1. XF86Config文件损坏或丢失

有时一些误操作会造成XF86Config文件损坏或丢失。这时可以重新生成XF86Config文件。步骤是:

# XFree86 -configure

XFree86 自动侦测显卡及显示器,在用户的主目录下生成一个名叫 XF86Config.new 的文件可以以下命令测试这个文件是否正常运行:

# XFree86 –xf86config ~/XF86Config.new  

这个命令是指定X Server使用 ~/XF86Config.new作为配置文件,看一下是否有白色 X 型的光标显示出来,如果有,就可以按ctl+alt+Backspace结束设置,然后运行下面的命令,用新的配置文件来替换系统配置文件。

# cp ~/XF86Config.new /etc/X11/XF86Config

2. 权限问题

   没有控制台所有权,比如你是以cao用户登陆,然后用命令 su – caj切换为用户caj,这时使用startx就会出错,提示没有该控制台的所有权,你可以exit退出 caj的shell环境,然后再运行startx即可。

3. 硬盘空间问题

   在使用KDE或Gnome桌面环境时,每次启动X server都要占用一定空间(大于100兆)存放放临时文件,如果临时目录/tmp 或 主目录下磁盘空间太小无法写入文件,这时就会出一些奇怪的错误。这时只要清理出一些空间即可。

4. xfs守护进程问题

xfs是字体服务守护进程,它不起动则X server会无法正常显示字体,使用命令:

# /etc/rc.d/init.d/xfs start      #启动该守护进程 #
#chkconfig ――level 345 xfs on    # 让该守护进程每次自动启动 #

5. 屏幕为全黑或花屏

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

6.查看系统支持的显卡型号的方法:

#cat /usr/X11R6/lib/X11 >list.txt
#cat list.txt

list.txt文件会列出所有可以支持的显卡类型。

阅读(1034) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~