X-Window环境下配置nVIDIA显卡

  一、X Window的体系结构

  X Window的运行基于一种客户/服务器(Client/Server)模式,它由X Server、X Clients和通信通道3个部分组成,X Server和X Clients通过X协议在网络上通信完成应用任务。


 X Server是控制输入输出的程序,它和底层硬件直接通信控制实际的显示器、鼠标及键盘的软件,它只在接收X Client程序的请求后完成建立窗口和绘制图形等工作。


  X Client是基于X Server的客户程序,作为使用系统的视窗功能的程序,它请求X Server在指定的窗口执行各种操作。它不负责显示,只是给X Server发送一个请求,由服务器完成操作。


  X 协议是X Server和X Client之间沟通的语言,Xlib库封装了可完成这种通信功能的API,可以使用这些API开发X Client程序。X Window运行分层如图-1所示。


X_Windows


图1  X Window运行分层


  其中最底层的是X Server,其上层是X网络协议,该层使远程运行X Window成为可能。再上层是称为“Xlib”的底层函数接口,它介于网络和基础系统与较高层的程序之间,应用程序的实现通过调用这一层的函数实现。最顶层是管理窗口的窗口管理器,即WM(Window Manager),如AfterStep、Blackbox、Enlightenment、ctwm、ftwm、sawfish、twm和Window Maker等,这些管理器中的每一个都提供了一个不同的界面。另外,KDE和GNOME桌面环境(Desktop Environments)都有自己的视窗管理器与桌面集成,每一个视窗管理器也有一个不同的配置机制。


  X Window的客户机/服务器模式有如下的优点。


  (1)客户程序可以在远程计算机上执行计算任务,而使用的X服务器仅负责复杂的图形显示,从而充分发挥X服务器在显示上的优势。


  (2)只有X服务器与硬件打交道,所有的客户程序都与硬件无关,从而很容易在不同的平台上移植。


  (3)使用不同的视窗管理器会使得X Window的外观看起来截然不同。

  Gnome 和 KDE 是什么?

  有人把 Gnome 和 KDE 叫做窗口管理器,甚至还有人把它们叫做 Xwindow。Gnome 和 KDE 是“桌面系统”,一种很多程序和函数库的集合。它们的设计目的是提供一致的方便的操作方式来满足普通用户的需要。它们不但包含窗口管理器,还有很多实用程序和应用程序,比如配置程序,工具条,编辑器,绘图工具…… 其实 Gnome 可以和很多窗口管理器合作,在历史上,Gnome 使用过的窗口管理器包括 englightenment, sawmill, sawfish, metacity。KDE 的窗口管理器叫做 kwin。


  二、桌面环境配置显卡


  1.查看nVIDIA模块是否加载


  驱动硬件是操作系统最基本的功能,操作系统通过各种驱动程序来驾驭硬件设备,和Windows系统不同Linux内核目前采用可加载的模块化设计(LKMs Loadable Kernel Modules),就是将最基本的核心代码编译在内核中,显卡驱动程序是作为内核模块动态加载的。可以使用命令“lsmod”查看加载情况如图-1。


X_Windows


图2 显示nVIDIA模块加载


图-1显示nVIDIA模块已经加载,对每行而言,第一列是模块名称;第二列是模块大小;第三列是调用数。调用数后面的信息对每个模块而言都有所不同。如果 (unused) 被列在某模块的那行中,该模块当前就没在使用。如果 (autoclean) 被列在某模块的那行中,该模块可以被 rmmod -a 命令自动清洗。当这个命令被执行后,所有自从上次被自动清洗后未被使用的被标记了“autoclean”的模块都会被卸载。



  2.检查openGL功能是否打开


  对新设置进行测试,最好的办法是输入startx。使用命令“startx”重新启动X窗口。如果设置正确,X视窗就会启动,先是显示NVIDIA的闪现屏幕,然后运行







#glxinfo | grep rendering

direct rendering: Yes#OpenGl已经打开

 


  2. 测试安装3D驱动后的数据


  现在重新测试安装3D驱动程序后的显卡速度,打开一个桌面终端运行。

#p#副标题#e#







#glxgears


X-Window

图3 glxgears测试界面


 


  3. 使用nVIDIA-settins工具配置nVIDIA选项


  7104以后版本的nVIDIA驱动集成了一个图形化的显卡设置工具,使用方法是打开一个桌面终端运行。







#nVIDIA-settings



  在nVIDIA设置工具界面可以查看到笔者显卡信息如下:


  显卡型号:Geforce 6200 ;接口类型:AGP 8X


  BIOS版本:05.44.a2.03.00 ;显存容量:128兆


  中断号:11 ;操作系统:Linux-x86 ;驱动版本:1.0-8756 。见图-3


X-Window


图4 nVIDIA设置工具界面


