Summary: | [GL40] [i686] KMS black screen with kernel 2.6.30 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | minskey <chaohong.guo> | ||||||||
Component: | DRM/Intel | Assignee: | Jesse Barnes <jbarnes> | ||||||||
Status: | CLOSED FIXED | QA Contact: | |||||||||
Severity: | major | ||||||||||
Priority: | medium | Keywords: | NEEDINFO | ||||||||
Version: | DRI git | ||||||||||
Hardware: | x86 (IA32) | ||||||||||
OS: | Linux (All) | ||||||||||
Whiteboard: | |||||||||||
i915 platform: | i915 features: | ||||||||||
Attachments: |
|
Description
minskey
2009-08-16 20:09:42 UTC
Can you attach your full X log and dmesg to this bug? Created attachment 28912 [details]
dmesg outputs after failed to start X
Adding dmesg outputs after failed to start X
Created attachment 28913 [details]
Xorg log after failed to start X
Created attachment 28914 [details]
kconfig of the system
DRI is failing to initialize on your platform for some reason: (II) AIGLX: Screen 0 is not DRI2 capable (II) AIGLX: Screen 0 is not DRI capable (II) AIGLX: Loaded and initialized /usr/lib/dri/swrast_dri.so (II) GLX: Initialized DRISWRAST GL provider for screen 0 Is Mesa installed properly? A newer driver version (like 2.8) may work better here... Chaohong, any update? (In reply to comment #6) > Chaohong, any update? > I tried 2.8 & latest DDX driver git tree. It doesn't work neither. I am build kernel 2.6.31-rc9, and will update the report later. Probably, it is a bug in kernel side. At last, I found the root cause: it is a bug in DDX 2.7.0 driver. In 2.7.0 driver, if we don't use DRI2 and use DRI only, then we don't define DRI2, at initialization pI830->directRenderingType = DRI_NONE. So with KMS enabled, I830PreInit calls I830DrmModeInit(). In the I830DrmModeInit(), there is a line code: if (pI830->accel == ACCEL_UXA && pI830->directRenderingType != DRI_XF86DRI) pI830->can_resize = TRUE; Notice that pI830->directRenderingType is initialized to DRI_NONE, so, can_resize is set to TRUE. (BTW, if I change this to FALSE, Xserver works well). And then, in I830ScreenInit(), there is the following code: #ifdef DRI2 if (pI830->directRenderingType == DRI_NONE && I830DRI2ScreenInit(pScreen)) pI830->directRenderingType = DRI_DRI2; #endif #ifdef XF86DRI /* If DRI hasn't been explicitly disabled, try to initialize it. * It will be used by the memory allocator. */ if (!pI830->can_resize && pI830->directRenderingType == DRI_NONE && /* !!!!!!!!!!! so, here DRI won't be init'ed because can_resize is TRUE */ I830DRIScreenInit(pScreen)) pI830->directRenderingType = DRI_XF86DRI; #endif I gave it a try and set pI830->can_resize to FALSE, and don't enable resizable framebuffer, it works. The bug won't occur in latest DDX driver. So, you can close it if you want. Thanks Chaohong, I'll close it out then. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.