Problems with monitor calibration and MergedFB/TwinView

Alex Deucher alexdeucher at
Tue Aug 22 07:26:38 PDT 2006

On 8/22/06, Graeme Gill <graeme2 at> wrote:
> Alex Deucher wrote:
>  > Despite your unpleasant attitude, I'll reply to this...again.
> Umm - I received no reply to my question, so I hardly see this
> as replying again. As for "unpleasant", well, I've been around
> a while, and I call them as I see them. If that grates with
> you, then perhaps there is a reason. If one has to goad to get
> a response, it's better than being ignored.

I just don't like people expecting something to get done and then if
they don't get an immediate response, they asume the worst and then
make some comment about how open source developers just don't care
about problem X.  For the most part we are all volunteers.  I, and I'm
sure plenty of other developers would like to see good color
management, but it's a lot further down my list than stablizing
drivers and improving basic functionality.  Anyway, this part of the
conversation is no longer productive so lets get back to the issue at

>  > I replied to this thread a couple days ago, but if it didn't go through
>  > then here it is one more time...
> I see no follow-ups to my query.
>  > At the moment it's not currently
>  > possible to adjust the CLUT on the secondary crtc in mergedfb mode.
>  > this is due to the fact that mergedfb is a hack to make multiple
>  > monitors on a multi-crtc card look like a single screen.  The current
>  > driver infrastructure is not really designd to handle multi crtc cards
>  > very well (it's generally assumed one screen, monitor per card). As
>  > such, there's no standard method for accessing the secondary CLUT.
> Well, there is a standard mechanism that works, it's the
> XFree86-VidModeExtension. MergedFB seems to intercept it/not
> emulate it completely, and stops access to the screens individually.

IIRC, VidModeExtension works on X screens.  with mergedfb there is
only 1 screen (just happens to have 2 monitors attached to it.

>  > one could add a driver option or an Xv attribute to adjust the gamma
>  > on the second crtc, but those would just be hacks as well.  Hopefully
>  > Keithp's new multi-head aware update to xrandr or the driver attribute
>  > system discussed in the power management thread will provide some
>  > semi-standard method of doing this.  If this is of interest to you
>  > perhaps you could provide a patch or some ideas on implementing a
>  > solution.  The source is available after all.
> And if you'd kindly like to take over developing color
> calibration and profiling software from me, then I'd
> be happy to stop what I'm currently doing and start
> contributing code. It might not be a very efficient
> division of labour though.
> The solution is not all that difficult - both MSWindows
> and OS X have got it right without any great effort.

yes and they also have teams of engineers both internally and with the
various hardware vendors working full time on those sorts of things.
It was probably more work than it would seem.  Windows and Macos
presumably have a well designed mult-head infrastructure.  X does not
at the moment.

> If you're going to provide a "virtual" screen that covers
> all the real screens, just make sure there's a way
> of accessing the real screens as well, rather than
> cutting off all communication channels. Xinerama

You are not understanding mergedfb.  there is only one underlying
screen.  It is basically a driver side hack that allocates a double
sized chunk of framebuffer and points both crtcs into it. there are no
underlying :0.0 and :0.1, just :0.0.  As such I don't see how you
could make this work with the VidMode.  How do you tell it what screen
to adjust?

> seems to work OK, because (probably by accident as much as
> design I would guess), it doesn't intercept the
> XFree86-VidModeExtension traffic.
> Quite a few Linux/Unix/X11 users have expressed considerable
> interest and anticipation at the possibility of calibrating their
> monitors. I've had to disappoint them by telling them
> it doesn't work on their favourite multi-monitor extension.

If they want support they'll have to stick with "regular" dualhead and
xinerama for now.  Hopefully some of the new developments I mentioned
previously will address this.


> Graeme Gill.

More information about the xorg mailing list