驱动版本:1.0-8756的全新控制界面,较以前的控制面板相比使用更加清爽方便,日趋完善的调节控制选项使用户更能得心应手的控制每一个选项。nVIDIA-settins一共10个控制选项。



  1. X server Color Correction (色彩修正)


  2. X sever Xvideo Setting (XV输出调整)


  3. OpenGL Setting(OpenGL设定)


  4. Cursor Shadow (鼠标指针设置)


  5. OpenGL/GLXL (OpenGL/GLX信息)


  6.  Antialiasing Settings(3D反锯齿设置)


  7. Thermal Monitor (GPU温度监控)


  8. Clock Frequencies(核心显存控制)


  9. Display Device (显示设备)


  10. nVIDIA-settings Configure (nVIDIA-settings自身设定


  11. 在Antialiasing Settings(3D反锯齿设置)


  全屏反锯齿选项卡中除了保持原有的Quincunx Antialiasing反锯齿工作模式外,还增加了Texture Sharpening(锐利纹理)选项,这样可以使得在FSAA模式下的3D画面显得更加锐利清晰。采用只能算法,效率更高,GPU自动处理Antialiased画面采样点,令颜色更为准确。设置过程中可以点击帮助信息,让配置更加简单,界面见图-4。


X-Window


图5 全屏反锯齿选项和帮助信息


  设置结束后要保存设置否则下次系统启动时,会失效。方法是编辑/etc/X11/xinit/xinitrc 文件在最后加入一行:“    nVIDIA-settins -1”。

驱动版本:1.0-8756的全新控制界面,较以前的控制面板相比使用更加清爽方便,日趋完善的调节控制选项使用户更能得心应手的控制每一个选项。nVIDIA-settins一共10个控制选项。


  1. X server Color Correction (色彩修正)


  2. X sever Xvideo Setting (XV输出调整)


  3. OpenGL Setting(OpenGL设定)


  4. Cursor Shadow (鼠标指针设置)


  5. OpenGL/GLXL (OpenGL/GLX信息)


  6.  Antialiasing Settings(3D反锯齿设置)


  7. Thermal Monitor (GPU温度监控)


  8. Clock Frequencies(核心显存控制)


  9. Display Device (显示设备)


  10. nVIDIA-settings Configure (nVIDIA-settings自身设定


  11. 在Antialiasing Settings(3D反锯齿设置)


  全屏反锯齿选项卡中除了保持原有的Quincunx Antialiasing反锯齿工作模式外,还增加了Texture Sharpening(锐利纹理)选项,这样可以使得在FSAA模式下的3D画面显得更加锐利清晰。采用只能算法,效率更高,GPU自动处理Antialiased画面采样点,令颜色更为准确。设置过程中可以点击帮助信息,让配置更加简单,界面见图-4。


X-Window


图5 全屏反锯齿选项和帮助信息


  设置结束后要保存设置否则下次系统启动时,会失效。方法是编辑/etc/X11/xinit/xinitrc 文件在最后加入一行:“    nVIDIA-settins -1”。


三、超频nVIDIA显卡



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


  1. 集成工具


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

#p#副标题#e#


教你在X-Window环境下配置nVIDIA显卡(4)


图6 nVIDIA-settins集成的超频工具


  (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


  软件主页: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


教你在X-Window环境下配置nVIDIA显卡(4)


图7  Nvclock 超频工作界面


可以看到Nvclock工作界面和nVIDIA-settins相似而且也可以进行显卡其他功能的涉定。使用NvClock可以在Linux环境下提高nVIDIA系列显卡的核心频率和显存速度,从而提供系统处理图形的性能。



  (3)监控显卡温度


  自从曝出了极品飞车九导致显卡损坏以后,很多网友对显卡温度越来越关注。CPU温度监测软件就见得多了,显卡GPU温度监测器你有没有听说过。温度监控可以用来测试一下某个游戏,或者超频对显卡温度的影响度,这对游戏爱好者,超频玩家特别有帮助。nVIDIA-settins和Nvclock这个软件就可以帮你监视NVIDIA 核心的GPU温度。nVIDIA-settins温度监控界面见图-7 。


教你在X-Window环境下配置nVIDIA显卡(5)


图8 nVIDIA-settins温度监控界面


  可以看到笔者的GPU温度超频后达到54度。目前的显示卡在散热方面直追CPU,散热器已经成为了显示卡最抢眼的部位。笔者使用的6200显卡核心超频到550MHZ在运行3D软件的时候虽然正面的散热片温度并不高,但是背面温度相当客观,手指几乎无法触摸,看来要是想超频更加稳定,改造势在必行。图-8是Nvclock温度监控界面。


教你在X-Window环境下配置nVIDIA显卡(5)


图9 Nvclock温度监控界面


  总结:


  在Linux中使用的图形显示系统是X-Window,但是由于与常见的微软的 Windows系统有很大的差异,所以在使用时,即使有时面对的是很小的问题,却不知才能如何解决,比如无法驱动显卡,显示器参数错误,花屏,图形界面无法启动等。上面先向大家讲述,X-Window的概述,如何安装nVIDIA主流3D显卡的驱动程序,相关的配置文件,以及参数调整等内容。本文应用环境是RHEL 4.0。