Bug 12770 - ati driver 6.7.194 put LCD in "out of sync" with a xorg.conf that was working with 6.6.x
Summary: ati driver 6.7.194 put LCD in "out of sync" with a xorg.conf that was working...
Status: RESOLVED INVALID
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: 7.2 (2007.02)
Hardware: Other All
: medium normal
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
: 12771 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-10-10 07:55 UTC by Thierry Vignaud
Modified: 2011-01-21 11:43 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
my xorg.conf (2.95 KB, text/plain)
2007-10-10 07:56 UTC, Thierry Vignaud
no flags Details
log diff between working 6.6.3 and failling 6.7.194 (47.68 KB, text/plain)
2007-10-10 07:57 UTC, Thierry Vignaud
no flags Details
full xorg log (41.32 KB, text/plain)
2007-10-10 08:57 UTC, Thierry Vignaud
no flags Details
log with the LCD: it failed miserably (worse than 6.7.193: no screen found) (19.45 KB, text/plain)
2007-10-11 07:41 UTC, Thierry Vignaud
no flags Details
6.7.195's logs (26.33 KB, text/plain)
2007-10-11 08:08 UTC, Thierry Vignaud
no flags Details
here's the changes in log (21.80 KB, text/plain)
2007-10-11 13:45 UTC, Thierry Vignaud
no flags Details
with "ConnectorTable" and "PanelSize" options (42.84 KB, text/plain)
2007-10-11 14:33 UTC, Thierry Vignaud
no flags Details
log diff after adding "LVDSBiosNativeMode" option (6.98 KB, text/plain)
2007-10-11 14:34 UTC, Thierry Vignaud
no flags Details
xorg log with ConnectorTable 1,2,2,1,1,1,2,2 (58.67 KB, patch)
2007-10-12 13:51 UTC, Stefan Schweizer
no flags Details | Splinter Review
xorg.conf for the above (2.53 KB, patch)
2007-10-12 13:52 UTC, Stefan Schweizer
no flags Details | Splinter Review
xorg-log-with-6.7.196 (43.12 KB, text/plain)
2007-11-13 08:29 UTC, Stefan Schweizer
no flags Details

Description Thierry Vignaud 2007-10-10 07:55:17 UTC
ati driver 6.7.194 put LCD in "out of sync" with a xorg.conf that was working with 6.6.x.
This is with an ATI RS480 [Radeon Xpress 200G Series] (PCI ids are vendor:1002 device:5954 subv:103c subd:3009)
Comment 1 Thierry Vignaud 2007-10-10 07:56:53 UTC
Created attachment 11969 [details]
my xorg.conf
Comment 2 Thierry Vignaud 2007-10-10 07:57:54 UTC
Created attachment 11970 [details]
log diff between working 6.6.3 and failling 6.7.194
Comment 3 Thierry Vignaud 2007-10-10 07:59:06 UTC
Btw, I've another very same computer but with a CRT instead of flat screen and there's no sync bug there.
Comment 4 Thierry Vignaud 2007-10-10 08:03:22 UTC
For the record, it happens since at least 6.7.191 but it may have happened with 6.6.19x too)
Comment 5 Alex Deucher 2007-10-10 08:14:06 UTC
Can you please attach the full logs?
Comment 6 Alex Deucher 2007-10-10 08:28:06 UTC
*** Bug 12771 has been marked as a duplicate of this bug. ***
Comment 7 Thierry Vignaud 2007-10-10 08:57:49 UTC
Created attachment 11972 [details]
full xorg log
Comment 8 Alex Deucher 2007-10-10 16:42:40 UTC
I've just committed a fix to ati git which should at least get the connector table right, however it seems DDC tends to not work on XPRESS chips so you probably won't get an edid, as such you'll have to manually specify an monitor section and preferred mode.  Something like this:

Section "Monitor"
    Identifier "monitor1"
    VendorName "Generic"
    ModelName "Flat Panel 1280x1024"
    HorizSync 31.5-90
