Tomas Carnecky's proposal is to be found here: Color Management near X.
This page is dedicated to collect informations about the ongoing OpenIcc / GSoC project. The project is continued in the net-color spec and libXcm as of 2010.
Features
- Client-side library for easy integration (libXcolor)
- Sample client that demonstrates the functionality
- Plugin uses RandR to fetch output geometry and profiles (code located in the 'randr-outputs' branch)
- Automatic color transformation based one where the window is located (which output)
- Applications can express preference which output should be used as the 'main'
Limitations
- Blending is done in monitor colorspace, not a linear colorspace
TODO
- If RandR unavailable, fall back to xinerama / root window properties (preliminary support in the 'xinerama-outputs' branch)
Building
Required to build and run the project are compiz, lcms, xfixes, cairo and a running compositing environment. All of this is part of modern Linux distributions. Depending on your distribution, you might need to install the according xxx-devel packages.
Build the project with:
- git clone git://dbservice.com/Linux/compiz/color
- cd color
- make all
- make install
Update later with: git pull
The color plug-in appears in the compiz-fusion plug-in manager and must be activated. It is about the last entry in the list. A cairo based test application is included and called client. To run the sample client, first 'export LD_LIBRARY_PATH=.' and then run ./client from the root directory of the project (this is because the client now depends on the libXcolor.so library).
References
a xorg email list thread starting with Tomas' X protocol proposal to communicate between applications and the colour compositor (actual compiz)
XDamage protocol to detect regions to update in compiz
first screenshots 10. june 2008
screenshot with regions applied 18. june 2008
screenshot showing color transformations depending on the output 13. Aug 2008


