LinuxSir.cn,穿越时空的Linuxsir!

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

升级内核后,DRI的一个问题

[复制链接]
发表于 2009-3-28 13:17:39 | 显示全部楼层 |阅读模式
最近把内核升级到了2.6.29,出现了一个DRI打不开的状况。我用的是A卡,开源驱动
我用以下命令检查direct rendering的情况是好的,但是fps只有70多,正常的话应该在800左右。

  1. #glxinfo |grep dir
  2. direct rendering: Yes
复制代码


查看Xorg的log

  1. #grep -e EE -e WW /var/log/Xorg.0.log
  2. (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
  3. (II) Loading extension MIT-SCREEN-SAVER
  4. (WW) RADEON(0): [i][b]Direct rendering disabled[/b][/i]
复制代码


查看dmesg 中关于drm的情况,发现一个错误

  1. #dmesg |grep drm
  2. [  126.966244] [drm] Initialized drm 1.1.0 20060810
  3. [  127.025720] [drm] Initialized radeon 1.29.0 20080613 on minor 0
  4. [  127.025941] [drm] Used old pci detect: framebuffer loaded
  5. [i][b][  127.456093] [drm:radeon_do_init_cp] *ERROR* could not find ioremap agp regions![/b][/i]
复制代码

升级内核后,我重新emerge 了mesa x11-drm xorg-server libdrm xf86-video-ati。问题依旧

内核配置情况应该不会出错,关于dri的配置一直没有改变过。

  1. # grep -e AGP -e DRM .config
  2. CONFIG_AGP=m
  3. # CONFIG_AGP_ALI is not set
  4. # CONFIG_AGP_ATI is not set
  5. # CONFIG_AGP_AMD is not set
  6. # CONFIG_AGP_AMD64 is not set
  7. CONFIG_AGP_INTEL=m
  8. # CONFIG_AGP_NVIDIA is not set
  9. # CONFIG_AGP_SIS is not set
  10. # CONFIG_AGP_SWORKS is not set
  11. # CONFIG_AGP_VIA is not set
  12. # CONFIG_AGP_EFFICEON is not set
  13. CONFIG_DRM=m
  14. # CONFIG_DRM_TDFX is not set
  15. # CONFIG_DRM_R128 is not set
  16. CONFIG_DRM_RADEON=m
  17. # CONFIG_DRM_I810 is not set
  18. # CONFIG_DRM_I830 is not set
  19. # CONFIG_DRM_I915 is not set
  20. # CONFIG_DRM_MGA is not set
  21. # CONFIG_DRM_SIS is not set
  22. # CONFIG_DRM_VIA is not set
  23. # CONFIG_DRM_SAVAGE is not set
复制代码
 楼主| 发表于 2009-4-2 19:47:03 | 显示全部楼层
搜索了好一阵子,发现了类似我的问题。不过我不知道怎么解决。各位老鸟帮帮看看,给我点意见吧。

http://bugzilla.kernel.org/show_bug.cgi?id=12441
回复 支持 反对

使用道具 举报

发表于 2009-4-6 11:49:50 | 显示全部楼层
呵呵,期待有人解决,我的FPS值也降到了90多,不过我没有升级内核,而是升级了xorg-server到1.5后出现这个问题的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-6 12:27:42 | 显示全部楼层
Post by kelvinxyz;1970420
呵呵,期待有人解决,我的FPS值也降到了90多,不过我没有升级内核,而是升级了xorg-server到1.5后出现这个问题的。

你也是A卡吗?现在已经有了一个补丁据说能修复此问题。不过我没有打这个补丁(试着用patch命令打了,不过提示出错,也不知道怎么打),而是选择了降级到最近的稳定版的内核。现在DRI的问题解决了 dmesg |grep drm也没有错误提示了。今天升级了2.6.29.1的内核,DRI的问题依旧用dmesg |grep drm命令查看依旧提示
[PHP]
[drm:radeon_do_init_cp] *ERROR* could not find ioremap agp regions!
[/PHP]

我已经向gentoo报告了一个bug,不过关注的人很少啊。
https://bugs.gentoo.org/show_bug.cgi?id=264599
回复 支持 反对

使用道具 举报

发表于 2009-4-6 13:06:34 | 显示全部楼层
我的是Intel的集成显卡:
  1. 00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)
  2. 00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)
