ColourProfilesForDisplays

Summary

To allow setting an ICC colour profiles for displays.

Release Note

Users can now set ICC colour profiles for their displays, meaning that colours are more accurately reproduced; an essential requirement for anyone working with photographs or graphical design, but also a bonus for multimedia consumption.

Rationale

All displays have their own characteristics when it comes to reproducing colours. No two displays are born the same, and even over time they may change. For colours to be reproduced accurately, the graphics hardware needs to understand exactly how the display produces colour. We can currently create ICC colour profiles and load them temporarily with the "xcalib" program, but it simply takes an xgamma call from a misbehaving application, or infact a restart of the X server for the change to perish. Building this association directly into Xorg/HAL/DeviceKit is, in the author's opinion, critical.

Use Cases

Photographers Graphic designers People watching videos

Assumptions

?

Design

Define a repository for storing ICC colour profiles for the system's displays, say /etc/displays/colour-profiles Store a profile ID in a HAL property for the display. (Help! I can't find *any* HAL devices corresponding to displays.)

Implementation

UI Changes

-

Code Changes

Changes to Xorg so that it loads the colour profile for a display from the very beginning.

Migration

-

Test/Demo Plan

-

Outstanding Issues

Some applications still use XGamma to do things with the display. In particular, when the screensaver activates, it uses XGamma to bring the screen brightness down to zero as a fade effect. Cheese used to use XGamma to bring the screen up to full brightness for a rudimentary "flash", but I changed this to use a full screen white window instead, which whilst only working properly with a translucency fade in composited environments is a saner solution.

The mouse pointer seems to be exempt from the colour lookup table changes, including those with XGamma. I suspect this is because the cursor is a hardware cursor. Potentially we should be moving to a software cursor.

BoF agenda and discussion

-


CategorySpec

Specs/ColourProfilesForDisplays (last edited 2008-08-06 16:37:29 by localhost)