+ -
当前位置:首页 → 问答吧 → ATI驱动的一些问题+分析

ATI驱动的一些问题+分析

时间:2009-11-29

来源:互联网

最近回归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性能最好。


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

作者: royllik   发布时间: 2009-11-29

图呢????
我也是A卡(X1600),也是XFCE,也是xf86-video-ati,KMS没理他,没有使用xorg.conf。没什么问题啊。Compiz装过跑起来没问题,后来卸了。你Syu先吧

作者: 糊涂   发布时间: 2009-11-29

关键是显卡版本

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

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

作者: hurricanek   发布时间: 2009-11-29

引用:
作者: hurricanek
关键是显卡版本

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

现在KMS还不是很成熟,所以容易出现这样那样的问题
您是说我的显卡比较新么?我的本子是3年前买的,显卡绝对不新了(V5200≈X1600),现在都是HD系列了......

作者: 糊涂   发布时间: 2009-11-29

那估计就是某些KMS效果可以……某些就不行了……

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

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

作者: hurricanek   发布时间: 2009-11-29

感觉驱动好烂, firefox 在有图的页面滚动就卡
x1250

作者: s63030   发布时间: 2009-11-29

目前不开KMS,不开任何效果,用起来还是不错的

作者: royllik   发布时间: 2009-11-29

引用:
作者: s63030
感觉驱动好烂, firefox 在有图的页面滚动就卡
x1250
firefox建议把平滑滚动关了,应该会好不少

作者: hurricanek   发布时间: 2009-11-29

引用:
作者: hurricanek
firefox建议把平滑滚动关了,应该会好不少
是好了,只是没了这效果有点不爽

作者: s63030   发布时间: 2009-11-29

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

作者: playfish   发布时间: 2009-11-30

不要瞎猜,up to R500表示最高只能支持到R500,老的显卡都是支持的。R600以上的支持要等到2.6.32内核

你的显卡当然也不例外。明显的例子是你控制台分辨率不需要任何参数就可以上到最佳。

屏幕渲染出现垃圾是驱动问题,我家里的X300会出现文字有部分乱码的情况,不过可以接受。但是笔记本上的X700却没这个问题。耐心等更新就好了。选random驱动是比较好的,vesa是不支持宽屏分辨率的。

还是继续试试看更改参数。尝试更改xorg.conf里面AccelMethod为exa(应该默认就是这个的)。xorg.conf里面自定义的参数不要多了,默认就比较好了。可以man random

还有查看显卡是否正常驱动了不能只是看direct rendering: Yes,可能是软件加速而非硬件。glxinfo | grep OpenGL可以看

开启KMS比较好,因为目前驱动开启了KMS的3D支持,不开启反而不正常,等稳定了就可以不开启KMS也正常了

作者: jarryson   发布时间: 2009-11-30

我觉得你的显卡可以开启compiz,说不定效果比xfwm4带的简单效果还好。因为那些效果是通过CPU计算的,还不如直接是用compiz。

作者: jarryson   发布时间: 2009-11-30

楼上说的对,比R500显卡老的都支持KMS,我搞错了,
现在的问题是,开启KMS,不开任何效果时渲染会有问题,至于compiz,还没有去尝试,有时间再试一下,其实只是想要一个正常的使用效果,那些花哨的特效,不要也罢。
现在,关闭了KMS,不开任何效果,渲染起来最好,也许等稳定了,就OK了把。

direct rendering: Yes 不就是开起来 3D加速吗? 我一直是这样认为的,因为很久之前一个垃圾的SIS卡,这个从来开不起来,也没3D加速。

xfwm4带的简单效果也不是完全通过CPU渲染吧,否则什么显卡都可以开启了。

作者: royllik   发布时间: 2009-12-01

ubuntu下一切正常?嗯,两个发行版带的x-server、mesa、radeon驱动的版本都不同,其中任何一个都可能导致渲染出错,尤其是x-server和radeon驱动。要不怕麻烦,可以尝试编译和ubuntu版本相同的xorg、radeon驱动。

或者编译radeon的git版,看看git里问题是否解决。不过别抱太大希望,从日志看,最近radeon-git的更新基本集中在R600/R700上。

引用:
作者: playfish
我是thinkpad t42,r350的显卡。也会出现显示错误。更糟糕的是,在用firefox等各种浏览器的时候,也就是2d渲染比较多的时候,5~10分钟就会死机。而且是内核死机。我开启了magic key也就是alt+sysrq+REISUB。平时是有效的,但现在死机后也没反应了。以前不管怎么样,ctrl+alt+backspace都能搞定。现在直接内核挂掉了。难道Linux以后也要学windows引进蓝屏机制吗?残念……
内核崩溃几率变大、X无法启动、XVideo性能下降……都是KMS引入后附带的可能的负面效果,想系统稳定性好点,只有暂时关闭KMS。

作者: zwgun   发布时间: 2009-12-01

intel的KMS貌似现在比较稳定了,R600的KMS跟3D在Fedora12里边已经可用了,arch要等2.6.32(反正快出了,等吧,我不想自己折腾git的mesa了)

btw:周末想入块9600GT,逃避A卡的驱动了,A卡是Arch每次升级xorg,kernel必悲剧啊

作者: yafeng   发布时间: 2009-12-01

引用:
作者: yafeng
intel的KMS貌似现在比较稳定了,R600的KMS跟3D在Fedora12里边已经可用了,arch要等2.6.32(反正快出了,等吧,我不想自己折腾git的mesa了)

btw:周末想入块9600GT,逃避A卡的驱动了,A卡是Arch每次升级xorg,kernel必悲剧啊
我觉得ATI,intel现在跟Xorg, kernel跟得还是比较紧的,反倒是NV将来很不好说~
再熬一熬吧,A卡开源驱动的春天就快来了~

作者: Alerander   发布时间: 2009-12-01

引用:
作者: Alerander
我觉得ATI,intel现在跟Xorg, kernel跟得还是比较紧的,反倒是NV将来很不好说~
再熬一熬吧,A卡开源驱动的春天就快来了~
嘻嘻,N卡是我老早就准备买的,现在我的笔记本:945GME/915GM
台式机A780G(HD3200)
然后再加一张N卡,三种卡就全了,想折腾哪个折腾那个lol~

作者: yafeng   发布时间: 2009-12-01

引用:
作者: yafeng
btw:周末想入块9600GT,逃避A卡的驱动了,A卡是Arch每次升级xorg,kernel必悲剧啊
咋悲剧了。。也不用编译内核模块,驱动和内核无关,这几次杯具不过是内核引入了KMS。开源驱动没啥杯具的,倒是每次内核升级A卡闭源驱动杯具一下,Xorg升级后A卡和N卡都杯具一下

引用:
作者: zwgun
内核崩溃几率变大、X无法启动、XVideo性能下降……都是KMS引入后附带的可能的负面效果,想系统稳定性好点,只有暂时关闭KMS。
前两个貌似都是闭源驱动造成的比较多

引用:
作者: royllik
direct rendering: Yes 不就是开起来 3D加速吗? 我一直是这样认为的,因为很久之前一个垃圾的SIS卡,这个从来开不起来,也没3D加速。

xfwm4带的简单效果也不是完全通过CPU渲染吧,否则什么显卡都可以开启了。
OpenGL renderer string如果显示软件加速,就没正常驱动。

xfwm4或者其他简单的透明阴影软件确实什么显卡都可以开启。连sis的显卡没正常驱动都可以

作者: jarryson   发布时间: 2009-12-02

引用:
作者: jarryson
开源驱动没啥杯具的,倒是每次内核升级A卡闭源驱动杯具一下,Xorg升级后A卡和N卡都杯具一下
Xorg升级后N卡的官方驱动还是跟得很快的,几天就有了。ATI的却不知几时有。

ATI的开源驱动的感觉还是不少的,比如:高清硬解不知得等多久,3D性能、稳定上不是很好,电源管理也不行。不过我个人觉得开源驱动真正的问题,还是开发者太少。radeon的活跃开发者一个巴掌就数得过来,这么几个人维护着从R100~R700全系列驱动的开发。

引用:
前两个貌似都是闭源驱动造成的比较多
我这是在说没有引入KMS前的开源驱动和引入KMS后的开源驱动,archwiki上不写上一堆开启KMS可能导致的问题吗?
http://wiki.archlinux.org/index.php/...s.27_solutions

要和catalyst比嘛,catalyst导致内核崩溃的情况我没遇到,也没怎么听说。X崩溃倒的情况看过的倒不少,自己也遇过。catalyst导致的崩溃能通过openssh干掉X解除,magic key也可以。而KMS导致的崩溃就不知是否行得通了,前面不是有兄弟说magic key无效了吗?

