colour managed KWin


the kde-usability people on IRC suggested me to write here about a project
idea around kwin.

in short:
KWin would be great to support ICC colour profiles in order to colour
correct the complete desktop in hardware.

Through KWin's shader plugins it is possible let the GPU colour correct
all windows on the fly. Thats extremly efficient. Background images,
icons, all windows of all toolkits (including native Xorg), inclusive
movie playing, games and so on would be colour managed for each monitor.
The desktop would we assumed to be in sRGB, the standard internet colour
space. That is what nearly all theme and application designers choose
their colours from.

To do it properly, the net-color spec[1] should be supported along side.
It covers a communication protocol to talk to the desktop colour server and
tell it, which regions in a window shall not be colour corrected. Thats
important for applications like Scribus, Krita and Inkscape. They can then
do their own colour management in one go and bypass sRGB. sRGB can become
a bottleneck for wide gamut monitors or for calibration during ICC profile

The whole thing can be made completely automatic. This is demonstrated
with a recently published LiveCD[2]. It starts without knowing anything
about the attached monitor into a full colour managed desktop with Compiz.
Techically it asks for the EDID data from the monitor to get the proper
colorimetry and creates a ICC profile on the fly. This is often not
perfect, but it is a great improvement over no colour correction. Btw. it
is on an other OS daily practice for hot plugged monitors. Most image
content is sRGB. So most users will benefit very much.

It would be great to get feedback here and figure out if and how this
project could come in live.

about me:
I am a opensource colour management consultant, developer and freelancer.
On different projects I worked on the colour management side. My actual
focus are proposals and data sets on the OpenICC project[3] and a
according implementation in the open source Oyranos colour management
system [4] and other smaller components.

about Oyranos
The goal with Oyranos is to obtain automatic colour management for many
device classes. In Oyranos the most mature state is reached for displays
on Xorg and Quarz. It would be cool to extent this to WCS, Android and get
the other device classes to a similiar level. Automatic means in this
context, no interaction of end users shall be needed. Manual preferences
keep priorised for experts. Oyranos is packaged for some RPM based
distributions [5]. The Oyranos project captures most of my free time ;-)

kind regards
Kai-Uwe Behrmann