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 0.8.1.9 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.

Oyranos Colour Management LiveCD III

The third version of the Oyranos Colour Management LiveCD is based on openSUSE-12.1 and will run on x86_64 compatible PC´s. I placed the ISO image yesterday after some preparations on the better accessible SourceForge site for download. The CD project starts into a instantly colour managed desktop, which is unique under Linux.

The ICC desktop colour correction is done by the CompICC colour server. The LiveCD contains the usual mixture of colour managed graphics applications. Among them is the colour management system Oyranos, the KDE Color Management panel, a profiler based on Argyll CMS and many colour management aware applications for drawing, colour analysis and desktop publishing. Due to package size changes not even all programs from the last release are covered. I am very sorry for that. Nevertheless I decided to include Firefox, as a very wide spread every days application. After fixing a bug in Firefox, the web browser is usable under CompICC and has generally improved regarding colour management. But still it has many colour management related issues.

The desktop widget contains some test images to help you verifying, your desktop is setup correctly and works inside all colour managed applications. Covered are some JPEG, PNG, TIFF and SVG images with wide gamut and swapped channel test profiles. You will surely spot problems, as not everything in Linux desktops is really polished regarding colour management. But these test data can help you in getting a sense of, what can be relied on and what not. You can easily include other applications into your test by installing from openSUSE. And please help the projects and report bugs to the according project bug trackers. This will show interest in the issues seen with colour management and helps developers spot current weaknesses, which are otherwise overseen.

The CD uses the stable version of the Compiz compositing window manager, which is the only one being able to run under KDE. While the Oyranos CMS is packaged in openSUSE, a full screen desktop colour correction is currently not possible with KDE´s KWin or any window manager other than Compiz with the CompICC plugin. One difference to the previous LiveCD is a better useable nouveau driver, which since greatly improved and can now launch into Compiz with GPU acceleration.

Scarse Profile Library Warning

Scarse is a project for profiling scanners under GPL based on Argyll code. It started in the old century and became pretty silent, with the last news dating from 2005. The project provides a nice collection of ICC profiles in the Scarse Profile Library, which is now used by some open source graphics packages. ICC profiles referring to standards are used to describe the exact colorimetry of a colour space. The ICC profiles are used to convert to and from other colour spaces in order to exchange with applications, services and customers. It is therefore crucial to meet these standards otherwise results will be incorrect right from the beginning and might render further colour work damaged.

Claudio Wilmanns revealed today a colorimetric imprecision inside the Scarse WideGamutRGB profile. Norman Koren hinted that the Scarse profiles do not pass a profile validation tool. OpenICC could never verify these profiles or how they where build and therefore did not cover any of them in its icc-profiles-openicc data set.

After these comments I like to warn of the usage and distribution of any of the Scarse Profiles for the sake of users trusting profiles of the affected packages in their workflows. We are looking for replacements for some of the most popular ones.

Affected Profiles are AdobeRGB, AppleRGB, WideGamutRGB, CIE-RGB, ECI-RGB, sRGB, KodakProPhotoRGB, ColorMatchRGB and more.

Affected Packages are libkdcraw. Some of the shared-color-profiles/Argyll ‘lcms’ generated profiles from the colord author use in parts the colorimetry of Scarse profiles. The later profiles are not included in the Argyll-1.1.0 source package. These profiles are at risk.

Disclaimer: the author, Kai-Uwe Behrmann, maintains the icc-profiles-openicc package containing ICC profiles describing colour standards.

Colour Management in openSUSE-12.1

The Oyranos Colour Management System will be in the upcoming openSUSE-12.1 release. With the new library users can configure their ICC profiles and settings in one central place. It brings as well a set of command line tools like oyranos-policy for handling policy configuration files and oyranos-profiles for installation of ICC profiles. KDE users can install the KolorManager package. This Oyranos front end adds a system settings control panel for individual settings adaption. But most systems will run fine with Oyranos defaults.

KolorManager is a front end to Oyranos´ settings and device configuration. It can be found in KDE´s system settings panel.

The first tab in the Settings frame contains the policies. Different settings can be grouped into a policy for easier switching workflow configurations. By selecting a policy the Default Profiles and the Behaviour tabs are updated accordingly. If you prefer a very simple workflow with all images converted to sRGB by default, then the Office policy might be right for you. Other users should select one of the quality preserving policies or the inbuilt defaults.

