Bug 19239 - (EE) intel(0): No valid modes , xserver fails to start
Summary: (EE) intel(0): No valid modes , xserver fails to start
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Wang Zhenyu
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords: NEEDINFO
Depends on:
Blocks:
 
Reported: 2008-12-22 13:00 UTC by cheryl
Modified: 2008-12-28 18:13 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments
xorg.log (21.63 KB, text/plain)
2008-12-22 13:00 UTC, cheryl
no flags Details
xorg.conf (2.61 KB, application/octet-stream)
2008-12-22 13:01 UTC, cheryl
no flags Details
dmesg (15.09 KB, text/plain)
2008-12-23 15:54 UTC, cheryl
no flags Details
lspci (1.62 KB, text/plain)
2008-12-23 15:55 UTC, cheryl
no flags Details
acpidump_122408 (90.77 KB, text/plain)
2008-12-23 21:20 UTC, cheryl
no flags Details
lspci_nv (3.76 KB, text/plain)
2008-12-24 21:38 UTC, cheryl
no flags Details
quirk broken acpi lid (2.00 KB, patch)
2008-12-24 23:33 UTC, Wang Zhenyu
no flags Details | Splinter Review

Description cheryl 2008-12-22 13:00:46 UTC
Created attachment 21407 [details]
xorg.log

The current intel driver fails to start X with:
(EE) intel(0): No valid modes
(EE) Screen(s) found, but none have a usable configuration.

Fatal server error:
no screens found

This is with a 915
Comment 1 cheryl 2008-12-22 13:01:26 UTC
Created attachment 21408 [details]
xorg.conf
Comment 2 Michael Fu 2008-12-22 21:06:04 UTC
what's your laptop model? Is this a regression, i.e works before but fails with latest driver? Need more information. pls refer to http://intellinuxgraphics.org/how_to_report_bug.html
Comment 3 cheryl 2008-12-23 15:54:33 UTC
Created attachment 21454 [details]
dmesg
Comment 4 cheryl 2008-12-23 15:55:52 UTC
Created attachment 21455 [details]
lspci
Comment 5 cheryl 2008-12-23 15:58:51 UTC
ok, 

Here's a bit more:

Linux 2.6.28-rc9 #2 Sat Dec 20 03:46:53 EST 2008 i686 unknown unknown GNU/Linux

The i915 chipset fails to start up,  with no screens found on 2.6.99.1 current intel driver.

The 2.5.99.1 driver starts without issue.

This is on a centrino based laptop (Mirrus), running Slackware 10.2.
Comment 6 Michael Fu 2008-12-23 17:37:19 UTC
zhenyu, it seems your LVDS detection patch has an exception now...
Comment 7 Wang Zhenyu 2008-12-23 18:36:36 UTC
Well, acpi button has told driver the lid is closed, but lid is really open. So this is a bug for acpi people ;)

Cheryl, please check /proc/acpi/button/lid/state, is it saying close when your laptop's lid is open? Have you tested with other kernel versions?
Comment 8 ykzhao 2008-12-23 19:32:43 UTC
hi, Cheryl
    From the info in comment #7 it seems that the LID state is incorrect.
    Will you please attach the output of acpidump?
    The latest acpidump tool(20071114) can be found in 
    http://www.kernel.org/pub/linux/kernel/people/lenb/acpi/utils/
    
    Thanks.
Comment 9 cheryl 2008-12-23 21:20:58 UTC
Created attachment 21459 [details]
acpidump_122408


Ok. 

confirmed:

Linux 2.6.28-rc9

/proc/acpi/button/lid/LID/state
state:      closed

Linux 2.6.27

/proc/acpi/button/lid/LID/state
state:      closed

Yep, this is with the lid open.

It looks like the current code is actually paying attention to this whereas the previous code didn't.
Comment 10 ykzhao 2008-12-23 21:50:52 UTC
Hi, Cheryl
    From the acpidump it seems that the LID state is not initailized by BIOS.
    >Method (_LID, 0, NotSerialized)
    {
         Return (LIDS) // LIDS is defined in BIOS NVS memory region
    }
    Only after LID is closed and reopened, the LIDS can be updated correctly.
    
    Will you please confirm whether the LID state is incorrect after the LID is closed and reopened?
    Thanks.
Comment 11 cheryl 2008-12-24 01:25:53 UTC
That did it, and X started right up. 

/proc/acpi/button/lid/LID/state
state:      open

Comment 12 ykzhao 2008-12-24 17:11:47 UTC
Hi, Cheryl
    Thanks for the test.
    From the test it seems that the LID state is correct after the LID is closed and reopened it.
    Now the issue is related with BIOS. It had better be fixed by BIOS upgrading. If an EC internal register in AML code is defined explicitly that reflected the correct LID state, this issue can be workaround by using the custom DSDT. But unfortunately we can do nothing as there is no such an EC internal register.
    
    Thanks.
Comment 13 Wang Zhenyu 2008-12-24 17:16:59 UTC
Nice analysis! Yakui, thanks a lot! Cheryl, could you attach lspci -nv? I can make a quirk for this kind of broken bios in video driver.
Comment 14 cheryl 2008-12-24 21:38:57 UTC
Created attachment 21473 [details]
lspci_nv


Ok, cool. Looks like that should do it for this one.

Here it is.
Comment 15 Wang Zhenyu 2008-12-24 23:33:54 UTC
Created attachment 21474 [details] [review]
quirk broken acpi lid

Please test with this patch, if this still doesn't work without lid open/close hack, please paste src/bios_render/swf_dumper output.
Comment 16 cheryl 2008-12-25 10:34:03 UTC
Yep, looks like that did it, no open/close needed. 
Comment 17 Wang Zhenyu 2008-12-28 18:13:28 UTC
Pushed. Close.

commit fcd280b730f86ea54ecd89d3e037e71f8375b5f5
Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
Date:   Mon Dec 29 10:05:17 2008 +0800

    Bug #19239: Add a quirk for broken ACPI lid state
    
    For broken hardware/bios with incorrect ACPI LID state,
    there's machine that can not be fixed in ACPI way, customed
    DSDT that reprogram _LID method to read EC state. Although
    this is ACPI issue, this quirk can be used to work around that.



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.