用ati卡玩Linux就是他妈的折腾,之前用开源驱动搞定了基本显示问题,现在又想玩玩compiz fusion了,遭遇白屏,结果折腾了我2天,搜了一大堆资料,其间一度放弃,最后用官方显卡驱动搞定,写出来折腾过程,供被同样问题折腾得死去活来的弟兄们参考。
白屏问题
先是按archlinux的维基compiz fusion页面指示装好compiz fusion,结果启动compiz fusion icon时出现白屏,鼠标还能动,也能旋转立方体,就是屏幕一片白色,只能重启X。
运行
compiz --replace
会出现
compiz.real (core) - Fatal: GLX_EXT_texture_from_pixmap is missing
compiz.real (core) - Error: Failed to manage screen: 0
compiz.real (core) - Fatal: No manageable screens found on display :0.0
查了一大堆资料(英文也看了很多),到底开源驱动支不支持3D,修改了无数次xorg.conf。compiz fusion维基说是驱动问题,也可能是X server和Xgl。archlinux维基compzi问题页面也有,不过是官方驱动问题。依我判断,应该是显卡驱动问题吧,算了,就换ati的官方驱动,再不行我真的绝望了。
备份xorg.conf
因为ATI驱动设置程序不能自己生成xorg.conf,而是修改已存在的,如果你已经备份好一个有用的xorg.conf,可以跳过这部分。
如果你跟我一样已经把xorg.conf改到乱七八糟了,那么运行
Xorg -configure
重新生成一份(是“xorg.conf.new”文件),这个命令要在X未启动时运行的,而且装了ATI官方驱动后就生成不了(我就是这种情况,大概是卸载了libgl包后),所以要事先生成好(折腾到这回我不想去研究这个问题了)
当然也可以用
hwd -ax
这个命令在装了ATI官方驱动后也能生成xorg.conf,不过生成结果比较乱,不过能用。
喜欢那个随便,我喜欢前者多点。
安装官方驱动
在archlinux的维基ati页面有指示
- 先安装“catalyst”包
- 注销桌面,接下来的的到控制台搞吧,复制备份好的xorg
- 显卡驱动还没搞完呢,运行
- 差不多搞定了,刚才是手动临时加载fglrx模块,我们要让它启动的时候就加载,所以编辑“/etc/rc.conf”,找到一行
pacman -S catalyst
结果提示根据要卸载“libgl”包,这个是opengl库,好吧,就卸载,结果又一大堆依赖,mplayer,Xserver等等都依赖这个包,不可能把整个桌面都卸了吧,差了下加参数“d”可以忽略依赖
pacman -Rd libgl
搞定后重新安装“catalyst”包,opengl库会有ati的驱动提供,所以不必担心其它程序运行不了。根据依赖也会安装“catalyst-utils”这个包。
cp xorg.conf.new /etc/X11/xorg.conf
启动ati配置工具修改xorg.conf
aticonfig --initial
接着加载模块
modprobe fglrx
回到图形控制台(Ctrl+ALT+F7),重启一次(Ctrl+ALT+BACKSPACE),登录进去,运行compiz fusion icon,好了,这次不白屏了,有3D效果,接下在就是怎么配置Compiz问题。
glxinfo | grep direct
看看输出,如果不是出现
direct rendering: yes
那么继续编辑
gedit /etc/X11/xorg.conf
在末尾加上已么一段
Section "DRI"
Mode 0666
EndSection
再次注销桌面,再运行命令确认一次,这次应该输出Yes了吧
MODULES=()
把“fglrx”添加进去,改成
MODULES=(fglrx)
最好保存退出重启,大功告成!至于有没有其它问题,用一段时间再说。
最后秀一张抓图。
一点说明
有些文章说要在xorg.conf里加上这么一段
Section "Extensions"
Option "Composite" "Enable"
EndSection
因为官方驱动默认就是启用Composite的,所以就不用加了
一些牢骚
我的笔记本是戴尔的studio 15,显卡是ati有少少不爽,而且在linux下ati驱动的难搞程度早是名声在外的,只是当时看了价格和整体配置还是不错的,就出手了。
看看nvidia的linux驱动更新的多么勤力啊,而ati的更新却是慢吞吞的,ati的linux驱动很得罪linuxer,想想玩linux的都是什么人,是普通用户眼中的“高手”,基本上都是经常帮人装机了,惹毛Linuxer,以后帮人装机都推荐nvidia的,谁叫你ati的驱动这么折腾,到头来还是你的损失。


游客留言测试
再次测试
问一点,为什么我安装arch2009.02之后,安装官方驱动,提示没有找到,问被人,说的是移到AUR里了。是这样吗?那要怎么弄呢?
@ESC.Sky
呃,我懒得弄了,直接用开源驱动,你会从AUR安装软件吗?可以看LinuxToy上的这篇文章,先安装yaourt这个工具更好,像pacman一样使用。不过当前驱动据说还不支持最新内核,参考这篇文章折腾,祝你好运。
呃,看起来好麻烦阿…
yaourt我弄好了,下载驱动应该没有问题。不过我记得好像是安装完驱动就可以了,怎么你这篇文章中还弄了xorg阿?
关于内核支持,我的确挺怕的,要是出点问题,要弄好久去了….
到ati官网下载那个run文件的驱动行不? 和aur的有什么区别?
PS:ATI的卡就是不爽,以后一定用N卡!
@ESC.sky
或许我情况比较特殊,需要重新生成xorg。
aur安装时会自己去官万下载那个run文件的。aur的PKGBUILD文件看起来会自己打2.6.30的补丁。