#    VertRefresh 60
    VertRefresh 50-70

Modeline "1280x1024"   90.75  1280 1328 1360 1440  1024 1027 1034 1054 +hsync -vsync
EndSection

Section "Device"
    Identifier "device1"
    VendorName "ATI Technologies Inc"
    BoardName "ATI Radeon 9250 and earlier"
    Driver "ati"
    BusID "PCI:1:5:0"
    Option "DPMS"
    Option "XaaNoOffscreenPixmaps" "1"
    Option "monitor-DVI-0" "monitor1"
EndSection
Comment 9 Thierry Vignaud 2007-10-11 07:33:00 UTC
Current git fixed the CRT bug (#12771). I'll check for the LCD one
Comment 10 Thierry Vignaud 2007-10-11 07:41:43 UTC
Created attachment 11988 [details]
log with the LCD: it failed miserably (worse than 6.7.193: no screen found)
Comment 11 Alex Deucher 2007-10-11 07:44:32 UTC
Please attach full logs rather than diffs.
Comment 12 Alex Deucher 2007-10-11 07:46:10 UTC
Also, as I said you will need to edit your config as per comment #8 since DDC is not working on your chip.
Comment 13 Thierry Vignaud 2007-10-11 08:06:08 UTC
which changes nothing:

@@ -510,7 +512,7 @@
 (II) RADEON(0): Port1: DDCType-1, DACType-2, TMDSType-1, ConnectorType-4
 (II) RADEON(0): Output VGA-0 using monitor section monitor1
 (II) RADEON(0): I2C bus "MONID" initialized.
-(II) RADEON(0): Output DVI-0 using monitor section monitor1
+(II) RADEON(0): Output DVI-0 has no monitor section
 (WW) RADEON(0): No External TMDS Table found
 (II) RADEON(0): I2C bus "DVO" initialized.
 (II) RADEON(0): I2C device "DVO:RADEON DVO Controller" registered at address 0x70.
Comment 14 Thierry Vignaud 2007-10-11 08:08:44 UTC
Created attachment 11990 [details]
6.7.195's logs
Comment 15 Alex Deucher 2007-10-11 08:26:01 UTC
<sigh> seems the server doesn't parse the monitor section properly (or at all for that matter).  This is a server bug.  I'll see if I can look into it this weekend.

In the meantime, you can add the following to radeon_output.c::radeon_detect() ~line 1649:

if (radeon_output->MonType == MT_DFP)
    return XF86OutputStatusConnected;

that should at least get the driver up.
Comment 16 Thierry Vignaud 2007-10-11 09:18:30 UTC
in RADEONProbeOutputModes

Backtrace:
0: /etc/X11/X(xf86SigHandler+0x6d) [0x4806cd]
1: /lib64/libc.so.6 [0x34a64301c0]
2: /etc/X11/X [0x4b657e]
3: /etc/X11/X(xf86DoEDID_DDC2+0xef) [0x4b678f]
4: /usr/lib64/xorg/modules/drivers//radeon_drv.so(RADEONProbeOutputModes+0x359) [0x2b68d90282a9]
5: /etc/X11/X(xf86ProbeOutputModes+0x252) [0x4ad7d2]
6: /etc/X11/X(xf86InitialConfiguration+0x78) [0x4aeab8]
7: /usr/lib64/xorg/modules/drivers//radeon_drv.so(RADEONPreInit+0xa18) [0x2b68d9011778]
8: /etc/X11/X(InitOutput+0x9aa) [0x4630ea]
9: /etc/X11/X(main+0x295) [0x433db5]
10: /lib64/libc.so.6(__libc_start_main+0xf4) [0x34a641dae4]
11: /etc/X11/X(FontFileCompleteXLFD+0x229) [0x4332d9]

Fatal server error:
Caught signal 11.  Server aborting
Comment 17 Thierry Vignaud 2007-10-11 09:54:15 UTC
(gdb)
#0  DDCRead_DDC2 (scrnIndex=0, pBus=0x0, start=0, len=128) at xf86DDC.c:344
#1  0x00000000004b678f in xf86DoEDID_DDC2 (scrnIndex=0, pBus=0x0)
    at xf86DDC.c:299
#2  0x00002b3bd23f42a9 in RADEONProbeOutputModes (output=0xa093a0)
    at radeon_modes.c:227
#3  0x00000000004ad7d2 in xf86ProbeOutputModes (scrn=0x9f26f0, maxX=2560,
    maxY=1200) at xf86Crtc.c:1307
