In general, radeon driver has its own mode validation process for DFP, LCD monitors, but it still resorts to xf86ValidateModes() for mode validation for CRT montiors. In current code, when it calls xf86ValidateModes() for mode validation for CRT montiors, it uses default modeline database, without taking into consideration of EDID modes even though EDID data may be available. With the integration of auto-config code into Xorg 7.2, it is possible to re-organize modeline database for validation to include EDID modes simply by calling new function xf86SetDDCproperties().
Created attachment 8099 [details] [review] Redo modeline pool before mode validation for CRT monitors Call xf86SetDDCproperties() before calling xf86ValidateMode() for mode validation for CRT monitors. xf86SetDDCproperties() will create a new modeline pool that includes modes from EDID data and default modes.
Sorry about the phenomenal bug spam, guys. Adding xorg-team@ to the QA contact so bugs don't get lost in future.
After testing xf86-video-ati-6.6.193 I noted, due to the blindingly obvious unadjusted video on ye olde fashioned CRT, that user defined modes are not being sorted preferentially. This was the previous and desired behaviour. Git bisecting reveals the patch in this bug which was applied just after the patch from bug 10205 that reinforced user mode sorting to be the problem. Reverting fixes the issue though perhaps another solution should be implemented as without it EDID/DDC derived modes are not included in the mode lists. Note that gitweb is a bit weird for this commit and shows radeon-driver.c being deleted instead of xf86SetDDCproperties being added to it while for radeon_modes.c it's fine?!?
Created attachment 11045 [details] xorg-conf-goodlog-badlog.txt Monitor and modes section of xorg.conf along with good Xorg.log from bisect and bad Xorg.log from 6.6.193 showing mode sorting.
This should be resolved in ati git master. Please re-open if you are still having issues.
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.