Bug 20241 - [G45 SDVO-LVDS] Vertical stripes, no desktop, no crash - vblank error - disabled pipes
Summary: [G45 SDVO-LVDS] Vertical stripes, no desktop, no crash - vblank error - disab...
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium critical
Assignee: MaLing
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
: 20636 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-02-21 06:30 UTC by mft
Modified: 2009-06-02 20:06 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments
vertical stripes from intel driver on G45 (262.31 KB, image/jpeg)
2009-02-21 06:30 UTC, mft
no flags Details
sony vaio vgc-js1e G45 git 21/02/2009 mandriva cooker x86_64 XORG LOG (21.56 KB, text/plain)
2009-02-21 06:32 UTC, mft
no flags Details
Xorg.0.log with debug (75.75 KB, text/plain)
2009-02-21 12:58 UTC, mft
no flags Details
dmesg (317 bytes, text/plain)
2009-02-21 12:58 UTC, mft
no flags Details
rom.bin from sony g45 (64.00 KB, application/octet-stream)
2009-02-23 05:17 UTC, mft
no flags Details
please try this patch on your machine, thanks. (459 bytes, patch)
2009-02-24 06:25 UTC, MaLing
no flags Details | Splinter Review
Xorg.0.log with disabled vga (128.69 KB, text/plain)
2009-02-24 09:50 UTC, mft
no flags Details
monitor LVDS-1 in xorg.conf (1.31 KB, text/plain)
2009-02-24 13:12 UTC, mft
no flags Details
Xorg log with monitor identifier "LVDS-1" (53.27 KB, text/plain)
2009-02-24 13:14 UTC, mft
no flags Details
Successful Xorg.log (68.50 KB, text/plain)
2009-03-07 09:49 UTC, mft
no flags Details
please try the debug patch, and upload log file with modedebug option on, thanks (17.48 KB, application/octet-stream)
2009-03-17 07:53 UTC, MaLing
no flags Details
Xorg.log with mode setting debug (119.12 KB, text/plain)
2009-03-17 15:46 UTC, mft
no flags Details
please try the debug patch , thanks (2.00 KB, application/octet-stream)
2009-03-17 19:09 UTC, MaLing
no flags Details
Xorg.log with debug (121.04 KB, text/plain)
2009-03-18 12:46 UTC, mft
no flags Details
please try the debug patch for xserver on your machine, thanks. (1.94 KB, application/octet-stream)
2009-03-18 19:31 UTC, MaLing
no flags Details
Xorg.log with modified xserver 1.6.0 (116.58 KB, text/plain)
2009-03-19 09:04 UTC, mft
no flags Details
could you please try the general debug patch on your machine, thanks. (8.86 KB, application/octet-stream)
2009-04-20 23:59 UTC, MaLing
no flags Details
failed xorg.log with extra debug (118.81 KB, text/plain)
2009-04-21 03:08 UTC, mft
no flags Details
please try the patch on your machine, thanks. (14.89 KB, application/octet-stream)
2009-04-22 00:56 UTC, MaLing
no flags Details
xorg.log (119.90 KB, text/plain)
2009-04-22 08:29 UTC, mft
no flags Details
photo of screen from previous xorg.log (41.54 KB, image/jpeg)
2009-04-22 08:31 UTC, mft
no flags Details
please try the debug patch version 3 (9.96 KB, application/octet-stream)
2009-04-22 23:47 UTC, MaLing
no flags Details
failed xorg.log with patch_V_3 (118.89 KB, text/plain)
2009-04-23 03:08 UTC, mft
no flags Details
xorg.conf that I used (955 bytes, text/plain)
2009-04-26 11:47 UTC, mft
no flags Details
please based on patch on comments #40 try the patch on your machine. (352 bytes, application/octet-stream)
2009-04-26 22:07 UTC, MaLing
no flags Details
failed xorg.log (118.89 KB, text/plain)
2009-04-27 02:22 UTC, mft
no flags Details
please try the patch on your machine, thanks. (10.88 KB, application/octet-stream)
2009-04-27 18:51 UTC, MaLing
no flags Details
Successful xorg.log ! (89.59 KB, text/plain)
2009-04-28 06:27 UTC, mft
no flags Details

Description mft 2009-02-21 06:30:28 UTC
Created attachment 23153 [details]
vertical stripes from intel driver on G45

Trying to run an xserver on a sony vaio VGC-JS1E which has g45 integrated chipset and the intel driver doesn't work correctly.
The integrated panel/lcd display is activated but seems to be showing the wrong memory space (see attachment).
Tried using git on x86_64 and mandriva cooker 32bit both with the same result.
Comment 1 mft 2009-02-21 06:32:59 UTC
Created attachment 23154 [details]
sony vaio vgc-js1e G45 git 21/02/2009 mandriva cooker x86_64 XORG LOG
Comment 2 mft 2009-02-21 12:58:21 UTC
Created attachment 23164 [details]
Xorg.0.log with debug

This time I changed from EXA to UXA

Same result
Comment 3 mft 2009-02-21 12:58:58 UTC
Created attachment 23165 [details]
dmesg
Comment 4 Michael Fu 2009-02-22 22:45:59 UTC
dup of bug# 17508?
Comment 5 mft 2009-02-23 03:26:08 UTC
Yes it seems it could be the same as bug# 17508

Only this computer has no discrete nvidia gpu, only the integrated intel.

The xorg.log says that it finds 2 displays, both connected, but there is no physical connection to plug in an external screen. So I cannot test to see if the pipe that stays enabled is working on an external screen like in bug# 17508 though I guess it possibly would be as there's no crash/freeze.