The Devices frame contains all detected colour devices. The currently correctly working device class is monitor. For these devices the setup of the _ICC_PROFILE in Xorg works. Applications can use this information to actively colour correct from their blending or editing colour space to the actual monitor colour space. Be prepared, that at the moment some applications might not use the system profile from Xorg. In some cases that can be changed in the colour management preferences of affected applications.

Below is a list of colour management packages in openSUSE and what they are for.

  • Oyranos – the Colour Management System library and tools
  • KolorManager – front end to Oyranos
  • ICC Examin – for looking at the content of ICC profiles and their 3D gamut
  • libXcm – parse monitor information and handle X colour management protocols
  • xcm – command line tools for libXcm
  • qcmsevents – libXcm based system applet observes X colour management events
  • icc-profile-openicc and icc-profile-basiccolor-printing2009 – high quality ICC profiles
  • oyranos-monitor – monitor command line tool
  • oyranos-monitor-nvidia – fetches monitor information from nvidia proprietary driver
  • lcms2 – high quality ICC Colour Matching Module (CMM) and command line tools
  • Xcalib – command line to upload linear curves from ICC profiles into graphics cards

More packages like ArgyllCMS, it´s front end dispcalGUI, SampleICC and CompICC can be installed from opensuse buildservice.

Google Summer of Code Mentors Summit 2011

Last week end from 21th to 23th October mentors meet in San Francisco / US to share our experiences in organising and mentoring students during Google Summer of Code 2011, talk about open source projects and of course get in contact with other teams and meet in person. The Mentors Summit was well organised and it was fun to be there. It was my first time in the south of North America. So chances where good to meet new people.

The VLC and FFMPEG people where interested in colour management. I tried to give them some idea, what colour managed applications need to know about media streams. It seems, that awareness rises about colour management in the open source video community, which is wonderful.

Two members of the Scribus team where present, Peter Linell and Malex. We could discuss quite some topics around distributions. It was great to meet them both.MountainView Google Summer of Code Mentors Summit 2011

The Open Source in Visual Effects was missed be me due to a swapping of rooms. Luckily Peter knew the OpenColorIO author and we could get in contact in a small four people meeting. We discussed Linux colour management, distribution and the relation of movie picture to ICC style colour management. Jeremy Selan pointed out the very difference of HDR scene referred imagery compared to the style of HDR which is typical in ICC workflows. I could convince Jeremy to look at the ICC floating point extension and it’s two open source implementations. He was interested and might work on implementing that in OCIO too. If that happens, it would be a great step toward joining movie with still graphics workflows. In the past the issues around round tripping and HDR handling had lead to the decision of movie studios to develop own colour management systems. OCIO supports already the export of colour correction tables to ICC profiles for use in photo and paint applications, which traditionally feature ICC workflows. Once the input side through ICC profiles is implemented in OCIO the same library could be used as a CMM inside ICC and movie workflows.

Thanks to Google and its OPSO team for sponsoring and organising a great event.SF_near_port_after_GSoC_summit

Colour management results of Google Summer of Code 2011

We are pleased to announce the final results of this years OpenICC participation in the Google Summer of Code program [1]. All students could reach successfully the project goals and obtained the second part of the Google stipends.

OpenICC mentored two students directly and one student through the collaboration with the openSUSE organisation. All three worked on colour management projects, which covered in parts new ground breaking technology and maintain existing one.

Yiannis Belias worked on the “API stabilization for Oyranos Colour Management System II” project [2]. The new classes, code generator improvements and tools will walk into the Oyranos master branch in the next months. This project helps in stablising the CMS core, which covers a great foundation of functionality. After the conversion, it will be much easier to provide stable and extensible APIs.

Joseph Simon realised the XCPD project. It’s goal was to implement the idea of a robust, standards conform printing dialog, which is based on the Common Printing Dialog (CPD) projects code. The handled and manipulated PDF follows the PDF/X specification for embedding user side colour managed content and remote printer configuration [3] [4].

Sebastian Oliva implemented a ICC device profile data base, called taxi. It is intented to share vendor and user created ICC profiles across platforms in a automated fashion. The online data base is designed to cover meta data about the device driver calibration status alongside the characterisation information in the belonging ICC profiles. The DB is online [5] [6]. The project slot was provided by the openSUSE distribution project and mentored by a OpenICC member.

Google Summer of Code is a global program that offers student developers stipends to write code for various open source software projects.

Many thanks to all students for their great work, all people how helped in shaping the basic ideas and discussing the projects in detail and Google for providing the stipends and openSUSE for addtionally inviting their students to the europe openSUSE Conference.