复制代码
我的也提示错误:
  1. [    0.156842] [drm] Initialized drm 1.1.0 20060810
  2. [    0.157266] [drm] Initialized i915 1.6.0 20060119 on minor 0
  3. [   55.613145] [drm:i915_getparam] *ERROR* Unknown parameter 5
  4. [   56.558385] [drm:i915_getparam] *ERROR* Unknown parameter 5
复制代码
Xorg.0.log中也提示一些错误:
  1. (EE) Failed to load module "type1" (module does not exist, 0)
  2. (EE) Failed to load module "freetype" (module does not exist, 0)
  3. (EE) config/hal: NewInputDeviceRequest failed
  4. (EE) config/hal: NewInputDeviceRequest failed
  5. (EE) config/hal: NewInputDeviceRequest failed
  6. (EE) intel(0): Mode 1280x1024 does not fit virtual size 1024x1024 - internal error
  7. (EE) intel(0): Mode 1280x1024 does not fit virtual size 1024x1024 - internal error
  8. (EE) intel(0): Mode 1280x1024 does not fit virtual size 1024x1024 - internal error
复制代码
不过基本不影响使用,刚才在网上找了半天也没找到解决的方法,先凑合着用吧。

呵呵,对了,sheep204,你提交的那个bug网页好像打不开。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-6 15:39:44 | 显示全部楼层
Post by kelvinxyz;1970459
我的是Intel的集成显卡:
  1. 00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)
  2. 00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)
复制代码

我的也提示错误:
  1. [    0.156842] [drm] Initialized drm 1.1.0 20060810
  2. [    0.157266] [drm] Initialized i915 1.6.0 20060119 on minor 0
  3. [   55.613145] [drm:i915_getparam] *ERROR* Unknown parameter 5
  4. [   56.558385] [drm:i915_getparam] *ERROR* Unknown parameter 5
复制代码

Xorg.0.log中也提示一些错误:
  1. (EE) Failed to load module "type1" (module does not exist, 0)
  2. (EE) Failed to load module "freetype" (module does not exist, 0)
  3. (EE) config/hal: NewInputDeviceRequest failed
  4. (EE) config/hal: NewInputDeviceRequest failed
  5. (EE) config/hal: NewInputDeviceRequest failed
  6. (EE) intel(0): Mode 1280x1024 does not fit virtual size 1024x1024 - internal error
  7. (EE) intel(0): Mode 1280x1024 does not fit virtual size 1024x1024 - internal error
  8. (EE) intel(0): Mode 1280x1024 does not fit virtual size 1024x1024 - internal error
复制代码

不过基本不影响使用,刚才在网上找了半天也没找到解决的方法,先凑合着用吧。

呵呵,对了,sheep204,你提交的那个bug网页好像打不开。



Maybe this will help you.
http://forums.gentoo.org/viewtopic-t-743909.html
回复 支持 反对

使用道具 举报

发表于 2009-4-6 15:52:14 | 显示全部楼层
谢谢sheep204兄,我看看去,呵呵。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-7 11:56:53 | 显示全部楼层
我在freedesktop的bug报告中被建议在内核命令行中加入 nopat这个选项。结果DRI就打开了。dmesg|grep drm也没有出错提示了。就是X退出后系统死机,键盘死锁,按机箱上的电源键也无法关机。(BTW我用其他内核的时候 不用 nopat选项,也可以打开DRI,不过X退出后也一样死机,升级内核前不会死机的)
请问nopat这个选项是起什么作用的呢?如果应对X退出后死机的情况呢?
回复 支持 反对

使用道具 举报

发表于 2009-4-7 22:11:20 | 显示全部楼层
Post by sheep204;1970838
我在freedesktop的bug报告中被建议在内核命令行中加入 nopat这个选项。结果DRI就打开了。dmesg|grep drm也没有出错提示了。就是X退出后系统死机,键盘死锁,按机箱上的电源键也无法关机。(BTW我用其他内核的时候 不用 nopat选项,也可以打开DRI,不过X退出后也一样死机,升级内核前不会死机的)
请问nopat这个选项是起什么作用的呢?如果应对X退出后死机的情况呢?

对应以下内核选项,我这里启用后,X和终端的切换会出问题。
  1. Processor type and features
  2.     x86 PAT support
复制代码
Use PAT attributes to setup page level cache control.

PATs are the modern equivalents of MTRRs and are much more flexible than MTRRs.

Say N here if you see bootup problems (boot crash, boot hang, spontaneous reboots) or a non-working video driver.
回复 支持 反对

使用道具 举报

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

本版积分规则

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