Friday, November 24, 2006

FC6安装nvidia显卡驱动 TNT2显卡

如何在Fedora6安装NVIDIA驱动(FC6安装nvidia显卡驱动 TNT2显卡),这个问题已经困扰我很多天了!
GOOGLE了一大堆资料,用网上说的方法始终搞不定,在打算要放弃的时候试了最后一次,结果成功了,狂喜。
在这里我把安装的步骤写下来,一方面是给那些想在自己的老显卡上安装NVIDIA驱动的用户一些参考,另一方面也算是和大家一块分享成功的喜悦吧!
因为考虑到有一些刚刚接触Linux的用户,因此我会写得会尽量详细。
首先说一下我的环境:
操作系统:Fedora 6 (FC6 2.6.18-1.2798.fc6 i386)
显卡:TNT2
驱动: legacy-1.0.7184 RPM版本(因为用.run安装多次不成功便用RPM安装)
如果你现在在图形界面下,并且是非root用户,那么打开命令行终端,输入su切换到根用户,输入init 3
如下:
$: su
password:
#: /sbin/init 3
此命令会退出图形界面安装程序,回到命令行界面。
由于我是用非root帐户登录的,因为考虑到要进行很多次ROOT权限操作,所以在命令行下输入su代替每次命令都输入sudo
好了,现在让我们开始吧,时间会很快的:
$: su
password
#: rpm -ivh http://rpm.livna.org/fedora/6/i386/kmod-nvidia-legacy-1.0.7184-
3.2.6.18_1.2798.fc6.i686.rpm --nodeps
#: rpm -ivh http://rpm.livna.org/fedora/6/i386/xorg-x11-drv-nvidia-legacy-
1.0.7184-2.lvn6.i386.rpm --nodeps
NVIDIA驱动安装完成,输入上面的命令后可能会看到editing error,restoring backup错误,这是因为在更改/etc/X11/xorg.conf的时候出错了,接下来我们手动更改这个文件.
注:如果这个时候启动到图形界面环境下,会和没安装nvidia驱动时是一样的,因为在xorg.conf文件中用的还是nv驱动。
更改/etc/X11/xorg.conf文件可以切换到图形界面下再更改,也可以现在在命令行下修改。
#: emacs /etc/X11/xorg.conf
加入以下代码段

Section "Files"
ModulePath "/usr/lib/xorg/modules/extensions/nvidia"
ModulePath "/usr/lib/xorg/modules"
EndSection

将以下代码段中的"nv"改为"nvidia",这样重启后会使用新安装的nvidia驱动。

Section "Device"
Identifier "Videocard0"
Driver "nv"
EndSection

保存所做的更改,按住键盘上的Ctrl-x Ctrl-c 看到保存提示后按y键保存。
现在你可以重新启动系统以加载nvidia驱动了
#: /sbin/shutdown -r now
重新启动系统的过程中应该看到nvidia的logo了吧,如果没有,欢迎留言大家一块探讨。
重新启动系统后,应该是在命令行界面下,现在我们切换到图形界面下
$: sudo /sbin/init 5
接下来,输入用户名密码登录,如果你能登录到图形界面下,恭喜你了,那现在我们就接着修改/etc/X11/xorg.conf文件。
由于现在的nvidia还没有加载glx,因此如果你输入命令glxgears打开3D测试一下的话,会直接退出图形界面的,甚至打开openGL屏幕保护程序也一样会退出。
好了,现在让我们加载glx吧!
打开命令行终端,输入以下命令
$: sudo gedit /etc/X11/xorg.conf
加入以下代码段

Section "Module"
Load "dbe"
Load "extmod"
Load "type1"
Load "freetype"
Load "glx"
EndSection

此时,如果你重启后运行glxgears会发现以下提示:
Xlib: extension "GLX" missing on display ":0.0"和显示器RGB值错误
因此我们还要在Section "Screen"中加上以下代码段(红色部分)

Section "Screen"

Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
Option "DisableGLXRootClipping" "True"
Option "AddARGBGLXVisuals" "True"
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1152x768" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
好了,终于可以松一口气了,重新启动X环境吧,再试试glxgears可以正常了吧!:)
此时还有一个问题,就是分辨率的问题,如果你的网卡也是TNT2的话,应该只有800*600的分辨率,而刷新率只有60,如何更改呢?
打开系统--显示--硬件,选择generic中的1024*768选项,确定,退出,重户X环境。
此时再在"显示"(或控制中心-外设-显示)里更改分辨率可以改到1024*768了吧,刷新率也达到了70.(如果想将刷新率调到85,可以显示里选择generic中的
分辨率更高的选项,但是我个人认为这样改不好,所以我的刷新率现在还是70,如果你有什么好方法的话,欢迎告诉我。
至此NVIDIA驱动安装完毕。
最后祝大家一切顺利!

----老朱写于2006.11.15夜23:00
附:下面是我的/etc/X11/xorg.conf文件的配置
# Xorg configuration created by system-config-display

Section "ServerLayout"
Identifier "single head configuration"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
ModulePath "/usr/lib/xorg/modules/extensions/nvidia"
ModulePath "/usr/lib/xorg/modules"
EndSection

Section "Module"
Load "dbe"
Load "extmod"
Load "type1"
Load "freetype"
Load "glx"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
EndSection

Section "Monitor"
Identifier "Monitor0"
ModelName "Monitor 1024x768"
HorizSync 31.5 - 57.0
VertRefresh 50.0 - 70.0
Option "dpms"
EndSection

Section "Device"
Identifier "Videocard0"
Driver "nvidia"
EndSection


Section "Screen"

Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
Option "DisableGLXRootClipping" "True"
Option "AddARGBGLXVisuals" "True"
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1152x768" "1024x768" "800x600" "640x480"
EndSubSection
EndSection


Section "Extensions"
Option "Composite" "Enable"
EndSection