X不能启动的问题和catalyst关系就不大了,只要是支持的内核、xorg版本,X不能启动的原因就得从别的方面考虑了,再怎么讲catalyst也是经过ATI开发者测试后才发布的。

作者: zwgun   发布时间: 2009-12-02

也有道理。。一般认为键盘无相应就死机了,可是内核并没崩溃,闭源驱动的时候可是碰到不少。都直接强行关机。开源驱动造成死机还真的很少,当初更换开源驱动就为了X稳定一点

特性确实少

作者: jarryson   发布时间: 2009-12-02

catalyst跟不上主要原因是ati只官方支持Ubuntu

什么时候Ubuntu的Xorg更新了(包括未发布的版本)

什么时候ATI显卡驱动就跟上了……

作者: hurricanek   发布时间: 2009-12-02

没错.......我说的每次升级kernel xorg都悲剧就是指的catalyst,当然,开源驱动radeon质量还是可以的,但是a卡现在缺少我比较感兴趣的功能,比如vdpau加速,cuda,physx,opencl,这些方面amd都跟进的很慢,stream推广不利,opencl虽然amd积极支持,但貌似进度也比nv慢,在nv用户可以用gpu压片,用cuda,vdpau加速高清解码的今天,a卡的一切类似技术都还是镜中月,当然,amd的显卡的硬件不错,但软件配合实在是太慢。

作者: yafeng   发布时间: 2009-12-02

引用:
作者: yafeng
没错.......我说的每次升级kernel xorg都悲剧就是指的catalyst,当然,开源驱动radeon质量还是可以的,但是a卡现在缺少我比较感兴趣的功能,比如vdpau加速,cuda,physx,opencl,这些方面amd都跟进的很慢,stream推广不利,opencl虽然amd积极支持,但貌似进度也比nv慢,在nv用户可以用gpu压片,用cuda,vdpau加速高清解码的今天,a卡的一切类似技术都还是镜中月,当然,amd的显卡的硬件不错,但软件配合实在是太慢。
高清加速可以用了
http://www.phoronix.com/vr.php?view=14340

作者: socket9999   发布时间: 2009-12-02

引用:
作者: socket9999
高清加速可以用了
http://www.phoronix.com/vr.php?view=14340
是能用了,但是UVD呢?为啥只出UVD2的?还有,Catalyst9.10/9.11能在Arch现在的xServer1.7下装么.......so.....

作者: yafeng   发布时间: 2009-12-02

引用:
作者: jarryson
咋悲剧了。。也不用编译内核模块,驱动和内核无关,这几次杯具不过是内核引入了KMS。开源驱动没啥杯具的,倒是每次内核升级A卡闭源驱动杯具一下,Xorg升级后A卡和N卡都杯具一下
这就是跟进速度的问题了。。。。就如Xorg1.7出来时,所有的闭源驱动都挂了,NV的17x,18x,19x没几天就跟进了,ATI的现在还用着开源驱动呢。

作者: yafeng   发布时间: 2009-12-02

引用:
作者: yafeng
是能用了,但是UVD呢?为啥只出UVD2的?还有,Catalyst9.10/9.11能在Arch现在的xServer1.7下装么.......so.....
等Gallium后端的vaapi吧~
话说新的R600开源驱动进度貌似还不如nouveau快啊

作者: socket9999   发布时间: 2009-12-02

引用:
作者: socket9999
等Gallium后端的vaapi吧~
话说新的R600开源驱动进度貌似还不如nouveau快啊
不是的,R600的开源驱动的3D加速已经基本可用了,nouveau的3D加速差得远呢,只能跑个glxgears

作者: yafeng   发布时间: 2009-12-02

引用:
作者: yafeng
不是的,R600的开源驱动的3D加速已经基本可用了,nouveau的3D加速差得远呢,只能跑个glxgears
我是说新的Gallium3D构架。Fedora12带的那个r600不是Gallium的。

作者: socket9999   发布时间: 2009-12-02

本以为关了KMS,用radeon驱动就没问题,结果现在最常用的GVIM却渲染不正常,VESA驱动还是最正常



上传的图像
Screenshot-3.png (60.8 KB, 61 次查看)

作者: royllik   发布时间: 2009-12-03

推荐ls跟进mesa和ddx驱动的更新,尝试最新的驱动。

再不行就去报个bug。渲染错误的问题,我家里x300也遇到了。不过没这么严重就是了

作者: jarryson   发布时间: 2009-12-03

我的x550有点慢啊。

作者: 难免有错   发布时间: 2009-12-06

