在Linux下为游戏配置TNT2显卡驱动

发表于:2007-07-04来源:作者:点击数: 标签:
目前,大多数 Linux 下的3D加速 游戏 采用的都是OpenGL,因此对于nVIDIA最新的驱动程序,只需做很小的改动就可以适于大多数的游戏。我的显卡是Diamond Viper V770,安装的驱动程序是nVIDIA 0.93 版。 现在假设已经把XFree86 4.0和最新的TNT2显卡驱动程序安装
目前,大多数Linux下的3D加速游戏采用的都是OpenGL,因此对于nVIDIA最新的驱动程序,只需做很小的改动就可以适于大多数的游戏。我的显卡是Diamond Viper V770,安装的驱动程序是nVIDIA 0.93 版。

  现在假设已经把XFree86 4.0和最新的TNT2显卡驱动程序安装在Linux上,并且其它的一切都运行正常。下面就介绍各种游戏下TNT2显卡的相应配置。

雷神之锤 Ⅲ

  在Linux下,雷神之锤Ⅲ(QuakeⅢ)缺省的安装位置是/usr/local/games/quake3。我在安装过程中发现,libGL.so只是一个链接,指向链接libMesaVoodoo(该链接指向libMesaVoodoo库),显然这样配置TNT2显卡的驱动程序是不会发生作用的。

  解决的方法很简单,删除链接文件libGL.so(rm libGL.so),这时Quake Ⅲ Arena就会直接加载到目录/usr/lib下的libGL.so库。

  在缺省情况下,QuakeⅢ Arena使用最大化窗口,虽然感觉也不错,但是在屏幕底下还是有一接缝。这个问题可以通过在游戏Setup选单中打开全屏设置来解决。

  早期版本的QuakeⅢ Arena和nVIDIA的驱动程序之间有一个问题,就是DGA鼠标的支持问题。解决办法有两个选择:启动游戏的时候关闭DGA鼠标支持,或者安装补丁1.17。该补丁在以下网址http://www.lokigames.com/products/q...hp3中可以找到。

重装机甲 Ⅱ

  重装机甲Ⅱ(Heavy Gear Ⅱ)在安装过程中(安装到目录/usr/local/games/hg2下),会提示安装库Mesa 3.3 library。该库与Voodoo卡配合很好。安装完后会创建一个链接libGL.so.1,指向libMesaVoodoo.so.1.2.030300。很显然,它就像QuakeⅢ一样,也必须删除libGL.so.1,从而使游戏自动加载libGL.so。

  用这个驱动程序玩Heavy GearⅡ有一个小毛病,就是完成或中止一个任务之后,游戏会突然退出,并且显示信息“Segmentation fault”。纠正该问题的一个方法是安装补丁。该补丁在以下网址http://www.lokigames.com/products/h...腟DL,并从Heavy GearⅡ目录中删除现存的SDL库,具体步骤如下:

  ◆ 以Root身份登陆;
  ◆ 删除现有的SDL;
  ◆ 从bsdl.org/download-1.1.html" target=_blank>http://www.libsdl.org/download-1.1.html 下载最新SDL版本;
  ◆ 从bsdl.org/projects/SDL_mixer/index.html" target=_blank>http://www.libsdl.org/projects/SDL_mixer/index.html 下载最新的SDL_mixer版本;
  ◆ 编译并安装SDL,如果是RPMs封装的就不用编译了;
 ◆ 编译安装SDL_mixer 。

  当Heavy GearⅡ不能使用它的SDL时,就会使用系统中(/usr/lib或 /usr/local/lib)存在的其它SDL库。不过这样做的缺点是删除SDL后,也就删除了游戏启动所需库函数。解决的方法是,把/usr/lib 或/usr/local/lib下的SDL库拷贝到Heavy GearⅡ目录下,并建立相应的链接。命令如下(我使用的是SDL 1.1.3 和SDL_mixer 1.0.5):


  su root
  cd /usr/lib (或/usr/local/lib,就SDL库的位置而定)
  cp libSDL-1.1.so.0.3.0 /usr/local/games/hg2
  cp libSDL_mixer-1.0.so.0.2.3 /usr/local/games/hg2
  cd /usr/local/games/hg2
  ln -s libSDL-1.1.so.0.3.0 libSDL-1.1.so.0
  ln -s libSDL_mixer-1.0.so.0.2.3 libSDL_mixer-1.0.so.0



  现在游戏就不会出现以上的错误了。

