On 4/13/12 11:41 AM, Takashi Iwai wrote:
At Fri, 13 Apr 2012 11:30:01 -0400, Alex Deucher wrote:
One thing to be careful of is that some monitors (especially LCD
panels) don't like modes that are not in their EDIDs. As such when
you try and set them you often get a wonky display or more often a
blank screen. We used to add a lot of inferred modes to the mode list
in the xserver which resulted in a lot of blank screens when some odd
mode was picked as the best match for a cloned display. The "fix" was
to only add the inferred modes on analog monitors which were more
likely to be able to support them.
Thanks, it's good to know!
Though, I still wonder whether adding inferred modes for 1366x768 or
1600x900 would cause any big problems. On such monitors, 1360x768 or
1440x900 (or 1680x1050) are usually seen in the supported list.
Of course, it's never 100% safe. But not so bad odds?
"Mostly working" is a fancy way of saying "broken".
The semantics of the range descriptor are "I can support modes within
these ranges generated by these timing formulas and/or listed in DMT".
That's why we only walk that mode list when we find a range descriptor:
if you _don't_ find a range descriptor then the monitor is explicitly
telling you it doesn't support arbitrary modes over a range.
You can be more aggressive than that if you know your CRTC's scaler can
compensate, in which case you'd run the display at the native mode and
let the scaler translate. The EDID parser is currently not told that
bit of context, and in a sense it really shouldn't; it would be a
function of the CRTC and the DMT list, independent of whether you have
EDID at all.
It's not especially hard to add, I suppose. You'd want to mark modes so
added so the CRTC setup knows to do the appropriate panel magic.
- ajax
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel