Multi-monitor (xinerama/mergefb) support in RandR
Henry.Zhao at Sun.COM
Mon Jul 10 20:05:27 PDT 2006
Keith Packard wrote:
> shows what the specification for this new adventure might look like.
> Essentially, I've "extended" the existing RandR spec to separate out
> screen size from monitor mode, by making the screen contain a list of
> monitors, and each monitor contain a list of full CRTC mode
> specifications. Each monitor also contains an x/y position within the
> screen and a rotation/reflection value.
> Compatibility with the existing extension is provided by reporting the
> modes present for the first monitor in the list, along with a fake mode
> based on the screen size (if different from the monitor mode).
> Applications setting modes with the old extension will set both the
> screen size and the mode for the first monitor. Additional monitors will
> be set to a 'reasonable' mode and show a clone of the first monitor.
This is a good idea. But I hope the implementation also covers MergedFB
mode where some monitor info may be driver private (for example, in
radeon driver, mode info for the secondary monitor is stored in
((RADEONInfoPtr)(pScrn)->driverPrivate)->CRT2pScrn) and more driver
interaction will be required.
Another thought is whether it is possible to add mode resetting to
RandR protocol to allow system to adjust modes to new configuration such
as adding/removing monitors, change of config file, etc, without
restarting server. Although the implementation is still to be
investigated, and currently if feasible, will depend on drivers.
> The implementation will emulate the old requests and DDX interface using
> new data structures. That work is well underway and appears
> With this change, RandR replaces the functionality of the XFree86
> VidMode extension and Xinerama, while augmenting the capabilities of the
> X server. It doesn't handle gamma table adjustment per-monitor, we can
> just leave that in the VidMode extension if we like.
> Interested parties are encouraged to read and comment on the proposed
> changed to the RandR specficiation. I'm hoping to have a working
> implementation done in the next week or so; Eric has been busy getting
> the Intel driver ready to support this change.
> xorg mailing list
> xorg at lists.freedesktop.org
More information about the xorg