[Openicc] Linux CM ideology, was: meta data in test chart
Chris Murphy
lists at colorremedies.com
Thu Jan 27 16:36:24 PST 2011
On Jan 27, 2011, at 4:08 PM, Jon Cruz wrote:
>
> On Jan 28, 2011, at 7:19 AM, Chris Murphy wrote:
>
>> I'm a bit confused. I don't think it's a good idea to have the window server doing some display compensation for "dumb applications" and then having other smart applications opt-out and do their own display compensation that's different. I would think if you're going to go to the effort of creating a window server that can do any sort of display compensation, you will find engineers (say from GIMP) who will help with that effort and optimize it, rather than having to build their own display compensation routines.
>
> I know that in the past I've discussed this with X people (including Keith Packard) and had it explained that the place for color management the way we're looking at it was most likely not in the display server.
>
> When asked briefly again the other day, Keith stated that the management abilities currently in X11 will be made present in the post-X solution they're looking at.
I don't know exactly what all that means. I just want to make sure there's some understanding that to do system wide color management that normalization to a single color space encoding in order to do compositing (combining all of these different sources, and then outputting them to a display or displays) is required. There are very simple ways to do this: single display, low performance hardware implies you would want a single conversion directly into the compositing space and that compositing space would be Display RGB so you don't have to do a second conversion for display compensation, they're combined in one step.
But this is obviously not ideal for multiple display setups. Which display is Display RGB? You don't really want applications having to be aware of which display they have to convert to. You also don't want them converting to a clunky 8bpc small gamut intermediate space like sRGB, only for it to be converted yet again for display compensation, let alone composited with other content that's not necessary sRGB or 8bpc.
So either you teach the applications to do all of these tricks (talk about heavy weight), or it's got to be provided as a service. If that's something that happens in advance of the window server, fine. But then what's the job of the window server? Seems like it actually does compositing of all of these different objects and sources and would be the thing most aware of the location of windows, panels, menus, objects to be displayed and on which display they will be displayed. So if X11 nor post-X window servers are not going to do color space conversions, then I wonder if maybe that means there's some kind of normalizer service required in front of the window server, and then some kind of display compensation service after the window server. (Not that there's a problem with this in my opinion. I'm simply suggesting "if not A, then here's what B might look like.") And then I'm also not exactly certain of the responsibilities of the window server.
*shrug*
Chris Murphy
More information about the openicc
mailing list