Fedora 8自带的显卡驱动程序功能相对比较差,而且开发还不够完善。再加上AMD(ATI) 在Linux驱动程序方面开发的敷衍态度,Fedora自带的AMD显卡驱动程序非常糟糕,容易出现3D 加速不能启用、显示花屏、鼠标光标消失等各种各样的问题。相对而言,Livna的显卡驱动程序质量就比较好,而且是它是专门为Fedora开发的,无论是 功能还是兼容性都比较强。而且使用专用驱动程序的另外一个好处是其计时算法和Windows一样,我们就不用每次在Linux和Windows中切换时, 按显示器的“Auto”键调整显示位置了。
下面我就介绍一下如何在Fedora 中安装Livna显卡驱动程序(适用于nVIDIA 和AMD)。
首先我们要先把Livna的软件库(repository)添加到 Fedora 7 中,这样才能使用 yum 进行安装和升级。操作步骤:
1. 在 X-Window 下,鼠标右击桌面空白处,选择“终端”(Konsole),打开一个终端窗口。
2. 输入“su -”并回车,然后输入根用户(root)密码(没有回显)并回车以切换至根用户权限状态,如果您已经是用的根用户登录的,就可以跳过这一步。不过,平时使用根用户进行日常操作可不是好习惯。
3. 保证 Internet 连接。更新系统组件,更新时间比较长,而且也不是必须的,不过还是推荐做一下。输入“yum -y update”并回车。如果由于 Fedora 软件库本身的问题导致出现无法解决的软件需求关系,比如 Fedora Core 5 中有时会出现的 xine 和 xine-lib 相互依赖问题,可以通过“--exclude”参数来排除某些软件包,例如:“yum -y update --exclude=xine”。
4. 更新完成后,输入“rpm -ivhU ”并回车,以下载并安装 Livna 的自动配置程序,这样就不用手动修改 repo 文件了。
这样我们就可以开始安装驱动程序了。先不要关闭终端窗口,还用得着。
如果您用的是 nVIDIA 显卡,就进行如下操作:
1. 输入“yum -y install kmod-nvidia glx-utils”并回车。注意,如果您使用的是支持超线程技术的 CPU 或者双核 CPU,请用“kmod-nvidia-smp”代替“kmod-nvidia”,不过绝大多数情况下 yum 会自动选择合适的版本。如果您用的是很旧的 nVIDIA 显卡,那么就应该用“yum install kmod-nvidia-96xx”或“yum install kmod-nvidia-legacy”。
2. 安装完成后,重新启动计算机。如果安装成功,在图形登录窗口出现前,会有一个 nVIDIA 的 logo 闪现一两秒。
3. 重新打开一个终端,然后输入“glxinfo | grep direct”并回车。如果显示“Direct rendering: Yes”,则恭喜您,显卡驱动程序已经能够正常运行了。
nVIDIA 的驱动程序会自动通过 DDCI 检测您的显示器支持的显示模式,并选择其中最高的,这可能和您所希望的不一致。例如:我的显示器是 Acer 的 17 英寸 LCD,最高模式是 1280X1024@75Hz,但是最佳模式是 1280X1024@60Hz(精确的是 60.02Hz)。由于LCD主控芯片性能的限制,许多液晶显示器在 75Hz 下会出现字体缺少笔画等问题,所以需要将其设置为最佳分辨率。因为安装了nVIDIA的驱动程序,传统的那种被戏称为“Black Magic”的写 Modeline 方法已经没用了。
说个题外话,当初我用 Red Hat 7.3 时,由于找不到较好的显卡驱动程序,经过无数次的 Google 后终于在一个捷克共和国的网站里找到了在通用 Video Buffer 下适合我的显示器的 Modeline。这暴露了一个早期 Linux 的弊病,那时的 Linux 没有像 Windows 一样很快接纳 DDCI 标准,不能向显示器要参数,导致很长一段时间,Linux 的粉丝必须冒着烧毁显示器的风险,辛苦地调整什么消隐时间、回扫时间之类的令人头大的参数以修正显示偏差。
现在虽然修改起来还是没有 Windows 方便,不过已经很省心了,操作如下:
1. 在刚才的终端窗口输入“kate /etc/X11/xorg.conf”,如果您没安装 kate,也可以试试 gedit,当然用 VIM 和 nano 也我也不反对。
2. 在打开的编辑器窗口里,找到“Screen”区段。它应该是类似这样的东西:
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
找到“1280x1024”,改成“1280x1024@60.02”(用“_”代替“@”也可以,不过不推荐,原因在最后会提到),注意最佳模式必须参考显示器说明书。