Multi-monitor (xinerama/mergefb) support in RandR

Michel Dänzer michel at
Wed Jun 28 10:12:04 PDT 2006

On Wed, 2006-06-28 at 10:07 -0400, Alex Deucher wrote:
> On 6/28/06, Benjamin Herrenschmidt <benh at> wrote:
> > On Tue, 2006-06-27 at 23:07 +0200, Keith Packard wrote:
> > > Eric and I are busy figuring out how to handle multiple monitor hot plug
> > > with X and have a fairly simple plan.
> > >
> > > Multi-screen X basically sucks, so few people are really excited about
> > > using it. Xinerama sucks in the DIX implementation because it makes
> > > things slow and bloated. Mergefb mostly rocks; fast, small and even DRI
> > > continues to work right.
> >
> >  +/- the limitations of some 3d engines for too big screens... I don't
> > know if/how that can be handled...
> >
> Iterating across the framebuffer in coordinate sized chucks in the 3D
> driver. The 2d engine will also have this problem due to the
> limitations of XAA.  for this to work properly, drivers really need
> EXA support, otherwise you'll have to add hacks to re-base the 2d
> engine if you are outside your coordinate limits.
> Come to think of it, even EXA may be problematic.  the visible screen
> may no longer be solely at offset 0 if you have particularly big
> multi-head desktop.  

I don't see what would prevent the drivers from handling all this
transparently, at least with Radeons. Maybe I'm missing something.

> Also, for things like tiling, you may need multiple tiled surfaces to handle 
> big desktops (one per crtc potentially).

I'm not familiar enough with the tiling algorithms to tell, but
shouldn't it still work so long as the coordinate limit, offset and
pitch are multiples of the 'tiling unit'?

Earthling Michel Dänzer           |
Libre software enthusiast         |          Debian, X and DRI developer

More information about the xorg mailing list