[1] http://code.google.com/soc/
[2] https://github.com/yiannis/Oyranos
[3] https://www.gitorious.org/google-summer-of-code-2011/xcpd
[4] http://jsimon3.wordpress.com/2011/08/23/gsoc%E2%80%9911-update-%E2%80%93-final/
[5] http://icc.opensuse.org
[6] http://openicc.git.sourceforge.net/git/gitweb.cgi?p=openicc/taxi

dispcalGUI 0.7 @ rwx³

My yesterday held workshop for calibrating and profiling monitors using dispcalGUI+ArgyllCMS in Nuremberg was a nice experience. Around ten people from the openSUSE Conference gathered, all being eager to do something for their health of colour vision. We wanted to create ICC device profiles and collect them for later publishing. Following is a small report and review from the workshop.

We had available a i1display, a DTP94 and a i1pro as measurement devices, which no of the attendees owned privately. Installation on openSUSE-11.4 went pretty smooth. ArgyllCMS is in the multimedia:photo repository and dispcalGUI is in multimedia:color_management. Both are easily searchable through the http://software.opensuse.org URL. One hacker had all packages installed in advance and could start instantly with the i1display. With the default settings in dispcalGUI appeared a small terminal and required to adjust native monitor settings or continue with calibration. We pressed number 7 and continued with the calibration part. This lasted relatively long. dispcalGUI and in the background ArgyllCMS took quite some work to iterate over the calibration for four times with lots of “regression getting worse” style messages. This indicated to us, that it reached an end for improvement or the application where not satisfied according to each persons like. The profiling and installation finished after quite some time and the new calibration and profile could be used in colour managed applications. In Gimp the monitor profile was not used by default. The Colour Management tab in Gimp’s preferences needs to manually enable the system profile, which is a troublesome exercise to figure out. Instead colour managed applications should look first at the system profile. Overriding the system profile by default is dangerous for a good user experience.

The next people became ready and used the DTP94 in between. Unfortunately there where four people failing to use it. What looked like a defect DTP94 device cable of my best colorimeter, was observed by three users as continuous USB device ID switching. One could spot the reason to a conflicting UDEV rule of libmtp. I filled a bug report on SourceForge including the patch of that user. With that fix the DTP94 worked again. I am happy to can use the DTP94 in the future.

I figured out how we can speed up the calibration, by reducing the calibration quality, which was nice in such a big group. One attendee had a repeated black switching of his laptop monitor during the whole process in connection with the nv driver. That persisted even during the profiling stage, which makes no sense to me. I suggested him to install the nvidia proprietary driver especially for his installed Quadro card.

In several cases dispcalGUI crashed without providing further informations on the command line. We had then to repeat the process. Luckily a longer break allowed us to finalise most ICC profiles. I requested the monitors EDID data block from all people, to have the device information available alongside the profile. This can be done by installing the oyranos-monitor package, which brings relatively many dependencies, like a default profile set and several libraries and modules. oyranos-monitor -f edid -o monitor.edid could then be used to collect that data. Some installations did not work as expected and I have to look into the issue. The new profiles need now further preparation before they can be uploaded to icc.opensuse.org.

It was fun to see how most issues where resolved in the group, and that most people could get a device profile for their usage. Registration of a smaller number of people would be helpful to ensure no overload of capacities. Between, dispcalGUI has a homepage with further detailed informations.

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.

Oyranos @ rwx³

rwx³ alias openSUSE Conference (oSC) will be from 11.09. – 14.09.2011 in Nuremberg / Germany. Im going the to openSUSE Conference! The conference for openSUSE - and Free Software enthusiasts, September in Nuremberg, Germany. Are you? We will meet there and can discuss ICC colour management for the openSUSE distribution, KDE and Qt.

Sebastian Oliva will be there too. I hope we can hack together a Oyranos connection to his newly created ICC DB. The ICC DB project, done during GSoC 2011, shall be used to search for ICC profiles by terms of colour device configurations. This means a printer can obtain a fitting ICC profile for a special driver without the need to have all the canned profiles packaged. Independent vendors can easily upload their ICC data and get their optimised profile selected automatically – if all works. Sebastian and Joseph Simon have done fair bits to get there in a clean way, without hacking the whole system.

I will have colour measurement equipment with me and we can create new profiles for actual used gear, like laptop monitors. Of course these shall walk into the ICC DB.

It would be cool to meet with Compiz and KWin maintainers/packagers to get the GPU colour managed desktop project further. The net-color-spec appears pretty robust. But we need a critical mass to support the concept of colour correcting all windows on the desktop in compositing window managers.

Will be great to meet you all.