A fair amount of the time, my X server fails to detect the correct HorizSync and VertRefresh values for my Hansol 900P (CRT). The graphics board is a Radeon 8500. Architecture is amd64, and it looks like it is somewhat specific to that architecture, at least I can't remember being able to reproduce it on i386. I discussed the problem with airlied on IRC and by his advice I ripped out the horrendous OUTREG/INREG/usleep code in RADEONDisplayDDCConnected, but it didn't help. http://err.no/tmp/Xorg-640-480.log.txt is a server log where it fails, http://err.no/tmp/xorg-works.txt is a server log where it works.
Are you sure it's not the monitor? I have an older 19" MAG which has never done DDC reliably.
I seem to be utterly unable to reproduce the bug if I boot an i386 version instead of the amd64 version I'm using, so I don't think the problem is the monitor.
Sorry about the phenomenal bug spam, guys. Adding xorg-team@ to the QA contact so bugs don't get lost in future.
I suspect the i2c timeouts aren't long enough. VESA specifies longer timeouts than standard i2c. I'll try and add this to the radeon driver at some point. It's a trivial patch; see the intel driver for more.
does this still have problems on xserver 1.3 or newer or the latest radeon code from git? I suspect this is related to the ddc timeouts. my unreliable mag became very reliable after the timeouts changed. Please re-open if you still have problems.
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.