[Openicc] Profile installation and association for Linux/Unix/X11

Tomas Carnecky tom at dbservice.com
Mon Apr 21 12:22:05 PDT 2008

This whole discussion can be split up into two questions:

1) Where to store the profiles
2) Who is responsible for setting the _ICC_PROFILE property

To the first question. Where in the filesystem the files are stored 
doesn't really matter, as long as the location is agreed upon and 
captured in a specification. But you have to keep one important thing in 
mind: the network transparency of X11, which is far more widespread in 
the *nix domain then on Windows or MacOS. Due to the network 
transparency it's impossible to predict on which host applications will 
be running. It may be the same computer as the xserver is on, but it 
also may be some remote computer. Applications from many different 
computers can connect to one xserver and that is quite common. If the 
profiles are stored in some directory in the filesystem, you risk having 
applications see a different set of profiles. The only place that is 
common to all X clients is the xserver. If you want all clients to have 
a consistent view of available profiles, then registering them in the 
xserver is the only solution (I will probably have to do something like 
that for my GSoC project).

To the second question. Obviously the xserver itself has the most 
informations about which display devices are attached to it. So it would 
be again preferable if the xserver managed the _ICC_PROFILE property. 
See it this way: a xserver will always have the same display devices 
attached (modulo notebooks), a session is more likely run on different 
devices/xservers. In a large networked environment, the session would 
have to manage a big database of display device/profile mappings, 
whereas each xserver would only require one or two profiles for its 
display devices.

Does Windows/MacOS distinguish between color profiles and device 
profiles? IMHO it makes little sense to put a display device profile 
into a shared directory, since it's used only for that one particular 
device. Instead if stored in a local directory accessible by the 
xserver, it could be loaded when the xserver starts and the session 
script wouldn't have to worry about loading the correct profile.

I saw that there are still free slots in the LGM conference schedule. I 
could write a few slides about my GSoC project and outline some of the 
things that I'm planing to work on. Some of it would also partially 
cover the things that came up in this thread here...


More information about the openicc mailing list