X and colour management

Kai-Uwe Behrmann ku.b at gmx.de
Wed Feb 9 01:00:57 PST 2005


Hello all,

first I will take an small look at the current situation how 
applications can do colour management under X. And further try to show 
differences of an X integrated colour management and an application based 
colour management. I am no X developer so forgive me the regarding lack of 
knowledge.


Situation:

the used components for displaying accurate colours on an display are:
o grafic card or monitor holding 3 one dimensional video LUTs.
o colour transformations on server side exist in the Xcms API
o colour transformations inside the application, accessing an CMM in 
  the applications responsibility
o selfcalibrating systems (not widely used, because of costs)


Pros and cons:

benefits of an X integrated solution:
Xlib LUT API:
o putting an gamma LUT in the X server seems no problem for single monitor 
  systems (tested with xcalib)
Xcms (possible future):
o colour correct all ! content on screen by default 
  (needs to extend the Xcms API ?)
o potentially works across APIs - XV, Xinerama, normal X window ...
o hopefully well optimised (otherwise switched off by users)
o minimal programming effort for applications, which have nothing in mind 
  with colours, like wordprocessors
o leading to an colourimetrically consistent desktop

benefits of an application based colour management:
o possibly implement and use own algorithms, additional hardware drivers..
o provide switches for an bunch of situations, which may be overkill for X
o informational transparency and thereby control of manipulations in 
  colour critical work (open source only)


colour management inside and outside X shows (currently) many problems:
LUT access:
o no X API to transport gamma curves into the monitor LUTs over the video 
  cable (needed to not narrow the 8-bit limit further)
Xcms:
o API is not very popular
o not optimised
o not used(?)
o not ICC conform
o provides no mode for an default colour correction
application level colour management:
o multi head and similar concepts need much knowledge inside applications,
  which region has which profile assigned to
o detection of hardware is currently difficult with X (no direct API ?)


The question is:  will Xcms continue - how?

As the integration of colour management in applications goes on, an 
coexistence of self managing and X side colour management would be nice. 
The coexistence mode would be like an hole in an elsewhere Xcms colour 
corrected desktop.
This allows applications to use only one colour transformation from an 
colour space of choice to the displays/screens colour space.


regards
Kai-Uwe Behrmann
                                + development for color management 
                                + imaging / panoramas
                                + email: ku.b at gmx.de
                                + http://www.behrmann.name

PS: an link to an application wich makes colour visible usage of Xcms 
    would be interessting (sources prefered).



More information about the xorg mailing list