On Thu, 2010-03-25 at 11:27 +0000, Richard Hughes wrote: > What I'm proposing is a plugin for mutter that uses lcms to color > convert the whole screen, masking out the color-corrected regions. > Using mutter allows this to work with GNOME 2 and GNOME 3, and mutter > also seems to be the sweet-spot for this kind of display correction > without putting ICC profile decoding and gamut mapping into the X > server. > > Is full screen color correction something that you think is a good > idea, and also would you allow me to create the required hooks in > mutter-plugin.h to make this possible?
* I think making the compositor manager do color correction for naive apps is a great idea. * Mutter is the certainly compositing manager of interest for GNOME. (Though in terms of "GNOME 2" - Mutter working without a plugin is pretty much gravy - it seems to work pretty well now, but it isn't an explicit development goal.) * I'm not at all convinced that stacking multiple Mutter plugins is a good idea. Think of mutter as 'libmutter' implemented with a weird inversion of control where main() lives in libmutter rather than in the application. Is there are reason this capability couldn't be built into Mutter? * Do you know what technique you would be using to do the color correction? Do you render the whole screen to an offscreen buffer than color correct that when drawing to the stage? Or do you apply mapping tables to individual windows? This affects whether Clutter changes would be needed as well. Note that much of the screen when gnome-shell is rendering is *not* windows, and Mutter doesn't see it being rendered at all - Mutter is just adding actors to the Clutter stage and gnome-shell adds additional actors to the Clutter stage. (This additional content will normally be sRGB content, though I suppose you could imagine putting a non-sRGB photo as your desktop background and wanting it to appear in full gamut.) - Owen _______________________________________________ gnome-shell-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gnome-shell-list
