[Openicc] ICC Profiles In X Specification

Sven Neumann sven at gimp.org
Fri Oct 5 13:09:21 PDT 2007


Hi,

I am having a small problem interpretating the latest version of the
ICC Profiles In X Specification as found on:

 http://burtonini.com/computing/x-icc-profiles-spec-latest.html

The spec suggests that the _ICC_PROFILE atom is set on the root window
of the default (first) screen. It also says that for root windows
spanning more than one screen, as typical in Xinerama multihead
configurations, an atom for each screen is added holding the appropriate
ICC profile. This property does not have to be set on every screen. When
this property is not set on a screen, the screen is uncalibrated, and no
colour correction for display should be done.

OK, so let's assume we have two monitors, the primary one is calibrated,
the secondary isn't. So we have _ICC_PROFILE and _ICC_PROFILE_1 set. If
I want to determine the settings for the primary monitor, all is fine. I
can query for _ICC_PROFILE_1 and be done with it. Now if the window is
on the second monitor, I would query for _ICC_PROFILE_2 which is not
set. Now since ICC_PROFILE is set, I can't tell whether the system
supports revision 0.2 of the spec and wants no correction for this
monitor or if it only implements revision 0.1 and _ICC_PROFILE should be
applied to both monitors.

How am I supposed to handle this? I could assume that one profile for
both monitors is not a good idea and don't do color correction for the
second monitor. But then consider the case where monitor one is
uncalibrated. Since I also want to support systems that only implement
revision 0.1 of the spec, I need to query for _ICC_PROFILE in case that
_ICC_PROFILE_1 is unset. Since revision 0.2 requires that this is set, I
can't tell if the primary monitor should be color corrected or not.

I am probably just missing something or are misinterpreting the spec.
Can anyone help?


Sven




More information about the openicc mailing list