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.
Created attachment 23154 [details] sony vaio vgc-js1e G45 git 21/02/2009 mandriva cooker x86_64 XORG LOG
Created attachment 23164 [details] Xorg.0.log with debug This time I changed from EXA to UXA Same result
Created attachment 23165 [details] dmesg
dup of bug# 17508?
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.
(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. >
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.
Created attachment 23208 [details] rom.bin from sony g45
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
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
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?
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
Created attachment 23270 [details] Xorg log with monitor identifier "LVDS-1"
(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
hi mft, Could you please try Michael's comment #14, and upload dumped registers when your machine works fine ? Thanks Ma Ling
Created attachment 23635 [details] Successful Xorg.log Hello hope this helps. Let me know if I can do anything else.
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...)
(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
(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?
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
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?
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
Created attachment 24004 [details] Xorg.log with debug
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
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.
(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.
(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.
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.
(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
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
(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...
(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
(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
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
Created attachment 24990 [details] failed xorg.log with extra debug hope it has what you wanted
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
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.
Created attachment 25037 [details] photo of screen from previous xorg.log
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
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.
hi mft Could you please upload your latest xorg.conf for patch in comment #39 thanks maling
Created attachment 25155 [details] xorg.conf that I used
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
Created attachment 25181 [details] failed xorg.log hi, it still uses the lower resolution mode.
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
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!
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>
*** 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.