Comment 6 Michael Fu 2009-02-23 04:39:42 UTC
(In reply to comment #5)
> Yes it seems it could be the same as bug# 17508
> 
> Only this computer has no discrete nvidia gpu, only the integrated intel.
> 
> The xorg.log says that it finds 2 displays, both connected, but there is no
> physical connection to plug in an external screen.

Hmm... the VGA detection indeed looks wrong... I've thought this is a _laptop_... Read the logs again shows that it's using a SDVO LVDS panel instead...

> So I cannot test to see if
> the pipe that stays enabled is working on an external screen like in bug# 17508
> though I guess it possibly would be as there's no crash/freeze.
> 

Comment 7 Michael Fu 2009-02-23 04:44:14 UTC
please provide the vbios dump via:

# cd /sys/devices/pci0000\:00/0000\:00\:02.0/
# echo 1 > rom
# cat rom > /tmp/rom.bin
# echo 0 > rom

then submit the rom.bin here. thanks.
Comment 8 mft 2009-02-23 05:17:43 UTC
Created attachment 23208 [details]
rom.bin from sony g45
Comment 9 MaLing 2009-02-23 17:30:24 UTC
hi mft,
the below message from dump register shows your machine shouldn't work normally after booting up?

(II) intel(0):                 SDVOB: 0x8000009c (enabled, pipe A, stall disabled, detected)
...
(II) intel(0):                 DVOB: 0x8000009c (enabled, pipe A, no stall, +hsync, +vsync)

Thanks
Ma Ling




Comment 10 MaLing 2009-02-24 06:25:12 UTC
Created attachment 23261 [details] [review]
please try this patch on your machine, thanks.

hi mft,
This patch is debug patch, which will disable VGA and DVOB to avoid confilict, narrow down the issue.

Thanks
Ma Ling
Comment 11 mft 2009-02-24 09:50:41 UTC
Created attachment 23266 [details]
Xorg.0.log with disabled vga

hi, sorry I don't know about the registers, should all dvo be enabled after boot?

I disabled vga with your patch and attached is the xorg.log. Still the xserver shows all the stripey lines but now when I switch back to VT there's nothing (to see).

P.S. Can I switch the screen back on from the commandline somehow if this blank VT happens?
Comment 12 mft 2009-02-24 13:12:34 UTC
Created attachment 23269 [details]
monitor LVDS-1 in xorg.conf

hi
It works if I call the monitor "LVDS-1" in the xorg.conf, but it still doesn't find the correct resolution. I tried putting a modeline of 1680x1050 but it wasn't used.

I'll submit the log for this case.

Thanks
Comment 13 mft 2009-02-24 13:14:46 UTC
Created attachment 23270 [details]
Xorg log with monitor identifier "LVDS-1"
Comment 14 Michael Fu 2009-02-25 00:15:38 UTC
(In reply to comment #12)
> Created an attachment (id=23269) [details]
> monitor LVDS-1 in xorg.conf
> 
> hi
> It works if I call the monitor "LVDS-1" in the xorg.conf, but it still doesn't
> find the correct resolution. I tried putting a modeline of 1680x1050 but it
> wasn't used.
> 
> I'll submit the log for this case.
> 
> Thanks
> 

you should add

Option  "monitor-LVDS"    "LVDS-1"

to the device section, too.

However, the VGA always detected as connected will still be an issue.

Pls use this method to ignore it for now:

Section "Device"
...
        Option    "monitor-VGA"    "VGA"
        ...
EndSection
        ...
Section "Monitor" 
        Identifier      "VGA" 
        Option          "Ignore" "True" 
EndSection 

Comment 15 MaLing 2009-03-07 00:05:49 UTC
hi mft,

Could you please try Michael's comment #14, and upload dumped registers when your machine works fine ?

Thanks
Ma Ling

Comment 16 mft 2009-03-07 09:49:00 UTC
Created attachment 23635 [details]
Successful Xorg.log

Hello

hope this helps. Let me know if I can do anything else.
Comment 17 Michael Fu 2009-03-08 19:47:44 UTC
sounds two issues now:
1. VGA is detected as connected. the rom data suggest no VGA on this machine..
2. SDVO LVDS support. (sounds basically working...)
Comment 18 MaLing 2009-03-16 06:29:54 UTC
(In reply to comment #17)
> sounds two issues now:
> 1. VGA is detected as connected. the rom data suggest no VGA on this machine..
> 2. SDVO LVDS support. (sounds basically working...)

ping mft ~ is there another issue on G45 ?

Thanks
Ma Ling
Comment 19 mft 2009-03-16 13:21:47 UTC
(In reply to comment #17)
> sounds two issues now:
> 1. VGA is detected as connected. the rom data suggest no VGA on this machine..
> 2. SDVO LVDS support. (sounds basically working...)
> 

I think SDVO LVDS is basically working but it is not auto-detected, so it needs to be in xorg.conf.. Or maybe it is detected, but is switched off unless it is explicitely asked for in xorg.conf.

I don't know, have you made changes for this LVDS issue in git since the start of this bug? should I test again?
Comment 20 MaLing 2009-03-17 07:53:05 UTC
Created attachment 23967 [details]
please try the debug patch, and upload log file with modedebug option on, thanks

hi mft,

At first there are 2 questions to be clarified.
1) why there are many questionable mode lines in log file (comment #2, and  comment #12) such as "320x175" ... when you dont identify monitor as LVDS-1 correctly

2)even under comment #2 environment, laptop sholdn't shows vertical strips
because Modeline "1024x768"x60.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz) for pipe B is valid.

so please try the patch under comment #2 environment, then upload xorg log file.
Thanks
Ma Ling
Comment 21 mft 2009-03-17 15:46:24 UTC
Created attachment 23973 [details]
Xorg.log with mode setting debug

Hi

I tried to use your patch, but this time I had some problems to apply it. I had to revert some git commits... maybe the wrong ones? It looks like I may have removed what was needed to show your debug messages? The patch is applied but seems to just leave empty lines in Xorg.log

Otherwise, tell me, I'm unsure of which version of the source to apply the patch to. Seems like there should be a simple way to tell from the numbers in the patch itself?
Comment 22 MaLing 2009-03-17 19:09:07 UTC
Created attachment 23982 [details]
please try the debug patch , thanks

please update your drvier from our master tree, run the debug patch, then  upload log file with modedebug option on
Thanks
Ma Ling
Comment 23 mft 2009-03-18 12:46:19 UTC
Created attachment 24004 [details]
Xorg.log with debug
Comment 24 MaLing 2009-03-18 19:31:59 UTC
Created attachment 24022 [details]
please try the debug patch for xserver on your machine, thanks.

log file on comment #32 shows vga or sdvo doesn't get any mode lines from ddc,
so those questionable modes are from defalt and config modes in xserver. please use the xserver patch on xorg-server-1.6.0, then upload your xorg file with modedebug options on under the same environment with that of comment #32, which will help us to find root cause.

by the way from log file in comment #32 I see sdvo has been set correctly, your laptop should work fine, right?

Thanks
Ma Ling
Comment 25 mft 2009-03-19 09:04:53 UTC
Created attachment 24048 [details]
Xorg.log with modified xserver 1.6.0

Hi, I'm afraid the situation in comment #23 still showed vertical stripes.
Comment 26 MaLing 2009-03-23 08:41:12 UTC
(In reply to comment #12)
> Created an attachment (id=23269) [details]
> monitor LVDS-1 in xorg.conf
> hi
> It works if I call the monitor "LVDS-1" in the xorg.conf, but it still doesn't
> find the correct resolution. I tried putting a modeline of 1680x1050 but it
> wasn't used.
> I'll submit the log for this case.
> Thanks

The reason why to set monitor LVDS-1 is that you set  HorizSync 20-170 in this section, and xorg can provide Modeline "1600x1200"x60.0, or it will also be pruned by xorg. 

The machine can not provide edid, so xorg use default modes, some of them failed to work on it. 
Comment 27 mft 2009-03-23 14:07:32 UTC
(In reply to comment #26)

There is something in the xorg.conf of comment #12 that helps. I think you are right, it's not the identifier. Maybe the:

Option "monitor-LVDS" "LVDS-1"

? Although the log says that option is not used. I'll try to find out exactly what makes the difference. Sorry for my mistake.
Comment 28 mft 2009-03-23 14:53:06 UTC
Hi

1. it seems that it is the monitor section with:

   Identifier "VGA"
   Option "Disable" "True"

   that helps, as suggested in comment #14 by Michael Fu.

2. the xorg.conf of comment #12 does not include these lines to ignore VGA. So in this case it is the line:

   Option "AccelMethod" "UXA"

   that helps.


Maybe the UXA module has some of its own screen routines.
Comment 29 MaLing 2009-03-25 08:48:07 UTC
(In reply to comment #28)
> Hi
> 1. it seems that it is the monitor section with:
>    Identifier "VGA"
>    Option "Disable" "True"
>    that helps, as suggested in comment #14 by Michael Fu.
yes, it will avoid incorrect VGA detection.
> 2. the xorg.conf of comment #12 does not include these lines to ignore VGA. So
> in this case it is the line:
>    Option "AccelMethod" "UXA"
>    that helps.
> Maybe the UXA module has some of its own screen routines.
No, ignor VGA only discard incorrect VGA output, option "AccelMethod" "UXA" doesn't help to work in this case.

1) in comment #2  because ddc edid doesn't provide any modes, Modeline "1024x768"x60.0 is set from default modes whose default hsync(clock/HTOTAL)range is allowd from 31.0 to 55.0, but this mode doesn't match your lcd panel, shows wrong image.

2) in comment #13 you set HorizSync 20-170(clock/HTOTAL) in monitor LVDS-1 section in comment #12, so xorg is allowed to provide default Modeline "1600x1200"x60.0, and it happen to work for your lcd.

3) in comment #16, VGA is ignored correctly and HorizSync is set by 20-170(clock/HTOTAL)too, so xorg can chose your perefered mode line in your monitor LVDS-1 section of xorg.conf in comment #12, which work for your lcd as well.

Thanks
Ma Ling




  
Comment 30 mft 2009-03-25 14:15:08 UTC
Hi, After trying some more xorg.conf variations I find that the monitor identifier is important. In the following xorg.conf, if "moni" is used it doesn't work but if "LVDS-1" is used it does.
=============================

Section "Monitor"
    Identifier "moni" #"LVDS-1"
    HorizSync 20-170
    VertRefresh 60
EndSection

Section "Device"
    Identifier "device1"
    Driver "intel"
    Option "ModeDebug" "Yes"
EndSection

Section "Screen"
    Identifier "screen1"
    Device "device1"
    Monitor "moni" #"LVDS-1"
    DefaultColorDepth 24
    
    Subsection "Display"
        Depth 24
        Modes "1680x1050"
    EndSubsection
EndSection

Section "ServerLayout"
    Identifier "layout1"
    Screen "screen1"
EndSection
==============================

First few diffs in xorg.log:

====not work====
(**) |   |-->Monitor "moni"
(II) intel(0): Output VGA using monitor section moni
(II) intel(0): Output LVDS-1 has no monitor section


====works====
(**) |   |-->Monitor "LVDS-1"
(II) intel(0): Output VGA using monitor section LVDS-1
(II) intel(0): Output LVDS-1 using monitor section LVDS-1
Comment 31 Michael Fu 2009-03-26 00:17:56 UTC
(In reply to comment #30)
> Hi, After trying some more xorg.conf variations I find that the monitor
> identifier is important. In the following xorg.conf, if "moni" is used it
> doesn't work but if "LVDS-1" is used it does.
> =============================
> 
> Section "Monitor"
>     Identifier "moni" #"LVDS-1"
>     HorizSync 20-170
>     VertRefresh 60
> EndSection

Please pay attention to my comment in comment# 14... you need to add one line to the device section as well...
Comment 32 MaLing 2009-03-26 00:32:27 UTC
(In reply to comment #30)
> Hi, After trying some more xorg.conf variations I find that the monitor
> identifier is important. In the following xorg.conf, if "moni" is used it
> doesn't work but if "LVDS-1" is used it does.
>
Hi
when xorg initialize, it will compare output name with monitor identifier of monitor list, if it find expected name, he will use the configuration in it, or chose default values.
 When you set monitor identifier as LVDS-1, xorg chose the value in it, because the HorizSync 20-170(clock/HTOTAL), so "1600x1200"x60.0 is set and work fine. Otherwise as I mentioned in comment #29, default HorizSync 31.0-55.0KHZ setting will drop "1600x1200"x60.0 whose HorizSync is 75KHZ, and "1024x768"x60.0 mode doesn't work on your machine.

Thanks
Ma Ling

 
Comment 33 mft 2009-03-26 12:53:27 UTC
(In reply to comment #32)
> Hi
> when xorg initialize, it will compare output name with monitor identifier of
> monitor list, if it find expected name, he will use the configuration in it, or
> chose default values.
>  When you set monitor identifier as LVDS-1, xorg chose the value in it, because
> the HorizSync 20-170(clock/HTOTAL), so "1600x1200"x60.0 is set and work fine.
> Otherwise as I mentioned in comment #29, default HorizSync 31.0-55.0KHZ setting
> will drop "1600x1200"x60.0 whose HorizSync is 75KHZ, and "1024x768"x60.0 mode
> doesn't work on your machine.
> 
> Thanks
> Ma Ling
> 
> 
> 
Yes, I think that is so. The HorizSync range is needed. But in comment #30 I would still need a Modeline for it to be perfect because 1600x1200 is not the correct resolution for the LCD in this all-in-one desktop PC.


(In reply to comment #32)
> Please pay attention to my comment in comment# 14... you need to add one line
> to the device section as well...
>
My usual xorg.conf has the monitor-LVDS option in the device section, but I left it out for the minimal test in comment #30 because it doesn't seem to have any effect. It only gives this extra line in the log:
(WW) intel(0): Option "monitor-LVDS" is not used

Thanks
Comment 34 MaLing 2009-04-20 23:59:22 UTC
Created attachment 24986 [details]
could you please try the general debug patch on your machine, thanks.

The patch first intends to get modes from edid, then from VBT in section 23, eventually from pipe, please try it on your machine.

Thanks
maling
Comment 35 mft 2009-04-21 03:08:24 UTC
Created attachment 24990 [details]
failed xorg.log with extra debug

hope it has what you wanted
Comment 36 MaLing 2009-04-22 00:56:30 UTC
Created attachment 25025 [details]
please try the patch on your machine, thanks.

Because xorg will chose close current mode of scrn although driver provide prefeered mode(log file shows Modeline "1680x1050"x59.9, but xorg chose 1024x768), we have to find fixed mode in advance to fix up incomming mode lines from xorg in order to work normally.
Please try the patch then upload log file.
thanks for your help!
maling
Comment 37 mft 2009-04-22 08:29:52 UTC
Created attachment 25036 [details]
xorg.log

It works! (almost)
Now the screen is initialized, but the wrong mode and the chosen mode is strange. I'll attach a photo of the resulting screen.
Comment 38 mft 2009-04-22 08:31:03 UTC
Created attachment 25037 [details]
photo of screen from previous xorg.log
Comment 39 MaLing 2009-04-22 23:47:36 UTC
Created attachment 25051 [details]
please try the debug patch version 3

In this patch we force xorg to use our preferred mode from edid or bios, instead of mode from default mode list, please try the patch on your machine.
It should work for you :)

thanks
maling
Comment 40 mft 2009-04-23 03:08:28 UTC
Created attachment 25057 [details]
failed xorg.log with patch_V_3

back to the vertical stripes now.
The log shows that wrong mode is chosen.
Comment 41 MaLing 2009-04-26 05:41:17 UTC
hi mft
Could you please upload your latest xorg.conf for patch in comment #39
thanks
maling
Comment 42 mft 2009-04-26 11:47:35 UTC
Created attachment 25155 [details]
xorg.conf that I used
Comment 43 MaLing 2009-04-26 22:07:08 UTC
Created attachment 25173 [details]
please based on patch on comments #40 try the patch on your machine.

the reason is from incorrect vga  detection, so xorg chose the smaller resolution for vga and lvds, the patch will fix incorrect vga detection.

thanks
maling
Comment 44 mft 2009-04-27 02:22:06 UTC
Created attachment 25181 [details]
failed xorg.log

hi, it still uses the lower resolution mode.
Comment 45 MaLing 2009-04-27 18:51:47 UTC
Created attachment 25209 [details]
please try the patch on your machine, thanks.

please try the debug patch after update your driver from our master tree.

thanks for your help!
maling
Comment 46 mft 2009-04-28 06:27:57 UTC
Created attachment 25227 [details]
Successful xorg.log !

Perfect! Well done :)
Now the correct mode is chosen and VGA seems to be ignored too.
I attached the xorg.log so you can see if it works as you expected.

Thank you, to you also, for your hard work!
Comment 47 MaLing 2009-06-02 20:04:42 UTC
Hi mft
We have merged this patch into our master tree, please update your driver, I close the issue now.

Thanks for your help
Ma Ling

commit ea0b00e675281b2914450992501566122f9affe0
Author: Ma Ling <ling.ma@intel.com>
Date:   Mon Jun 1 17:13:53 2009 +0800

    Provide mode line from VBT to xorg.

    If sdvo get modes function can't find modes from EDID,
    transmit sdvo lvds modes from VBT to xorg.

    Signed-off-by: Ma Ling <ling.ma@intel.com>
Comment 48 MaLing 2009-06-02 20:06:32 UTC
*** Bug 20636 has been marked as a duplicate of this bug. ***


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.