实际上,我为了能够用上3D加速,体验体验特效,一直用的是闭源驱动catalyst。因此造成不能升级Xorg1.7,真是郁闷啊。。。

使用catalyst,在升级kernel26的时候,确实容易遇到重启后无法进入xorg的问题。后来我觉得将catalyst分开成两个包实在是太恶心了,于是就将其合并为一个包catalyst-total,至今升级依然很轻送,没有再碰见过进不去xorg的情况了

作者: dickeny   发布时间: 2009-12-07

究竟升级xorg之后有什么好的办法解决catalyst的问题?
重装catalyst?
直接挂了,等ati驱动更新才能升级xorg?

作者: beanya   发布时间: 2009-12-08

只能给xorg降级,然后锁定版本,我就是这么做的
重装catalyst也没用,不支持新xorg

作者: CnkknD   发布时间: 2009-12-08

入手9800GT了,告别ATI集显HD3200

作者: yafeng   发布时间: 2009-12-08

引用:
作者: beanya
究竟升级xorg之后有什么好的办法解决catalyst的问题?
重装catalyst?
直接挂了,等ati驱动更新才能升级xorg?
目前AUR上的catalyst都是有着"xorg <1.7"的依赖的。这也是实际测试的结果。无奈啊

作者: dickeny   发布时间: 2009-12-08

已经悲剧了
升级了xorg,catalyst挂了,只能用回xf86-video-ati
然后
beanya@myhost ~ $ glxgears
1933 frames in 5.0 seconds = 386.578 FPS
1877 frames in 5.0 seconds = 375.270 FPS
2096 frames in 5.0 seconds = 419.120 FPS
惨!!!

作者: beanya   发布时间: 2009-12-09

我的T41(7500显卡)最近也遇到了这个问题,我用的是fvwm桌面,特效等的影响倒是没有,就是启动一段时间后一些字显示就出问题,有时还来点花屏,切换到kdemod中问题一样存在,看了楼主的帖才知道是KMS的问题,用楼主的方法试了一下。
a用xf86-video-vesa驱动,不配置xorg.conf,问题解决了,但是glxgrears输出只有可怜的一百多,不爽
b用xf86-video-ati+禁止KMS,不配置xorg.conf,问题也解决了,但是发现我菜单和程序缩略图的文字都显示不出来,glxgrears输出六百多

最后尝试了自己配置xorg.conf,先用X -configure生成一个默认的xorg.conf,从thinkwiki网站上下了一段ATI Mobility Radeon 7500显卡驱动设置配置,网址
http://www.thinkwiki.org/wiki/ATI_Mobility_Radeon_7500
终于把所有问题解决了,glxgears输出能到1200。以下是测试结果
我的xorg.conf中 "Device"段配置:
----------------------------------------------------------------------
Section "Device"
Driver "radeon"
VendorName "ATI Technologies Inc"
BoardName "Radeon Mobility M7 LW [Radeon Mobility 7500]"
BusID "PCI:1:0:0"
Option "MergedFB" "off"
Option "AccelMethod" "EXA" #(1)解决我的菜单和程序缩略图文字无法显示问题
Option "EXANoComposite" "false" #(2)glxgears输出增加了大概100
Option "FBTexPercent" "50"
Option "MigrationHeuristic" "greedy"
Option "DRI" "true"
Option "GARTSize" "256"
Option "AGPMode" "4" #glxgears(4)输出增加了大概200
Option "Colortiling" "On" #(3)glxgears输出增加了大概100
EndSection
#此处省略了screen段配置
Section "Extensions"
Option "Composite" "Enable"
EndSection

Section "DRI"
Mode 0666
EndSection
--------------------------------------------------------------------------------
注释是测试结果,编号是添加顺序,虽然archlinux的ATI驱动安装配置wiki中说有几项是默认开启的,但是自己写到xorg.conf中的效果还是不一样。
测试都是在fvwm桌面下进行,只进行了文字显示和glxgears测试,至于其他的渲染效果并没有测试。

作者: HAWKSS   发布时间: 2009-12-11

ls的因为你的显卡比较老,默认开启的是XXA,而不是EXA。但是R300以上的都是默认EXA,这个可以从xorg.0.log里面看到。

作者: jarryson   发布时间: 2009-12-11

$ glxgears
927 frames in 5.0 seconds = 185.377 FPS
898 frames in 5.0 seconds = 179.505 FPS

x1250 ...

作者: s63030   发布时间: 2009-12-11

热门下载

更多