[argyllcms] Re: Argyll, ColorMunki & dual display

  • From: Kai-Uwe Behrmann <ku.b@xxxxxx>
  • To: ArgyllCMS <argyllcms@xxxxxxxxxxxxx>
  • Date: Wed, 22 Sep 2010 08:36:53 +0200 (MEST)

Date: Wed, 22 Sep 2010 10:44:08 +1000
From: Graeme Gill <graeme@xxxxxxxxxxxxx>
Subject: [argyllcms] Re: Argyll, ColorMunki & dual display

Kai-Uwe Behrmann wrote:

The nvidia propriarity driver works perfectly with Compiz and thus with
the CompIcc plugin[1]. A distribution like openSUSE allows to install
all needed components per thierd party repositories. A LUT setup is not
desireable with this setup. The ICC profile does the calibration and
colour correction through GPU texture shaders in one step.
The drawback is that all applications see currently only the desktop
document colour space, which is sRGB. Applications have to be updated
before they can use the native device gamut again.

Hello Kai-Uwe,
        while this setup will certainly allow color management
to be used and applied to all applications on the desktop, it
has several drawbacks:

1) The application has little flexibility as to how it handles the color.
   Either it's stuck with sRGB, or double color correction is applied.

Thats wrong :-) All applications handle colour management the way they did before. The net-color spec as is, does replace the _ICC_PROFILE(_xxx) atom with sRGB to avoid double colour corrections. Inkscape and other colour managed applications see just sRGB and can correct to that as usual. (Between Inkscape is limiting itself to sRGB regardless of CompIcc.) Through my tests I have seen no double colour correction of old style apps.

2) The gamut is limited to sRGB (or some other chosen colorspace), rather
   than the full gamut of the monitor being available to the application.
   This can be significant in proofing situations, particularly if
   optimized proofing device links are being employed.

For the desktop the "limit" to sRGB is true and desireable. I dont want the firefox icon to pop out of the desktop because of using the native wide gamut. Applications, which want to do early colour binding and doing fancy stuff with device links, thats possible through putting a hole in the colour corrected desktop in their own window. They are free do whatever they like with the full gamut available. This is as well a useful path for monitor colourmeasuring.

3) Profile based color management usually doesn't allow manipulating
   the white point and brightness level of the display, while calibration
   using per channel LUTs does. These aspects can be important in
   soft proofing situations.

I had never trouble to simulate any colour space including whatever media white points. The absolute colorimetric rendering intent allows for that.

For making the desktop appear like a D50 illuminated device its shurely possible to setup a according perceptual table in the profile. This will not limit the path for net-color spec aware apps, as they can render into the native device colour space with full tonal range.

4) Per channel calibration LUTs have far greater precision than profiles,
   and are therefore able to make fine corrections to the transfer curve,
   particularly near the black point and in setting the white point.
   This is primarily due to the number of measured patches involved in
   calibration vs. profiling, and the dimensionality of the spaces being
   explored. In addition, while a one step texture lookup will be good for
   applying 3 dimensional colorspace and gamut transformations, it
   won't have the same precision as a separately applied per channel
   curve lookup.

There are certainly drawbacks of the one over the other solution. However a reasonable colour corrected desktop is for most users expectedly more worth that the last bit of calibration precission could deliver.

Note that if the per-channel hardware LUTs are not available for
particular cards, it's still perfectly possible to profile them, and 
can make use of those profiles. While this still has the same drawbacks of
not using calibration curves that the plugin mentioned above has, it
has the advantage of making the full gamut of the display available
to the application.

In case nouveau can be setup with Compiz, the compIcc colour server
plugin should work with nouveau too.

Nouveau is certainly worth checking out to see if it solves this problem
while not introducing significant limitations for your typical uses.

Agreed, the freedom to calibrate per monitor LUTs is fine for those who desire that. Just, I have the preference to use the full tonal range and thus avoid banding artifacts.

kind regards
Kai-Uwe Behrmann
developing for colour management www.behrmann.name + www.oyranos.org

Other related posts: