xf86-video-intel, modesetting branch
keithp at keithp.com
Sat Jan 27 17:31:29 PST 2007
On Sat, 2007-01-27 at 21:14 +0100, Krzysztof Halasa wrote:
> I don't exactly understand the logic behind pScrn->modes,
> and "output modes".
pScrn->modes is purely for legacy API support; the driver fills in those
fields for DGA and other things, but doesn't use them for it's own
purposes at all.
The per-output modes are what the driver uses now; those are generated
by reading the EDID data, pulling modes based on timing information from
the built-in modes and adding any custom modes placed in the config file
for that output.
> I have
> Section "Monitor"
> Identifier "Monitor"
> HorizSync 30-111
> VertRefresh 50-160
> Option "NoDDC"
> ModeLine "640x480" ...
> ModeLine "800x600" ...
If you just want the standard 640x480 and 800x600 timings, you needn't
add custom modes here; the sync timings should select the right modes.
If you want a specific mode to be used at startup, you can add
Option "PreferredMode" "800x600"
> Section "Screen"
> Identifier "Screen"
> Device "VGA"
> Monitor "Monitor"
> #Option "monitor-VGA" "Monitor1"
Right, this is how you associate a monitor section with a specific
output to control how modes are selected for that output.
> DefaultDepth 24
> SubSection "Display"
> Viewport 0 0
> Virtual 1600 1200
> Depth 24
> Modes "640x480" "800x600" "1024x768"
Having a Modes entry here shouldn't have any effect; the only way to
affect which mode is used by default is to set the preferred mode option
in the monitor section.
> In this case ModeLines in Monitor section are ignored (perhaps thanks
> to i830_xf86Crtc.c:xf86SetScrnInfoModes()) and all I get are default
> modes. If I uncomment that "monitor-VGA" option, I also get
> modes specified with "Monitor1".
Right, with multiple outputs, I'm not sure which one (or ones) to
associate with the single monitor supported in the existing
configuration. There is a notion of the 'compat output' in the driver
which is used for other places where the system assumes there is only
one monitor; perhaps I could use that here as well?
> I understand a single CRTC can drive more than 1 "monitor".
> Wouldn't it be better to not ignore the "main" modes, and perhaps
> to append "monitor-*" and default modes to it (and then validate
> the list against, say, sync rates of all "monitors")?
> The same seems to apply to sync rates, are "main monitor's" sync
> rates ignored on purpose?
Yes, again, I don't know which output to associate the existing monitor
> Perhaps I'm missing something important here?
Not really, I think you've figured out what it does. The remaining
question is what it should do.
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 189 bytes
Desc: This is a digitally signed message part
More information about the xorg