Linux Color Management Hackfest Brno 2012 ended

Around a dozen people met inside the Red Hat offices in Brno last weekend. The attendees came from various distributions and projects to discuss and work on color management for Linux. Most people arrived at Thursday and we started immediately to brain storm ideas and share information.

I was quite shocked as I heard Dantii could not join us. Fortunately the last messages about him sound very encouraging. It is great that our community could in different ways help him and his family.

The basic concept we worked with during the hackfest, was the opt-out of colour management approach. That was visible in printing and in window manager colour management.

Printing people discussed the PDF/X OutputIntent. The concept was developed to overcome the current short commings in the cupsICCprofile, which is primarily a vendor solution for CUPS print servers and the colord user session hook inside CUPS server. The implementation of the concept was done inside libCmpx, which is basically a wrapper around Ghostscript, which does the majority of the work, and a interface to Oyranos. From the other side John Layt looked into that work and Krita new print colour management tab to understand the implications for the KDE/Qt print dialog. He discussed lively with Till Kamppeter, Richard Hughes, Chris Murphy and me on how to get forward with that. Richard wrote a proof of concept for on screen print simulation in GTK. Chris talked a lot about osX printing and did some testing there. His experience on other platforms than Linux helped us a lot to figure out, which path we want to go and way the make sense. I searched for some PDF’s showing the features we need. They can now be found on ColourWiki. Jaroslav Reznik printed them and Till tested them. Michael Vrhel from the Ghostscript project fixed already after the event all of the bugs, which Till worked on in Brno. We had the idea, that some PDF printers might be able to do the right thing with the OutputIntent themselves. While discussing on how to know about that capability, Till and Richard had a nice idea how to reduce code duplication inside the current set of Linux CUPS filters. In parts the Color Management Hackfest crossed over into a Printing Summit.

Jan Grulich started coding on KolorManager. He implemented a widget to show a 2D graph of a ICC profile inside the information tab. Sirko Kemter was not very happy about the colours inside the graph. So I adjusted them, but after the hackfest.

While working on that, Jan profiled his monitor using Dantii’s colord-kde. Yes, Lukáš Tinkl fixed it, so it can now create ICC profiles. We needed to hand massage the profile to get it into Taxi DB, and then thought, it would be good to download the fresh profile later through Oyranos. That worked fine on the command line. But inside KolorManager a selection that a profile is available for download from Taxi DB would be more appealing. Jan wanted to look into that, and I worked later on a API and code snippet for Oyranos.

By the way, the above screen shot is done using the new colour correction feature for KDE-4.10. You might see the strong colour cast in it. Dan Vrátil worked on undoing that cast inside KSnapshot using the actual monitor profile. The initial coding was fast. But he likes to get that working for multiple outputs too.

Casian Andrei, who did the KWin Color Correction project during this years GSoC, wrote some documentation about that newly added feature. While writing that and clarifying some points, we discussed the opt-out inside KWin and found that it is not yet present. Sig. But Casian had played with the idea already and said that per region opt-out would be trivial inside KWin and started to write on that feature during Sunday. In case that works out, it would be trivial to opt out inside existing applications. But we found as well, that for a perfect results only a blending in the correct colour space is needed during compositing. That can be implemented inside toolkits, which is not trivial, and can then be used together with the per window opt-out. That buys us some valuable time for the toolkits to become ready for full colour management support. Whether the same per region approach is easy enough to implement in Wayland needs to be seen.

Now back to profile distribution. Oyranos obtained a new backup tool for Taxi DB. And we counted already over 200 different ICC profiles in the online data base. Sirko Kemter and Daniel Jahre grabbed the taxi sources, installed MongoDB and worked on mostly basic stuff to add later more features. The online front end to the DB can be used on every platform for download and upload. Daniel and Sirko discussed how to temporarily store a ICC profile from the ColorHug LiveCD. We found that the data base can be used for very different things, e.g. distribution of spectral data sets for camera sensors.

