分页: 1 / 1

[问题] T42本本ATI显卡硬件加速问题,已搜过论坛,仍无法解决。

发表于 : 2006-06-29 21:47
chaoloo
参考了这篇文章:
[原创]在Thinkpad上安装Ubuntu笔记
viewtopic.php?t=7356
显卡驱动

虽然Ubuntu装好后ATI的显卡已经可以正常工作了,但由于用的是xorg-driver-ati作为驱动,没有3D加速,让人十分不爽。源里的 linux-restricted-modules里有fglrx模块以及xorg-driver-fglrx的驱动,但因为版本过老有Bug,如果用了的话机器会在挂起到内存(待机)唤醒时死住,因此我压根就没安它,而是用的官方的8.20.8版驱动。

在安装ATI官方最新驱动前,先要确定你已经删除了和已安装内核对应的linux-restricted-modules以及xorg-driver-fglrx,并重新配置X使其使用ati或者vesa作为显卡驱动。
代码:
sudo apt-get remove xorg-driver-fglrx
sudo apt-get remove fglrx-control
sudo apt-get remove linux-restricted-modules-$(uname -r)
sudo dpkg-reconfigure xserver-xorg


然后 从ATI官方网站上下载了最新的驱动安装脚本,为了以便于以后的管理,不直接运行脚本而是用它生成一些deb包再安装。
代码:
sudo apt-get install gcc-3.4 module-assistant build-essential fakeroot dh-make debconf libstdc++5 gcc-3.3-base
sudo sh ./ati-driver-installer-8.20.8-i386.run --buildpkg Ubuntu/breezy
sudo dpkg -i xorg-driver-fglrx_8.20.8-1_i386.deb
sudo dpkg -i fglrx-control_8.20.8-1_i386.deb
sudo dpkg -i fglrx-kernel-source_8.20.8-1_i386.deb

然后编译驱动模块并安装
代码:
sudo module-assistant prepare
sudo module-assistant update
sudo module-assistant a-i fglrx


更新xorg.conf
代码:
sudo aticonfig --initial


注意,aticonfig没有在xorg.conf中所建立的monitor部分加入Option "DPMS"从而导致Fn+F3关闭屏幕时LCD的背光不关闭,因此要修正之。
我的显卡是9600,下载的最新驱动是ati-driver-installer-8.26.18-x86.run
在编译模块的第三步出错,就是这一步:
sudo module-assistant a-i fglrx

我把fglrx-kernel-source.buildlog.2.6.15-25-686.1151587302文件贴到下面:
dh_testroot
rm -f configure-stamp
rm -f fglrx.ko fglrx.mod.c *.o libfglrx_ip.a
rm -f .version .*.o.flags .*.o.d .*.o.cmd .*.ko.cmd
rm -rf .tmp_versions
rm -rf patch
dh_clean
rm /usr/src/modules/fglrx/debian/control
rm /usr/src/modules/fglrx/debian/dirs
if [ -f /usr/src/modules/fglrx/debian/control.template ]; then \
cat /usr/src/modules/fglrx/debian/control.template > /usr/src/modules/fglrx/debian/control; \
fi
if [ -f /usr/src/modules/fglrx/debian/postinst ]; then \
mv /usr/src/modules/fglrx/debian/postinst /usr/src/modules/fglrx/debian/fglrx-kernel-2.6.15-25-686.postinst; \
fi
dh_testdir
touch configure-stamp
dh_testdir
/usr/bin/make -C /usr/src/linux SUBDIRS=/usr/src/modules/fglrx modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.15-25-686'
CC [M] /usr/src/modules/fglrx/firegl_public.o
LD [M] /usr/src/modules/fglrx/fglrx.o
Building modules, stage 2.
MODPOST
Warning: could not find /usr/src/modules/fglrx/.libfglrx_ip.a.GCC4.cmd for /usr/src/modules/fglrx/libfglrx_ip.a.GCC4
CC /usr/src/modules/fglrx/fglrx.mod.o
LD [M] /usr/src/modules/fglrx/fglrx.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.15-25-686'
dh_testdir
dh_testroot
dh_clean -k
rm -f /usr/src/modules/fglrx/debian/control /usr/src/modules/fglrx/debian/dirs
sed -e 's/#KVERS#/2.6.15-25-686/g' \
-e 's/#VERSION#/8.26.18-1/g' debian/control.template > /usr/src/modules/fglrx/debian/control
sed -e 's/#KVERS#/2.6.15-25-686/g' debian/dirs.template > /usr/src/modules/fglrx/debian/dirs
dh_installdirs
dh_install fglrx.ko lib/modules/2.6.15-25-686/misc
dh_testdir
dh_testroot
dh_installdocs
dh_installmodules
dh_link
dh_strip
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol -- -v8.26.18-1+2.6.15-25.43 -VXSERVER=xorg
dh_md5sums
dh_builddeb --destdir=/usr/src
dpkg-deb:正在新建软件包“fglrx-kernel-2.6.15-25-686”,包文件为“/usr/src/fglrx-kernel-2.6.15-25-686_8.26.18-1+2.6.15-25.43_i386.deb”。
dh_testroot
rm -f configure-stamp
rm -f fglrx.ko fglrx.mod.c *.o libfglrx_ip.a
rm -f .version .*.o.flags .*.o.d .*.o.cmd .*.ko.cmd
rm -rf .tmp_versions
rm -rf patch
dh_clean
rm /usr/src/modules/fglrx/debian/control
rm /usr/src/modules/fglrx/debian/dirs
Build time: 8 seconds

请高手解答,谢谢。

发表于 : 2006-06-30 13:28
Aiphee
如果是dapper6.06的话, wiki里面有一篇介绍a卡dapper下安装的文章:

sudo apt-get update
sudo apt-get install linux-restricted-modules-$(uname -r)
sudo apt-get install xorg-driver-fglrx
sudo aticonfig --initial
sudo aticonfig --overlay-type=Xv
重启系统 ...
...

发表于 : 2006-06-30 18:11
chaoloo
谢谢2楼的仁兄先~~

这个问题已经解决,解决的关键似乎是我在卸载旧驱动之后重启了计算机,呵呵~~
我是用下面的命令卸载的:
sudo apt-get remove xorg-driver-fglrx
sudo apt-get remove fglrx-control
sudo apt-get remove linux-restricted-modules-$(uname -r)
sudo dpkg-reconfigure xserver-xorg

在之前的n次尝试中,我都是在卸载之后直接再次安装驱动,而没有重启X,2楼仁兄的那篇帖子我也搜到了,只是没有在卸载之后重启,所以当时安装之后也没有硬件加速。

我用上面的命令卸载机器上的驱动并重启之后,分辨率降为了640×480,然后接着用2楼的方法安装驱动:
sudo apt-get update
sudo apt-get install linux-restricted-modules-$(uname -r)
sudo apt-get install xorg-driver-fglrx
sudo aticonfig --initial
sudo aticonfig --overlay-type=Xv
再重启,硬件加速就有了,呵呵~~

另外,我在帖子里提到的那个编译错误可能是26.18版驱动的bug,我用google搜到了几个类似的帖子,都没有答案,呵呵~~

顺便给我的glxgear贞数(T42,镭9600 ^_^):
$ glxgears -printfps
10784 frames in 5.0 seconds = 2156.722 FPS
10481 frames in 5.0 seconds = 2096.197 FPS
10951 frames in 5.0 seconds = 2190.086 FPS
10951 frames in 5.0 seconds = 2190.096 FPS