ICC Profiles In X Specification

Ross Burton

Opened Hand Ltd
Revision History
Revision 0.12005-06-24

Initial release. Thanks to Craig Ringer, Jim Gettys, Kai-Uwe Behrmann, and Matthew Allum for feedback.


Table of Contents

Introduction
Specification
_ICC_PROFILE
References

Introduction

This is a specification for associating ICC1 colour profiles with X screens. With this specification applications can obtain the appropriate display profile for the screen they are on, and apply colour correction to any images which are being shown to the user.

Specification

Currently there is only one atom defined.

_ICC_PROFILE

The _ICC_PROFILE atom is set on the root window for each screen. It is of type XA_CARDINAL with 8-bit elements. The value of the atom should be a literal ICC profile, that applications can read and parse directly.

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.

As profiles can be large applications should read the profile for a particular screen once, and cache it. As a screen's profile may change during the lifetime of the progress, applications should ask to receive property change notifications from the root window, even if they don't currently have a profile set. Applications which can change screens using mechanisms such as display migration should be aware that the new screen is likely to have a different profile.

References