Pippin worked since some time on improving the display of gradients on 8-bit driven monitors. He came up with a dithering approach and tested that using the Taxi DB profiles for the analysis of his implementation. That helped him to make the algorithm more robust even with strongly distorted monitor gamma curves. There is quite some interest inside the graphics designers community for his work to solve banding problems. We talked a bit about gegl and I found babl especially interesting. The small library does, what I call pixel layout conversions. Those are in part colour space conversions and encoding conversions. For better separating encoding, 8-bit versus 16-bit etc., from colour spaces, e.g. linear gamma + Rec709 primaries versus sRGB etc., we need better ICC profile analysis. Especially gamma analysis can be improved inside rendering pipelines. Beside discussing hardware stuff, spectral imaging, video processing and so on, he gave a small and very helpful introduction into colour theory, which was a eye opener for many of the colour management newcomers and thus very welcome.

We had a interesting discussion about financial implications of colour measurement hardware. My impression is the high costs and thus reduced availability for good colour measurement gear nags on the success and acceptance of ICC colour management in consumer and professional markets.

During the hackfest it was really a pleasure to have so many experts in the field in one room and work together in a highly productive atmosphere. Some of them I met the first time. So let me thank our sponsors Google, Red Hat and KDE for their generous support of the hackfest idea.

We all worked quite a lot and found such a event should not stay single. So we agreed already to arrange a one day track and one following day at LGM in Madrid / Spain 2013 under the OpenICC umbrella. I hope we will see then even more projects coming.

Linux Color Management Hackfest 2012

The hackfest in Brno is approaching fast. I wrote earlier this year about the idea. It will happen from 9th until 12th November 2012 inside the Red Hat Czech office. Talks with our local organiser and various sponsors went good so far. People will code in Brno on various topics around color management in Linux.

The main focus looks like to be at applications, desktop and library integration. For the printing system and Taxi DB was good interest too. As the event is organised as a framework for attendees, each one will decide, what is best to do. After a morning meeting, where we can coordinate, we will likely split in smaller groups according to a choosen topic or move around as needed. We hope that works for all attendees. There are specialists present for many Linux color topics for discussion and of course color management newbies can ask them to effectively improve their project.

LGM 2012 talks

As mentioned in a post before, the Libre Graphics Meeting will be held in Vienna from 2th until 5th of May this 2012. I have now submitted my talks and will hopefully know in some days if they are accepted.

OyranosColour Management a la Greek: will give a overview about some technical concepts for platform independent color management systems.
Evolving Concepts for Colour Management: will summarise the ongoing ideas and discussions on the freedesktop working group OpenICC.

Like in the years before, there is a chance to meet with students of the upcoming Google Summer of Code projects.

Sirko submitted Taxi DB – Call A Cab To Bring The Colors: which describes the idea behind the ICC profile database and hopefully we getting some feedback and ideas, on how to make sure, that the quality of the profiles will be high.

Markus Raab has submitted a talk about Elektra, which is used as DB API by Oyranos. I hope that will show new lively developments in Elektra ;-)

I am sure the self-styled competitor will also be around and give an talk about his view on color management.

If we can get to useful work on specs on a OpenICC round table for the sake of cross desktop compatibility, then even better.

Gustav likes to attend the Libre Graphics Meeting, but he needs some support to get there. We should help him, so that he can meet Boudewijn Rempt and some others from Krita, who can help him to find his way to the KDE community. But he needs some money for travelling. And there are still some other requests for generosity I mentioned before.

Tupi Libre Graphics Meeting Tatica
Click here to lend your support to: Libre Graphics Meeting Presentation and make a donation at ! Click here to lend your support to: Libre Graphics Meeting 2012 Vienna and make a donation at ! Click here to lend your support to: Tatica travels to LGM and make a donation at !

Libre Graphics Meeting (LGM) is coming along nicely and will surely become again a cool event for the FLOSS community. LGM is this year co-located with the Linuxwochen Vienna and their Call for Papers is still open until 1st of April.

Oyranos-0.4.0 released

The new version of the colour management system Oyranos is released. Version 0.4.0 is a feature and bug fix release.

Changes Overview:

  • new list Taxi DB profiles for a local monitor
  • new download and install ICC profiles from Taxi DB
  • fix HDMI2 XRandR EDID
  • new widget classes to image_display for per window CM
  • new add oyranos-monitor-daemon script
  • switch to libXcm 0.5.0 for X Color Management support

Oyranos is a colour management system allowing to share various settings across applications and services. The provided interfaces are the C library, native graphical front ends and partitial access through command line tools. The library is licensed under newBSD.

Known Applications using Oyranos:
ICC Examin, the KDE Kolor Manager and Synnefo configuration dialogs, the CompIcc colour server and more.


