CSS3 and ICC colour profiles

CSS3 drops color-profile property due to a lack of implementation and calls now for more implementations.

These are bad news, as it clearly reduces the scope of ICC profiles. In order to create content with certain colours a ICC profiles is the best way, as soon as the colours exceed the default sRGB colour space. Moreover HTML5 relies on CSS3 colour definitions.

SVG can be used in HTML5 not as syntax, but as embedded document. This means SVG color-profile is not available to all canvas elements. My guess is some web authors need to circumvent sRGB limitations by the means of embedding documents. Is this a continuation of the old flash with unspecified colour space? Clearly not at that level but in regards to colour it might be. We will see. What will be the blending colour space of native canvas elements with SVGs and PNG embeddings?

libXcm and full screen colour correction with a GPU

The name for the X colour management library is found. In short libXcm. Now what? Use it with the compiz plugin to colour correct the complete desktop. The plugin runs on the GPU and is thus pretty fast. It support multiple monitors. Of course a running compiz installation is required to use the plugin.

You need to install some colour management packages. I have created them for Fedora12 and 13 and for openSUSE-11.2.
If you have openSUSE-11.2 or Fedora-12/13 installed, then you can add my OBS repository
For openSUSE-11.2 do a:
sudo zypper ar http://download.opensuse.org/repositories/home:/bekun/openSUSE_11.2/home:bekun.repo
now you can import packages from bekun. The following will install the compiz plug in.
sudo zypper install oyranos-xorg-compiz oyranos-monitor oyranos-monitor-nvidia
Afterward you need to activate the colour_desktop plugin in CCSM

Please note I tested the compiz plugin only in a nvidia environment.

To check if the plugin really works you might install the qcmsevents systray programm:
sudo zypper install oyranos-xorg-qcmsevents
It should appear as a coloured systray icon. It can as well show you a window with more verbose messages. When you switch a ICC profile the selected monitor should typical change its appearance. From the command line you can use oyranos-monitor to play with ICC profiles. For that you might want to have some profiles installed. Oyranos comes with a collection of ICC profiles. Simply install the following package.
sudo zypper install oyranos

Now you can set a aggressive profile to show the effect:
oyranos-monitor XYZ.icc
CIE*XYZ would normally not be used for devices. The following command will unset the profile again
oyranos-monitor -e
Now setup newly and a fallback profile should be generated:
oyranos-monitor
The initial behaviour is to parse the available EDID tag and create an ICC profile from that.
Thats a rough guess but often enough a great improvement to sync e.g. a laptop with a wide gamut monitor. Do not forget to synchronise colour temperature and brightness. To obtain more precise results you need a colorimeter or spectrophotometer and software like ArgyllCMS or a GUI for ArgyllCMS.

How about selecting device profiles by a nice GUI. For KDE4 exists kolor-manager. The repository contains packages for openSUSE-11.2.
sudo zypper install kolor-manager icc_examin
After installation you can call systemsettings and select the kolor-manager panel.

In the Devices tab you can select your monitor and associate a profile to it. Selecting no profile should switch to the EDID automatic generated one.

Speed should be no problem on reasonable new hardware. Compiz itself has already some demand for resources. The colour_desktop plugin adds to that but relatively few. If you watch full screen video it can be up to 15%. With usual internet browsing or text writing it should be very few. I have the plugin running on a laptop and there is not much noticeable battery power reduction.

X11 color management library name

Who does not know about the fun or trouble to get a name right?

Right now I am searching a name for a library. Tomas Carnecky started the xcolor library two years ago inside the OpenICC project. Now its time to get that code distributed as the compiz colour server will rely on it. At the same time we want people to write similar stuff for other compositing managers. libXcolor, working title, attaches colour regions to windows and associates ICC colour profiles with them. The fun is its pretty independent. Only libX11 is linked in and Xfixes should be recommended. Of course there is more needed than just telling about regions. But this little code allows us to communicate between applications and a colour server. So its the glue of information for flexibly colour correcting the desktop.

XCMS would be a good match. But that effort is almost historic and does not fit well to modern ICC style colour management. XColor is already in use by Xorg. AgryllCMS has a libxicc and I don’t want to touch that either. libXcm seems free for X Color Management. Would be well on topic.

Btw. Pascal looked into building a Debian package. As part of that I exchanged the configuration and build system and now the whole project blow up in size. The package is much larger then the real code inside.

LGM 2010

Libre Graphics Meeting in Brussels was a great event. The Oyranos project and a OpenICC meeting where a second time present. The last LGM for me was in Wroclaw two years ago, which was great as well.

This years organisation team managed the expectations very well. The location was really a place of inspiring creativity. The food where nice prepared north african dishes. I enjoyed the vegetarian mixture for these couple of days, as it tents to keep the head free and attention high.
The one track talks worked very well and we will enjoy the recordings of the whole track due to this session layout. The short presentations gave occasions for statements and many nice ideas. Surrounded by Birth of Feather (BoF) and workshops it was a nicely working mixture. And of course the discussions continue as well after LGM on public email lists and in private emails.

The colour management BoF took place on Friday. My notes for the OpenICC BoF session will go to the create and OpenICC email lists soon. We had a nice meeting around colour for the open source operating systems and desktops. Various projects where present like Scribus, Adobe, W3C, Ghostscript, Krita, GCM and Oyranos. The session served to inform and exchange with people around colour management concepts, directions and issues. Even if I had expected more projects to take part, I have seen great interest in colour around. Colour Management was considered as well in the OpenRaster BoF. There was a workshop around cameraRAW colour management and I learned in more detail how it works, which was very interesting.

The Blender project got really a financial impact and more projects target at gaining resources by turning their ideas into financial concepts. Thats a great sign, as it will allow to allocate more resources to the development of these open source projects. Blender had the great money collection to buy the code base for the project and release under a OSI license. Krita obtained much community sponsoring to pay now one developer for several months. Jon Philips talked about his commercial open source activities.
What I hope is that the mixture of various project concepts for the whole libre graphics development keeps open. Ending in a commercial mono culture just with open source strategies would not satisfy. What I really like in this community is the mixture of full time commitment and occasional contributions. There came many surprises to me by people, who seemingly have low commercial interests in their software, but seek ways to express their ideas and just want to evolve in this. I hope the mixture keeps alive as a base for a lively and creative spirit.

Many presentations where this year held by artists. That gave a very nice insight on how projects are driven by user demand. Just hire developers and let them implement, what users want, is a interesting concept. I am pretty sure this concept has limitations to complex software, but the directness of expression is amazing. It shows as well how users are actual enabled to implement their ideas by the means of existing technology. With future developments in web technology like HTML5, I expect to see more of that type of activities. A really great direction.