From Fedora Project Wiki
(minor changes)
(we're now ready to roll)
 
(6 intermediate revisions by 3 users not shown)
Line 13: Line 13:
== Current status ==
== Current status ==
* Targeted release: [[Releases/{{FedoraVersion||next}} | {{FedoraVersion|long|next}} ]]  
* Targeted release: [[Releases/{{FedoraVersion||next}} | {{FedoraVersion|long|next}} ]]  
* Last updated: 2010-01-08
* Last updated: 2010-03-24
* Percentage of completion: 90%
* Percentage of completion: 100%


<!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. -->
<!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. -->
Line 27: Line 27:
* Easy install of vendor supplied ICC or ICM files, just by double clicking on the file.
* 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 a inexpensive IT 8.7 target. For calibration, the ArgyllCMS package is required.
* 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.
* 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.
Line 43: Line 43:


== How To Test ==
== How To Test ==
Need to test:
Need to test:
* Assigning profiles to devices, which bluish test and AdobeGamma can be used (screen should go blue and then pink)
 
* Creating profiles using external colorimeter devices (you'll need hardware such as a Pantone Huey)
=== Assigning profiles to display devices ===
* '''make check''' on the sourcecode to exercise the self test program
 
* Nuking the config file and starting from a new install (rm /home/hughsie/.config/gnome-color-manager/device-profiles.conf)
Prerequisites: ICC profile for your monitor
* Adding and removing ICC profiles at runtime (e.g. install share-color-profiles-nonfree or just use $HOME/.color/icc) and making sure the GUI is updated
 
* <code>rm -rf ~/.config/gnome-color-manager</code>
* <code>rm -rf ~/.color</code>
* 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 <code>xcalib -c</code> into the console (monitor will go back to normal)
* Type <code>gcm-apply</code> 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 <code>gcm-inspect --dump</code> reflects the UI
*# Ensure the UI does not 'block' for more than a second or so whilst the settings are applied
 
=== Creating display profiles ===
 
Prerequisites: Hardware calibration device (such as a Pantone Huey)
 
* Remove calibration device, and click on the main display device
* <code>sudo rpm -e argyllcms</code>
*# 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)
 
* <code>sudo rpm -e argyllcms shared-color-targets</code>
* 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 <code>argyllcms</code> is automatically installed
*# Ensure <code>shared-color-targets</code> is automatically installed
*# Ensure that the new profile is set as the device default
 
=== Watching for changes ===
 
Prerequisites: more than one custom ICC file available
 
* Open the <code>~/.color/icc</code> 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 ==
== User Experience ==
Line 55: Line 135:
* The user can double click ICC and ICM profile to preview and install
* 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
* The user can just insert color calibration hardware and calibrate with two clicks
* More color-aware applications are automatically setup for color management
* More color-aware applications are automatically set up for color management


== Dependencies ==
== Dependencies ==
* shared-mime-info from git master for the icc double clicking
* gnome-settings-daemon from git master for the profile-set-on-hotplug functionality
* gtk+ from git master for the icc-profile functionality
* small patch to comps/kickstart bringing in the package by default
* small patch to comps/kickstart bringing in the package by default
* lcms (which is already in the repos, and *tiny*)
* shared-color-profiles-0.1.1 (needs upstream release)
* shared-color-profiles-0.1.1 (needs upstream release)



Latest revision as of 14:17, 24 March 2010


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

  • email: richard@hughsie.com

Current status

  • Targeted release: Fedora 40
  • 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
    1. Ensure UI appears and is finished loading in under 5 seconds
    2. Ensure all display devices appear
    3. Ensure all local scanner devices appear
    4. Ensure all printers configured with CUPS appear
    5. Ensure all locally attached cameras appear
  • Click on the _main_ display device
    1. Ensure all manufacturer, model and serial numbers appear (if they are wrong, the monitor is sending incorrect EDID data)
    2. Ensure 'None' is selected in the UI
    3. Ensure that 'Create profile for device' is greyed out
  • Click on 'Bluish Test'
    1. Ensure monitor goes bluish
  • Click on 'ADOBEGAMMA-Test'
    1. 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
    1. Ensure monitor goes pink again
  • Open System->Preferences->Color Profiles
  • Drag and drop your monitor ICC file onto the dialog
    1. Ensure you can now select it in the monitor drop down
    2. Ensure it's visible in the Profiles tab.
    3. Ensure the new profile has some sane description text and the graphs look reasonable
    4. Ensure the UI text is easy to understand, and the tooltips make sense
    5. 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
    1. Ensure the device is marked Disconnected and can be deleted
    2. Ensure the 'Create profile for device' button in greyed out

Changing defaults

  • Change the UI in the Defaults tab.
    1. Ensure the output of gcm-inspect --dump reflects the UI
    2. Ensure the UI does not 'block' for more than a second or so whilst the settings are applied

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
    1. Ensure 'Create profile for device' button in greyed out
  • Plug in color calibration device
    1. 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
    1. Ensure argyllcms is automatically installed
    2. 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
    1. 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
    1. Ensure argyllcms is automatically installed
    2. Ensure shared-color-targets is automatically installed
    3. Ensure that the new profile is set as the device default

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
    1. Observe that the Color Profiles updates the ICC profiles installed at that time
    2. 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.

Comments and Discussion