Thanks to all contributors and bug reporters.

git git://
git sha1: 97e01081831eb129cdea67c2c2b1acf23478cf8a
package: 0.4/oyranos-0.4.0.tar.bz2
size: 1265839 Byte
sha1sum: 4841e1271a24071600494fc0c1281c65b007de76 oyranos-0.4.0.tar.bz2
md5sum: 4ec2c728c5ca7d450c47d95405de3ade oyranos-0.4.0.tar.bz2
Linux RPM:

LGM Vienna 2-5 May 2012

The Libre Graphics Meeting is the annual event for open source creative graphics software. It greatly helps in improving the open source software stack through lots of talks, discussions, round tables, work shops and wonderful face to face meetings. There is always a great mixture of developers, artists, writers, translaters and interested people present, who come together in a very friendly and inclusive atmosphere. We had in the past always a OpenICC round table, when I was at LGM, and discussed various topics and planed around colour management. That should happen this year again with many ideas coming up.

To get people from all over the world to Europe, we need your help:


Sirko has created another pledgie:

OpenICC Program FOSDEM 4 + 5 February 2012 in Brussels, Belgium

OpenICC uses 2012 a DevRoom at FOSDEM on Sunday together with Xorg people. The goal is to provide a meeting space for colour management topics.

The program is online on the OpenICC wiki. The talks will present and discuss colour management in Compositors, OpenICC, Scribus, Taxi DB, Oyranos and SVG2.

dispcalGUI supports online ICC Taxi DB

Version of the monitor profiling front end to Argyll CMS was released on 08.12.2011 with a new option to share profiles via the ICC Profile Taxi service hosted by openSUSE. dispcalGUI is thus the first application we know of supporting the online data base (DB). The Linux package is available on openSUSE and will be in the next update to the Oyranos Colour Management Live CD.

OpenICC @ FOSDEM 4 + 5 February 2012 in Brussels, Belgium

OpenICC can next year use a DevRoom at FOSDEM on Sunday together with Xorg people. The goal is to provide a meeting space for colour management topics.

Call for Talks:

So far we have one glue talk between Xorg and OpenICC, Scribus and PDF colour management, Taxi DB, OpenICC work and one about Oyranos CMS. We would be glad to see some more talks proposed related to colour management. If you think you could contribute a talk about your favorite project and user topic or get a interesting discussion rolling, then please get in contact with me.

Submission deadline is new year. We will middle January confirm accepted talks.

While OpenICC is usually much biased towards ICC ;-) , we feel obliged by the first part of our title and like to get in contact with people using other colour management standards as well and discuss all the overlapping topics. That could be movie or photography. Let´s make it happen. FOSDEM is told to be a good place for that.

Taxi @ rwx³

Sebastian Oliva presented today at the openSUSE conference the results of his ICC Device Profile Repository project to his mentoring organisation as participant of the Google Summer of Code 2011 program. As profile creation is expensive to most users, he emphasised the importance to easily share ICC profiles among these users. During the summer project, which is called now taxi, he developed a generic API to store and obtain ICC profiles through JSON requests.

Google Summer of Code 2011 Students

Several students proposed this year to specific colour management themes. Unfortunately not all could be accepted for the stipends, even though the quality of the proposals where generally high for the themes and response was very lifely. The mentors made their decision and picked the following three proposals and students.

Yiannis Belias will continue the last years project:
“API stabilization for Oyranos Colour Management System II” for OpenICC
We have seen good progress and quite usable code during the last year period. Still there is lots to do to integrate and finish the code transformation.

Joseph Simon will work on:
“Color Management for the Common Printing Dialog (CPD)” for OpenICC
This is a working title and might be changed based on input of the community. The idea covers a prototypical CM UI for print dialogs either using the CPD or perhaps something like the GTK print dialog.  Perhaps the biggest challenge will be to figure out what should be in the printing CM UI. It would be great to see the OpenICC list to help work out the UI design.

Sebastian Oliva will work on:
“ICC Device Profile Repository” at the openSUSE organisation
A colour database to allow clients to request or submit colour profiles for colour managed devices. The idea was proposed at openSUSE as a collaboration project in their ongoing support of colour management. It will be mentored with the help from OpenICC people.

Congratulations for the acceptance of your proposals for the Google Summer of Code stipends this year. And thanks in advance for bringing your valuable time and energy into these projects to improve open source colour management.