Alan Hourihane wrote:
So you'd only use the modes for the second monitor that is described for the primary monitor ?

Well, "described for the first monitor" isn't quite it. Although they relate to monitor 1 in the config file, they equally descrbe both monitors. Currently, it looks like this:


Section "Monitor"
        Identifier   "Monitor1"
        VertRefresh  xxx-xxx
        HorizSync    xxx-xxx
        ....
EndSection

Section "Screen"
        Identifier "Screen1"
        Device     "mydevice"
        Monitor    "Monitor1"
        DefaultDepth 24
        SubSection "Display"
                Depth     24
                Modes     "1024x768" "800x600" "640x480"
        EndSubSection
EndSection

Section "Device"
        Driver     "sis"
        Identifier "mydevice"
        ...
        Option  "CRT2Position"        "LeftOf"
        Option  "CRT2HSync"   "xxx-xxx"
        Option  "CRT2VRefresh"        "xxx-xxx"
        Option  "MetaModes"   "1024x768-800x600 800x600-1024x768"
        ...
EndSection

"Monitor1" and its specs are in the (only) Monitor section - and describe monitor 1. The specs for the second monitor (monitor 2) are in the Device section. This is the ugly thing that your proposal would fix by allowing a second Monitor section.

However, the Modes in the (only) Screen section are checked against the Monitor specs of BOTH monitors. In the end, I have two lists of Modes which are valid each for one monitor. One can consider the Modes list in the Screen section as a pool of modes (for both monitors) from which the MetaModes can be combined.

The MetaModes statement is the "final" step: It combines the Modes for monitor 1 and monitor 2. In case a mode didn't pass the check for one monitor, it cannot be part of a MetaMode, hence this MetaMode is being skipped.

This way the user has most control about what modes are to be used on what monitor at a given time. The MetaMode statement above would lead to 1024x768 on monitor 1 and 800x600 on monitor 2 at server start. After CTRL-ALT-+ it will be 800x600 on monitor 1 and 1024x768 on monitor 2.

(The way you put it is, strictly speaking, correct: I "abuse" the Screen section which points to Monitor1 for both. But, apart from the uglyness, that does not really hurt as 1) you can give specific specs for the second monitor and 2) decide what modes really to use with the MetaModes.)


Just a heads up, that I'm also considering 'hot-pluggable' monitors too
as a factor in all of this.

The SiS driver basically already supports this. However, given the server-side limitations for run-time changes this support is very limited (to mirror=clone mode).


I assume that this hotplug-stuff will not be supported for "genuine" dual-head mode? (I guess that would be hard to implement...)

For MergedFB, that should not be a problem at all.

Thomas

--
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net         *** http://www.winischhofer.net
twini AT xfree86 DOT org
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to