Bug 18234 (c51_lvds_script_fail)

Summary: c51 lvds script failure in randr12 mode. if I start the X server the screen is black and the framebuffer too because it trys to link the whole output to the monitor
Product: xorg Reporter: Thomas Schneider <maxmusterm>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: maxmusterm
Version: 7.3 (2007.09)   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
randr12 enabled, blank/black screen xorg.log none

Description Thomas Schneider 2008-10-26 15:43:08 UTC
I use a md98300 medion notebook with a nVidia Geforce Go 6150 graphic processor.
You have to change the BIOSLOG to work.
I will later add a few Xorg logs for debugging.
Comment 1 Stuart Bennett 2008-10-26 16:45:59 UTC
Created attachment 19872 [details]
randr12 enabled, blank/black screen xorg.log

Attaching log posted to pastebin for posterity
Comment 2 Stuart Bennett 2008-10-26 17:07:56 UTC
Issue can be worked around by worked around by turning call_lvds_script into a noop.

It is possibly suspicious that in doing dpms on at the end of the modeset, 0xD3BF: [ (0x56) - INIT_CONDITION_TIME ] does not successfully complete: "
0xD3BF: Condition still not met, skiping following opcodes". A comparison xorg log from darktama's C51 executing (almost) the same script does successfully complete.

Thomas: after nouveau has failed to start X, does the VT return, or does the screen remain blank until the laptop is rebooted?

Two other things to try:
1) does it work if the timeout is increased: in nv_bios.c, function init_condition_time(), change "BIOS_USLEEP(2000);" to "BIOS_USLEEP(20000);"
2) if 1) does not work, does it work if the off script is not run: again in nv_bios.c, function run_lvds_table(), just below "case LVDS_PANEL_OFF:" add "return;" on a new line.
Comment 3 Thomas Schneider 2008-10-26 17:19:31 UTC
The Screen remains blank and black.
Yes even after closing X.And yes the framebuffer is black too.
Comment 4 Thomas Schneider 2008-10-26 17:26:03 UTC
> Two other things to try:
> 1) does it work if the timeout is increased: in nv_bios.c, function
> init_condition_time(), change "BIOS_USLEEP(2000);" to "BIOS_USLEEP(20000);"
> 2) if 1) does not work, does it work if the off script is not run: again in
> nv_bios.c, function run_lvds_table(), just below "case LVDS_PANEL_OFF:" add
> "return;" on a new line.

I don't have to test the second way cause the first one works fine.
Thank you Stuart

Comment 5 Stuart Bennett 2008-10-27 12:55:33 UTC
Fix based on 1) from comment 2 now pushed. Please test with a fresh git checkout, and close this bug if it is solved.
Comment 6 Thomas Schneider 2008-10-27 17:10:45 UTC
Newest git works fine.
Thank you Stuart

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.