On Tue, 2010-04-27 at 10:47 -0400, Alex Deucher wrote:
On Tue, Apr 27, 2010 at 10:30 AM, Adam Jackson ajax@redhat.com wrote:
That's a valid point though: we currently don't distinguish between "connected but with broken EDID" and "disconnected". I think it sounds reasonable to treat the former as connector_status_unknown instead. That way, if nothing else is connected, X will still light you up at the fallback size. Sound right?
Or maybe just mention the EDID is bad and may cause problems, but then use as much of it as possible. That has the best chance of a satisfied user and a native mode being selected.
That would require a lot more parser work to make it robust in the face of suspicious-looking subsections. Not that we should never do that, but that I think it's the wrong strategy in general. I've really tended to shy away from being too permissive in what we accept from EDID, because the failure mode is picking a mode that the display doesn't support and coming up blank. I'd much rather play it safe if we're not 100% sure, especially since you can jam the correct mode in later with RANDR if you come up in a conservative mode.
One thing that _would_ be cool is figuring out the common ways of writing to EDID EEPROMs and exposing some I-know-what-I'm-doing way of trying them, so we could repair bad displays. Also, DDC/CI sometimes gives you a way of knowing whether the monitor has synced, which would let us know whether a given mode was bad or not.
- ajax