Color Management
Summary
GNOME Color Manager is a session framework that makes it easy to manage, install and generate color profiles in the GNOME desktop.
Owner
- Name: Richard Hughes
- email: richard@hughsie.com
Current status
- Targeted release: Fedora 42
- Last updated: 2010-03-24
- Percentage of completion: 100%
Detailed Description
This project has the following features:
- Setting output gamma tables (with local brightness and adjustments) to any Xrandr output (falling back to the per-screen methods for drivers that do not yet support Xrandr 1.3) to make all windows look the 'correct' color.
- Setting of settings at session start, and when monitors are hotplugged.
- Easy install of vendor supplied ICC or ICM files, just by double clicking on the file.
- Easy display calibration using an external calibration device, and scanner calibration using inexpensive color targets. For calibration, the ArgyllCMS package is required.
- Integration X11 by setting the per-screen and per-output _ICC_PROFILE atom, which makes applications such as the GIMP use a color managed output.
- Easy to use DBus interface for applications to query what ICC profiles should be used for a specific device or device type. This is session activated and is only started when it is needed, and quits after a small period of idleness.
Benefit to Fedora
Fedora, and Linux in general is severely lacking when it comes to using color management in key applications by default. OSX and Windows 7 clearly show by making color management easy for the end user, it can be integrated into their working pattern to great affect. By providing a way to manage and assign profiles in Fedora we can make it easy for creative people to see the same color they just scanned, and also then see the same color when the document is printed. Only by making this stuff easy to use we'll actually get people to achieve this.
Scope
- Mainly isolated package
- Minor changes in gnome-settings-daemon that are already upstream
- Minor addition in shared-mime-info that are already upstream
- Minor code changes in gtk+ that are already upstream
How To Test
Need to test:
Assigning profiles to display devices
Prerequisites: ICC profile for your monitor
rm -rf ~/.config/gnome-color-manager
rm -rf ~/.color
- Ensure you have no color calibration devices plugged in
- Open System->Preferences->Color Profiles
- Ensure UI appears and is finished loading in under 5 seconds
- Ensure all display devices appear
- Ensure all local scanner devices appear
- Ensure all printers configured with CUPS appear
- Ensure all locally attached cameras appear
- Click on the _main_ display device
- Ensure all manufacturer, model and serial numbers appear (if they are wrong, the monitor is sending incorrect EDID data)
- Ensure 'None' is selected in the UI
- Ensure that 'Create profile for device' is greyed out
- Click on 'Bluish Test'
- Ensure monitor goes bluish
- Click on 'ADOBEGAMMA-Test'
- Ensure monitor goes pinkish
- Close the window, and type
xcalib -c
into the console (monitor will go back to normal) - Type
gcm-apply
into a console- Ensure monitor goes pink again
- Open System->Preferences->Color Profiles
- Drag and drop your monitor ICC file onto the dialog
- Ensure you can now select it in the monitor drop down
- Ensure it's visible in the Profiles tab.
- Ensure the new profile has some sane description text and the graphs look reasonable
- Ensure the UI text is easy to understand, and the tooltips make sense
- Ensure that toggling 'Apply display correction' sets (and unsets) your display profile
Deleting devices
Prerequisites: Removable device that can be color corrected
- Plug in a webcam, scanner, second monitor, or some other removable device that appears in the device list
- Assign it a profile
- Remove the device
- Ensure the device is marked Disconnected and can be deleted
- Ensure the 'Create profile for device' button in greyed out
Changing defaults
- Change the UI in the Defaults tab.
- Ensure the output of
gcm-inspect --dump
reflects the UI - Ensure the UI does not 'block' for more than a second or so whilst the settings are applied
- Ensure the output of
Creating display profiles
Prerequisites: Hardware calibration device (such as a Pantone Huey)
- Remove calibration device, and click on the main display device
sudo rpm -e argyllcms
- Ensure 'Create profile for device' button in greyed out
- Plug in color calibration device
- Ensure 'Create profile for device' button is sensitive
- Click on the 'Create profile for device' button
- Follow the prompts, and wait for the calibration result
- Ensure argyllcms is automatically installed
- Ensure that the new profile is set as the device default
Creating display profiles
Prerequisites: Color target (IT8 or similar)
sudo rpm -e argyllcms shared-color-targets
- Click on a scanner or camera device
- Ensure 'Create profile for device' button is sensitive
- Click on the 'Create profile for device' button
- Follow the prompts, and wait for the calibration result
- Ensure
argyllcms
is automatically installed - Ensure
shared-color-targets
is automatically installed - Ensure that the new profile is set as the device default
- Ensure
Watching for changes
Prerequisites: more than one custom ICC file available
- Open the
~/.color/icc
direcory in you file broswer - Rename a file, delete it, or add new icc files
- Observe that the Color Profiles updates the ICC profiles installed at that time
- Observe that .ICC and *.ICM files have the GCM logo and can be double-clicked to be installed
User Experience
From a user experience point of view, they'll just be:
- A new icon in preferences "Color Profiles"
- The user can double click ICC and ICM profile to preview and install
- The user can just insert color calibration hardware and calibrate with two clicks
- More color-aware applications are automatically set up for color management
Dependencies
- small patch to comps/kickstart bringing in the package by default
- shared-color-profiles-0.1.1 (needs upstream release)
Optional dependencies (installed by PackageKit at run-time if required)
- argyllcms
- shared-color-targets
Contingency Plan
- Remove the package from comps, and continue like we always have with no color manager.
Documentation
For more information, please see http://projects.gnome.org/gnome-color-manager/ and http://live.gnome.org/GnomeColorManager
Release Notes
- Fedora now ships GNOME Color Manager by default, which allows end users to better manager their color workflow.