[Openicc] Minimal X Color Management

Kai-Uwe Behrmann ku.b at gmx.de
Fri Feb 17 04:09:59 PST 2012


We had recently a long discussion on the wayland IRC channel about colour 
management inside wayland. The standard answere is not different to that 
from Xorg. Colour management will not be part of the core protocol.
In the first place a was little disappointed, but people taking the topic 
serious and discussed a way how to provide a extension to wayland, which 
can be implemented by each compositor. It is now a good time to make plans 
for that, as wayland is relatively young.

We have so far several strategies, each with their own set of advantages 
and disadvantages.

a) The desktop is one document
approach fits to what we see on Quartz Extreme.
+ architectural and technical wise very good
- X11 and Wayland architecture does not fit into this model, as the
- scene graph is cut off at handing over textures or bitmaps to
   compositing managers/wayland

b) The region based colour correction
was implemented inside the CompICC colour server for Compiz
+ it best fits into the existing environment
+ low memory footprint
+ nice fallback to sRGB
- some artefacts remain
- complex and demanding to implement

c) Window based colour correction
is a natural way how to do things in wayland, as that is the kind of 
object, which are seen by the wayland core protocol.
+ easy to implement in compositors
+ nice fallback to sRGB
- toolkits need to colour correct the whole window
+- memory footprint to this client side solution to be explored (shm)

d) Desktop based colour correction
assumes that the whole desktop is in sRGB and colour corrected.
+ can be done on display side
- all or nothing approach (no device colour, no calibration API)
- does not allow for extra colours of wide gamut technology
+- assumedly deployed on Android internal displays.

Obviously a) falls outside our possibilities. d) has too many 
disadvantages for desktop graphics. b) needs lot of recources. Only 
few window managers supports that.

Last hope in my eyes is approach c). And Pekka Paalanen created a nice 
scheme [1], which would be almost ready for implementation.
There are some additional minor server side issues to be solved for 
implementing that scheme in X11 compositors. Namely window decorations 
need special care. So the good news is, we can start to implement 
that scheme right now and prepare today for a smooth transition towards a 
fully colour managed desktop. That is feasible as most wide spread window 
managers are already compositors with OpenGL shader support.

The X Color Management[2] spec is updated accordingly.

kind regards
Kai-Uwe

[1] http://people.collabora.com/~pq/wayland-color-management-proposal.png
[2] http://oyranos.org/scm?p=xcolor.git;a=blob;f=docs/X_Color_Management.txt


More information about the openicc mailing list