archlinux装上ati官方驱动

用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页面有指示

  1. 先安装“catalyst”包
  2. pacman -S catalyst

    结果提示根据要卸载“libgl”包,这个是opengl库,好吧,就卸载,结果又一大堆依赖,mplayer,Xserver等等都依赖这个包,不可能把整个桌面都卸了吧,差了下加参数“d”可以忽略依赖

    pacman -Rd libgl

    搞定后重新安装“catalyst”包,opengl库会有ati的驱动提供,所以不必担心其它程序运行不了。根据依赖也会安装“catalyst-utils”这个包。

  3. 注销桌面,接下来的的到控制台搞吧,复制备份好的xorg
  4. 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问题。

  5. 显卡驱动还没搞完呢,运行
  6. glxinfo | grep direct

    看看输出,如果不是出现

    direct rendering: yes

    那么继续编辑

    gedit /etc/X11/xorg.conf

    在末尾加上已么一段

    Section "DRI"
    Mode 0666
    EndSection

    再次注销桌面,再运行命令确认一次,这次应该输出Yes了吧

  7. 差不多搞定了,刚才是手动临时加载fglrx模块,我们要让它启动的时候就加载,所以编辑“/etc/rc.conf”,找到一行
  8. MODULES=()

    把“fglrx”添加进去,改成

    MODULES=(fglrx)

    最好保存退出重启,大功告成!至于有没有其它问题,用一段时间再说。

最后秀一张抓图。

archlinux_ati_proprietary_driver
立方体特效

一点说明

有些文章说要在xorg.conf里加上这么一段

Section "Extensions"
Option "Composite" "Enable"
EndSection

因为官方驱动默认就是启用Composite的,所以就不用加了

一些牢骚

我的笔记本是戴尔的studio 15,显卡是ati有少少不爽,而且在linux下ati驱动的难搞程度早是名声在外的,只是当时看了价格和整体配置还是不错的,就出手了。

看看nvidia的linux驱动更新的多么勤力啊,而ati的更新却是慢吞吞的,ati的linux驱动很得罪linuxer,想想玩linux的都是什么人,是普通用户眼中的“高手”,基本上都是经常帮人装机了,惹毛Linuxer,以后帮人装机都推荐nvidia的,谁叫你ati的驱动这么折腾,到头来还是你的损失。

This entry was posted in 程序配置 and tagged . Bookmark the permalink.

6 Responses to archlinux装上ati官方驱动

  1. test says:

    游客留言测试

    回复回复
  2. test2 says:

    再次测试

    回复回复
  3. ESC.Sky says:

    问一点,为什么我安装arch2009.02之后,安装官方驱动,提示没有找到,问被人,说的是移到AUR里了。是这样吗?那要怎么弄呢?

    回复回复
  4. muzuiget says:

    @ESC.Sky
    呃,我懒得弄了,直接用开源驱动,你会从AUR安装软件吗?可以看LinuxToy上的这篇文章,先安装yaourt这个工具更好,像pacman一样使用。不过当前驱动据说还不支持最新内核,参考这篇文章折腾,祝你好运。

    回复回复
  5. ESC.sky says:

    呃,看起来好麻烦阿…
    yaourt我弄好了,下载驱动应该没有问题。不过我记得好像是安装完驱动就可以了,怎么你这篇文章中还弄了xorg阿?
    关于内核支持,我的确挺怕的,要是出点问题,要弄好久去了….
    到ati官网下载那个run文件的驱动行不? 和aur的有什么区别?
    PS:ATI的卡就是不爽,以后一定用N卡!

    回复回复
  6. muzuiget says:

    @ESC.sky
    或许我情况比较特殊,需要重新生成xorg。
    aur安装时会自己去官万下载那个run文件的。aur的PKGBUILD文件看起来会自己打2.6.30的补丁。

    回复回复

发表评论

您的电子邮箱不会被公开。 标记为 * 的区域必须填写

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">