Colour Management has a long way to come to the Linux desktop. Like on other computing environments first came single applications like Scribus, CinePaint or Krita and proved colour management be useful and mature. Now the open source Desktop stacks are following. Most advanced and wide spread inside colour managed applications is colour correction for monitors.

For KDE exists the KolorManager systemsettings panel for configuring a ICC profile per monitor device. It´s Oyranos CMS cares as well about setup of standard Xorg _ICC_PROFILE(_xxx) root window atoms and video card graphics table (VCGT). The later is a one dimensional per channel colour correction feature. So expect no magic all included solution by this means.

The heart of today most wide spread colour management systems is the ICC file specification. And to get ICC style Colour Management working inside KDE, the framework has to handle several needs.

One is to provide a overall desktop colour correction, which applies to the whole monitor screen area. A Desktop Colour Server will improve the overall Desktop usability and appearance in heterogeneous environments like Linux. Obviously colour measurement devices and early colour correcting applications need native access to the monitor colour space. The currently only full featured and backward compatible implementation of that scheme for Linux is the CompICC plugin to Compiz. The CompICC colour server assumes sRGB for all input. Output target is the actual monitor profile set e.g. by KolorManager. More details can be read in a older blog post. Given that colour servers are still pretty rare, only osX and CompICC provide that, it might not be a good goal for the foreseeable future to let all applications rely solely on that feature for their colour corrections. But it has the potential to the most slick and flexible desktop colour experience.

On the Input side ICC profiles and according Exif meta data need to be detected from the input streams and get appropriately assigned as ICC meta data to graphics objects. That can be application specific but is a very common task, which will be better implemented on the toolkit or framework level. The display component should then make use of this ICC meta data and do on the fly colour correction. As well file output needs support of embedding the ICC profile data back into the data stream.

Alongside the ICC data handling come options and preference management, which is covered by the KolorManager GUI to the Oyranos API.