LinuxSir.cn,穿越时空的Linuxsir!

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

ATI驱动的一些问题+分析

[复制链接]
发表于 2009-11-29 15:49:01 | 显示全部楼层 |阅读模式
最近回归arch,在一台老本Thinkpad X31上安装arch 最新版本。
一切都很顺利,安装Xorg也一样,而且现在都不需要xorg.conf配置了,很方便.
X31 的显卡
VGA compatible controller: ATI Technologies Inc Radeon Mobility M6 LY

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
所以安装了xf86-video-ati  这个driver.
然后安装了xfce,不需要任何配置 startxce4 一切顺利。
但是,用着用着会发现,屏幕上会渲染不正常,如图, 如果开启了XFCE的阴影,透明等效果,渲染的垃圾就更多了,惨不忍睹。
这时glxgears 大概稳定在 900 frames。

既然显示不正常,就打算手动建立xorg.conf,看是不是配置的问题。
尝试了很多,什么AGPMode  AGPFastWrite  EnablePageFlip  ColorTiling  RenderAccel AccelMethod,  
结果发现这些参数的配置丝毫不影响它继续显示垃圾,对glxgears速度影响也不大。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

没有办法, 怎么配置都显示不正常,于是打算使用最基本的vesa驱动,试试看。
pacman -R xf86-video-ati 删除了ATI 开源驱动。
然后,直接启动xfce,查看Xorg.o.log已经使用的是vesa驱动了(xorg自动识别的,发现找不到ati驱动,就使用vesa驱动了)
然后发现显示没有垃圾了,渲染正常,更让我惊讶的是可以打开XFCE的阴影,透明效果,而且一点问题都没有。
再看glxinfo | grep direct
发现 direct rendering: Yes
再试glxgears, 但这时只有500多frames。
记得以前vesa的驱动只有基本的2D显示的。
满心欢喜,以为只是性能差点,可以用了, 结果发现退出X,回到终端后,发现屏幕完全乱了,终端下又显示不正常
(没有截图,看起来就像是分辨率变得很低,屏幕错位)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

然后,查wiki,发现一个KMS的东东,全称叫kernel mode-setting,这东西具体是干什么用的先不管它。
新装的ARCH系统会发现下面的现象:
1, 启动时,分辨率很低,但在load mode后,系统会自己把分辨率调整到最佳,而以前,都是靠在menu.lst中
加 vga=791这样的参数来设置控制台的分辨率的,现在不设也可以。
2, lsmod | grep radon 会发现系统加载了一个radon模块
根据WIKI里ATI 条目的说法, 这就是KMS搞的事情,ARCH KMS默认是开启的,而WIKI又说:
  For now, only Radeons up to R5xx (X1xxx) support KMS.
   那自然X31这个机器是不能支持KMS了(ATI M6还是R1XX)

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
于是,关掉KMS,这里有两种情况,我实验带来了不同的效果:
1,在rc.conf里MODULES里加入 "!radeon", 禁止加载这个模块,会发现:
  a,启动时和以前一样了,分辨率变低,可以通过vga=791这样的参数设置。
  b,用xf86-video-vesa启动XFCE,和之前一样,使用正常,glxgears性能差不多,450frames,而且,从X退出后,终端显示也正常。
  c,用xf86-video-ati驱动启动XFCE,发现不开XFCE的阴影,透明效果,使用完全正常,glxgears性能和vesa的差不多,500frames
      但如果开启XFCE的阴影,透明效果,马上花屏, 退出X后,终端显示正常。

2,按照WIKI的方法
   在menu.lst中,kernel行添加 "radeon.modeset=0" 或 "nomodeset"
   或者,在/etc/modprobe.d/modprobe.conf中加一行 "options radeon modeset=0"
   会发现:
   a,启动时,和上面的情况一样,需要vga=791这样的参数调整分辨率。
   b, 用xf86-video-vesa启动XFCE, 和上面的情况差不多,glxgears性能略有提升。
   c, 用xf86-video-ati驱动启动XFCE,情况和上面一样,但是,这时glxgears性能猛增,有1100frames

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