#4  0x00000000004aeab8 in xf86InitialConfiguration (scrn=0x0, canGrow=0)
    at xf86Crtc.c:1569
#5  0x00002b3bd23dd778 in RADEONPreInit (pScrn=0x9f26f0,
    flags=<value optimized out>) at radeon_driver.c:2782
#6  0x00000000004630ea in InitOutput (pScreenInfo=0x7da120, argc=2,
    argv=0x7fffd9e81038) at xf86Init.c:601
#7  0x0000000000433db5 in main (argc=2, argv=0x7fffd9e81038,
    envp=0x7fffd9e81050) at main.c:370
Comment 18 Alex Deucher 2007-10-11 10:31:26 UTC
whoops, sorry, in radeon_modes.c::RADEONProbeOutputModes() you can do one of the following (in addition to the previous change):

1.add:

    return modes;

between lines 226 and 227

or 

2. add:

    RADEONAddScreenModes(output, &modes);
    return modes;

between lines 226 and 227

1. will just return a null set of nodes and the server will add some defaults.  2. will add the modes specified in the screen section of your config.

the result should look like this:

if (radeon_output->type == OUTPUT_DVI || radeon_output->type == OUTPUT_VGA) {
    RADEONAddScreenModes(output, &modes);
    return modes;
}
Comment 19 Thierry Vignaud 2007-10-11 11:10:58 UTC
Can't you just provide a patch please?
Comment 20 Alex Deucher 2007-10-11 11:16:57 UTC
(In reply to comment #19)
> Can't you just provide a patch please?
> 

I can provide a patch later today, but I don't have access to the source at the moment.
Comment 21 Alex Deucher 2007-10-11 13:29:29 UTC
hmmm...something else just occurred to me, perhaps the XPRESS chips are using the LVDS interface for DVI somehow.  Try adding the following driver options to the device section of your config running an un-patched version of the driver from git:

Option "ConnectorTable" "1,2,2,1,1,1,2,2"
Option "PanelSize" "1280x1024"
Comment 22 Thierry Vignaud 2007-10-11 13:45:12 UTC
I got "no signal"...
Comment 23 Thierry Vignaud 2007-10-11 13:45:54 UTC
Created attachment 11997 [details]
here's the changes in log
Comment 24 Alex Deucher 2007-10-11 13:53:05 UTC
Ok.  I'll post some patches for you to try.  Also, in the future, please just attach the full log rather than diffs.
Comment 25 Alex Deucher 2007-10-11 14:02:01 UTC
Can you try with all these options as well:

Option "ConnectorTable" "1,2,2,1,1,1,2,2"
Option "PanelSize" "1280x1024"
Option "LVDSBiosNativeMode" "FALSE"
Comment 26 Thierry Vignaud 2007-10-11 14:30:55 UTC
no signal
Comment 27 Thierry Vignaud 2007-10-11 14:33:50 UTC
Created attachment 11999 [details]
with "ConnectorTable" and "PanelSize" options
Comment 28 Thierry Vignaud 2007-10-11 14:34:25 UTC
Created attachment 12000 [details]
log diff after adding "LVDSBiosNativeMode" option
Comment 29 Alex Deucher 2007-10-11 17:47:29 UTC
Ok, I've committed everything you'll need.  try latest git with the following options in your config (try them individually):

- Option "ConnectorTable" "1,2,2,1,1,1,2,2"

- Option "ConnectorTable" "1,2,0,4,1,1,2,2"

- Option "ConnectorTable" "1,2,1,4,1,1,2,2"
Comment 30 Thierry Vignaud 2007-10-12 05:55:40 UTC
I got a working server with Option "ConnectorTable" "1,2,2,1,1,1,2,2"
I'll try the others
Comment 31 Thierry Vignaud 2007-10-12 06:12:18 UTC
With Option "ConnectorTable" "1,2,0,4,1,1,2,2", cursor beacmse a big blug square.
With Option "ConnectorTable" "1,2,1,4,1,1,2,2", nothing is displayed, I cannot kill the server, I cannot switch vt and I can only reboot
Comment 32 Alex Deucher 2007-10-12 06:48:58 UTC
(In reply to comment #30)
> I got a working server with Option "ConnectorTable" "1,2,2,1,1,1,2,2"
> I'll try the others
> 

Does it work well, or is there flickering or sync problems?

> With Option "ConnectorTable" "1,2,0,4,1,1,2,2", cursor beacmse a big blug
> square.

Aside from the cursor, is the image stable and usable?

Can you attach the full logs for both of these options?
Comment 33 Stefan Schweizer 2007-10-12 13:51:19 UTC
Created attachment 12018 [details] [review]
xorg log with ConnectorTable 1,2,2,1,1,1,2,2
Comment 34 Stefan Schweizer 2007-10-12 13:52:08 UTC
Created attachment 12019 [details] [review]
xorg.conf for the above
Comment 35 Thierry Vignaud 2007-10-15 09:05:08 UTC
(In reply to comment #32)
> Does it work well, or is there flickering or sync problems?

It works well
 
> > With Option "ConnectorTable" "1,2,0,4,1,1,2,2", cursor beacmse a big blug
> > square.
> 
> Aside from the cursor, is the image stable and usable?

I didn't make much test
Comment 36 Alex Deucher 2007-10-15 11:27:38 UTC
(In reply to comment #35)
> (In reply to comment #32)
> > Does it work well, or is there flickering or sync problems?
> 
> It works well

Can you attach your full log with this setting?
Comment 37 Alex Deucher 2007-10-15 16:06:15 UTC
(In reply to comment #33)
> Created an attachment (id=12018) [details]
> xorg log with ConnectorTable 1,2,2,1,1,1,2,2
> 

Stefan, can you try without the "panelsize" option?  If that doesn't help, can you also try the following connectortable settings?

Option "ConnectorTable" "1,2,0,4,1,1,2,2"

Option "ConnectorTable" "1,2,1,4,1,1,2,2"
Comment 38 Stefan Schweizer 2007-11-13 08:29:55 UTC
Created attachment 12511 [details]
xorg-log-with-6.7.196

new version, new luck. I get a picture on DVI output now, but it is only 1024x768. The Display supports up to 1280x1024
Comment 39 Alex Deucher 2007-12-11 09:19:35 UTC
(In reply to comment #38)
> Created an attachment (id=12511) [details]
> xorg-log-with-6.7.196
> 
> new version, new luck. I get a picture on DVI output now, but it is only
> 1024x768. The Display supports up to 1280x1024
> 

It should work if you manually specify the 1280x1024 mode.  the problem is that the driver is not able to get an EDID from your monitor so it doesn't know what modes it supports.  Either specify a modeline and sync ranges for your monitor in your config or add the mode at runtime with xrandr --newmode and xrandr --addmode.
Comment 40 Alex Deucher 2009-12-09 10:05:42 UTC
Can you try xf86-video-ati from git master?
Comment 41 Alex Deucher 2010-10-19 15:55:59 UTC
closing due to lack of feedback.


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.