LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2166|回复: 2

成功安装显卡驱动ati-driver-installer-7-11-x86.x86_64.run (分享)

[复制链接]
发表于 2007-12-5 18:55:47 | 显示全部楼层 |阅读模式
Dennis.Wang  (著)

今天真是个值得高兴的日子,因为困扰我很多天的显卡驱动问题终于得到了解决。
        先说一下目前自己的软件配置环境:
        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/ ... 要认真看看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/。
               
                最后,重新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 | grep direct
                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
发表于 2007-12-5 19:36:09 | 显示全部楼层
恭喜楼主,但说句不忠听的:如不想自找麻烦,还是远离 ATI 吧!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-5 20:13:11 | 显示全部楼层
Post by d00m3d;1792031
恭喜楼主,但说句不忠听的:如不想自找麻烦,还是远离 ATI 吧!


d00m3d兄,此话极为有理。这次是把NB上的ati终于搞定了,就PC上的nv来讲,真的是很easy,就好像win下安装驱动一样。不过舍不得花钱啊,呵呵!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表