疯狂前行,为了BLFS!(第四章 ATI X700显卡驱动篇)(2007-12-05)

 
    今天真是个值得高兴的日子,因为困扰我很多天的显卡驱动问题终于得到了解决,更为高兴的是凭着不肯服输的精神彻底搞定了它。
    废话少说,马上步入主题,回首一下安装ATI显卡驱动的艰辛历程。
    先说一下目前自己的软件配置环境:
1. bash, version 3.2.17(1)-release
     Binutils: 版本 2.17
     bison (GNU Bison) 2.3
     bzip2,  Version 1.0.4, 20-Dec-2006.
     Coreutils:  6.9
     diff (GNU diffutils) 2.8.1
     GNU find 版本 4.2.31
     GNU Awk 3.1.5
     gcc (GCC) 4.1.2
     GNU C Library stable release version 2.5.1,
     grep (GNU grep) 2.5.1
     gzip 1.3.12
     Linux version 2.6.23.8 ( root@Dennis.Wang) (gcc version 4.1.2) #1 SMP Wed Dec 5 14:39:14 CST 2007
     GNU Make 3.81
     patch 2.5.4
     GNU sed version 4.1.5
     tar (GNU tar) 1.18
 2. 显卡驱动是ati-driver-installer-7-11-x86.x86_64.run。(显卡是Mobility™ Radeon™ X700)
 3. 安装XORG时指定的路径是/usr
     想当初在完成LFS6.3的时候,内核的版本是2.6.22.5,后来被我升级到了2.6.22.12,当时没有升级headers,安装显卡驱动的时 候,出现了好几种错误的现象。基本上就是找不到fglrx模块、内核不匹配、drm找不到的问题,搞的我当时也晕糊糊的,查了很多资料,反复的装也没有解 决问题。不过倒是在#lfs-support上老外给了提示,为我现在解决问题提供了些帮助。以前用了好几个驱动的版本和两个内核,但依然不能成功,现在 想想应该就是同一个问题做作怪。
 
     以前的问题不再去探讨了,就拿现在的2.6.23.8内核和7-11驱动说道说道。
     1>应该确保2.6.23.8内核的headers版本和内核版本一致。无法再去证明如果版低或者高的话,也可以成功,因为毕竟现在我是一致了之后 成功的。可以证明的是,2.6.23.8内核使用2.6.22.5的headers确实可以正常工作。有的软件编译不了,也许不是headers的问题, 而是和新内核不兼容。
     2>在/usr/src下放了linux-2.6.23.8的kernel source以及为它建了一个linux的软链接。具体用不用这样,我也懒得去考证了,以前的折磨我已经受够了。;) 不过没有这个source的时候,似乎我也安装成功过,只是当时没有意识到路径的错误导致了失败。而且,我在ATI的官方网站上也似曾看到过只需要 headers就可以了。听别人说,有的软件不需要,但象驱动这样的包需要这样。反正,我觉得放就放吧,没什么害处。
  
     3>确保ATI官方网站上写的System Requirements都已经得到满足。     https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/catalyst_711_linux.html#172686,安装之前需要认真看看AMD Catalyst™ Linux 7.11 Release Notes。
     4>安装fglrx驱动
     安装fglrx没什么特别,也没有象FC、Debian、Ubuntu等发行版那样,特意自己编译成自己的格式来安装,一路默认安装就行了。
     这个最新版的驱动是支持2.6.23系列内核的,因此不用象在此版本的内核上安装前一个fglrx驱动那样打非官方的补丁。实际上,在安装完fglrx的 时候,在/lib/modules/fglrx/build_mod下有个patch的文件夹,我想这个应该就是官方为了能够装在2.6.23内核上而打 的补丁。
     okay! 如果在安装完了fglrx之后,已经可以加载fglrx模块,fglrxinfo显示的是ati的官方驱动,那么就恭喜了,接下去就是配置文件的问题了。
     下面问题就来了,我想说的是如果没有按预期成功的话,该怎么办。
     就我碰到的问题来讲:
     首先,如果在安装驱动的时候,最后完成的时候出现错误,软件会提示你到/usr/share/ati/fglrx-install.log文件里去查找错 误的原因。一般来讲,都是内核不匹配。如果是这样,那么最好选择支持你的显卡的最新驱动来安装,新的驱动大多能够满足内核的需要。还有一种方法是运行 /lib/modules/fglrx/build_mod下的make.sh 和 /lib/modules/fglrx/make_install.sh,也许能得到意想不到的收获。
  
     其次,我在确保安装 已经成功了(因为modprobe fglrx成功,lsmod显示fglrx已被加载)的情况下,配置好了/etc/X11/xorg.conf(使用命令aticonfig --initial,还有自己添加的几段),startx的时候,提示couldn't open fglrx....。这说明fglrx_drv.so没有被正确找到,不知道这是不是ati装完之后本来就没有安装到正确的路径下,所以需要建一个软链 接,来使此模块能够正确加载。fglrx_drv.so安装到的路径在/usr/lib/modules/drivers下,而系统加载的时候会到 /usr/lib/X11/modules/drivers下找,因此,ln -sv /usr/lib/modules/drivers/fglrx_drv.so /usr/lib/X11/modules/drivers。
     然后,再次startx的时候又提示
     fglrx: Failed to load module "fglrxdrm" (module does not exist, 0)
     fglrx(0): Can't load Fire GL DRM library (libfglrxdrm.a)
     这个问题就我找出的原因来讲,是因为libfglrxdrm.so没有正确被安装。okay,下面将ati-driver-installer-7-11-x86.x86_64.run释放,
     sh ./ati-driver-installer-7-11-x86.x86_64.run --extract FGLRX(FGLRX是释放到的目录),然后将FGLRX/x710/usr/X11R6/lib/modules/linux /libfglrxdrm.so拷贝到/usr/lib/X11/modules/。(重新安装新的版本,需要复制其相对应的 libfglrxdrm.so)
  
     最后,重新startx。oh yeh! 成功了。显示速度比vesa提升了许多,看电影的效果也无比的爽。
  
     下面是测试的结果:
     linfves [ ~ ]$ fglrxinfo
     display: :0.0  screen: 0
     OpenGL vendor string: ATI Technologies Inc.
     OpenGL renderer string: ATI MOBILITY RADEON X700
     OpenGL version string: 2.1.7059 Release
  
     linfves [ ~ ]$ glxinfo
     name of display: :0.0
     display: :0  screen: 0
     direct rendering: Yes
     linfves [ ~ ]$ glxgears
     22119 frames in 5.0 seconds = 4401.098 FPS
     23936 frames in 5.0 seconds = 4787.192 FPS
     20499 frames in 5.0 seconds = 4099.662 FPS
     19337 frames in 5.0 seconds = 3867.234 FPS
     24021 frames in 5.0 seconds = 4804.158 FPS
     23415 frames in 5.0 seconds = 4682.890 FPS
     24460 frames in 5.0 seconds = 4889.698 FPS
     24883 frames in 5.0 seconds = 4976.455 FPS
     25033 frames in 5.0 seconds = 5006.559 FPS
     25840 frames in 5.0 seconds = 5167.855 FPS
     27047 frames in 5.0 seconds = 5409.371 FPS
     26984 frames in 5.0 seconds = 5396.764 FPS
     26188 frames in 5.0 seconds = 5237.388 FPS
     25376 frames in 5.0 seconds = 5074.944 FPS
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值