从上面可以看出,没试出完美的组合,而之前有在这台机器上用过xubuntu, 那时是完全正常的,用xf86-video-ati
驱动,XFCE的阴影,透明效果,使用完全正常,glxgears性能也有1100frames,Compiz Fusion也没有问题,但ubuntu
在老爷机上太慢了。
现在也还没试Compiz Fusion,不知那种情况效果最好。

总结一下,在最新的ARCH上,用xf86-video-ati驱动的比较老的ATI显卡估计都适用:
a,默认的xf86-video-vesa驱动,效果还可以,3D性能差点(没试Compiz能不能开起来),但要关闭KMS或者不加载radeon模块,否则,退出X后,终端就不正常了
b,用xf86-video-ati驱动+KMS,X里显示会不正常,渲染出很多垃圾。
c, xf86-video-ati驱动 + 不加载radeon模块, X里不开启XFCE的混合显示等效果就正常,开启就花屏,而且3D性能和xf86-video-vesa差不多。
d, xf86-video-ati驱动 +  加载radeon模块 +关闭KMS, X里不开启XFCE的混合显示等效果就正常,开启就花屏,3D性能最好。


或者大家谁有其他办法,有更好的效果?

发表于 2009-11-29 16:12:01 | 显示全部楼层
图呢????
我也是A卡(X1600),也是XFCE,也是xf86-video-ati,KMS没理他,没有使用xorg.conf。没什么问题啊。Compiz装过跑起来没问题,后来卸了。你Syu先吧
回复 支持 反对

使用道具 举报

发表于 2009-11-29 16:22:15 | 显示全部楼层
关键是显卡版本

新显卡不支持KMS,所以没有这个问题

现在KMS还不是很成熟,所以容易出现这样那样的问题
回复 支持 反对

使用道具 举报

发表于 2009-11-29 16:44:17 | 显示全部楼层
Post by hurricanek;2050889
关键是显卡版本

新显卡不支持KMS,所以没有这个问题

现在KMS还不是很成熟,所以容易出现这样那样的问题

您是说我的显卡比较新么?我的本子是3年前买的,显卡绝对不新了(V5200≈X1600),现在都是HD系列了......
回复 支持 反对

使用道具 举报

发表于 2009-11-29 16:51:38 | 显示全部楼层
那估计就是某些KMS效果可以……某些就不行了……

我R600的显卡尝试了N久无论用不用KMS开了Composite都有渲染错误……

最后我还是删了3d支持,改用KDE的XRENDER,一切都很好,透明也能出来,速度还挺快(只要不用动画,XRender的动画一向很慢,不过只要把动画时间改成即时,其实就是不显示动画,就不会有什么卡的问题)……
回复 支持 反对

使用道具 举报

发表于 2009-11-29 16:58:17 | 显示全部楼层
感觉驱动好烂, firefox 在有图的页面滚动就卡
x1250
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-29 17:01:34 | 显示全部楼层
目前不开KMS,不开任何效果,用起来还是不错的
回复 支持 反对

使用道具 举报

发表于 2009-11-29 17:02:43 | 显示全部楼层
Post by s63030;2050902
感觉驱动好烂, firefox 在有图的页面滚动就卡
x1250


firefox建议把平滑滚动关了,应该会好不少
回复 支持 反对

使用道具 举报

发表于 2009-11-29 17:21:38 | 显示全部楼层
Post by hurricanek;2050904
firefox建议把平滑滚动关了,应该会好不少


是好了,只是没了这效果有点不爽
回复 支持 反对

使用道具 举报

发表于 2009-11-29 20:19:42 | 显示全部楼层
我是thinkpad t42,r350的显卡。也会出现显示错误。更糟糕的是,在用firefox等各种浏览器的时候,也就是2d渲染比较多的时候,5~10分钟就会死机。而且是内核死机。我开启了magic key也就是alt+sysrq+REISUB。平时是有效的,但现在死机后也没反应了。以前不管怎么样,ctrl+alt+backspace都能搞定。现在直接内核挂掉了。难道Linux以后也要学windows引进蓝屏机制吗?残念……
回复 支持 反对

使用道具 举报

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

本版积分规则

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