异教徒Ⅱ

  像上面的游戏一样,缺省安装的异教徒Ⅱ(HereticⅡ)使用Mesa库libMesa31.so(通过链接 libGL.so),因此,为了让游戏使用TNT2显卡驱动程序,必须删除libGL.so链接,并且重建一个指向nVIDIA驱动程序的链接。方法如下:


  su root
  cd /usr/local/games/heretic2/gl_drivers
  rm libGL.so
  ln -s /usr/lib/libGL.so libGL.so



  不过HereticⅡ的配置文件中存储了最后一次使用的库,下次启动时仍然使用它,因此,还必须修改Heretic Ⅱ配置文件。在配置文件中找到下面一行:


  set gl_driver "/usr/local/games/heretic2/gl_drivers/libMesa31.so"



  把它换成:


  set gl_driver "/usr/local/games/heretic2/gl_drivers/libGL.so"



  保存并退出,这样HereticⅡ就可以使用nVIDIA的驱动程序了。

  如果游戏还有问题,最好还是加上最新的补丁。该补丁可以在以下网址寻找:http://www.lokigames.com/products/h.../updates.php3。

命运战士

  写本文的时候,命运战士(Soldier of Fortune)正式版还没有出来,我使用的是DEMO版。不过,这个DEMO不用修改就可以在我的机子上飞跑,游戏画面、速度、情节都是一流的,值得一玩。

虚幻竞技

  下面是我安装虚幻竞技(Unreal Tournament),并且使其应用TNT2驱动程序的步骤:

  ◆ 安装最新的SDL版本(我用的是1.1.3版本)。
  ◆ 安装Unreal Tournament。记住安装之前一定要安装libxml和libglade,建议最好不用Root身份安装。
  ◆ 安装Unreal Tournament补丁413(在http://unreal.epicgames.com/Tournam...盎贡匦胗衳delta 1.1.1(在http://www.cs.berkeley.edu/~jmacd/xdelta.html)。
  ◆ 把Unreal Tournament目录的System子目录下初始化文件Default.ini改名为UnrealTournament.ini ,并取得以下文件http://openut.sourceforge .net/files/sdlclient.txt。把该文件的内容加到UnrealTournament.ini文件中,且改动文件中的以下部分,使游戏指向SDL:


  [Engine.Engine]
   ameRenderDevice=SDLGLDrv. SDLGLRenderDevice
   RenderDevice=SDLGLDrv. SDLGLRenderDevice
   ViewportManager=SDLDrv .SDLClient



  这样,就可以开始玩游戏了。不过,还会时不时有鼠标不动及图像变形的小问题,但这不太影响游戏的进度。

神话Ⅱ

  到目前为止,神话Ⅱ(MythⅡ)中的3D加速代码只是针对Glide的,也就是意味着只有使用Voodoo卡才能玩这个游戏。但是这并不表示MythⅡ不能工作在nVIDIA 驱动程序下,只是必须改变一下软件翻译。

  如果不能用软件翻译启动Myth Ⅱ,就要先看一下游戏的启动程序。如果安装游戏的时候选择的是支持Glide,那么软件翻译不会被安装,只有选择myth2_glide才会安装软件翻译。在这种条件下,要么重装游戏(不选Glide选项),要么就把软件翻译(myth2_x11)从光盘中拷贝到硬盘中。

  如果使用nVIDIA 驱动程序还遇到问题,一定要记住首先更新MythⅡ版本,然后再考虑其它的问题。目前Linux 下最新MythⅡ版本是v1.3d,最新的补丁在以下网址可以找到:http://www.lokigames.com/products/myth2/updates.php3。

原文转自:http://www.ltesting.net