colord - What is colord?

Back to the main page

# Introduction

colord is a system service that makes it easy to manage, install and generate color profiles to accurately color manage input and output devices.

## What colord does:

- Provides a D-Bus API for system frameworks to query, e.g. Get me the profiles for device $foo or Create a device and assign it profile $bar.
- Provides a persistent database backed store that is preserved across reboots.
- Provides the session for a way to set system settings, for instance setting the display profile for all users and all sessions.

colord itself is a system activated daemon called `colord`. Being system activated means that it's only started when the user is using a text mode or graphical tool.

GNOME Color Manager is the name of the graphical tools for colord to be used in the GNOME and KDE desktops. GNOME Color Manager and colord-kde act as a clients to colord.

| By default, colord uses PolicyKit for user authentication. This means that you, as an administrator, can specify with fine-grained control what your users can and cannot do. For instance, an administrator could specify that unprivileged users can create color devices but not delete them. For home users it's typical to ask the user for their own, or the administrator's `root` password.

## Use cases:

colord was designed to solve a few discrete use cases. The D-Bus interface was designed to fulfill the following scenarios:

- An image viewer wants to show an image with an embedded color profile to the screen, where the screen also has an assigned profile. The image has to be transformed from the embedded profile to the current display profile.
- A scanner application wants to get the correct color profile for a device so it can be embedded in the output file.
- An image viewer wants to show a photograph without an embedded profile, but where a virtual device profile has been assigned. This needs to be fast as there are many similar photos in the same directory.
- An application wants to softproof for a printer device to show the user how the colors are going to be clipped when the file is printed.
- A photo editor wants to know the default RGB space to use for new image canvasses.
- A photo viewer wants to know what color space to use for untagged content with no embedded profile.
- A print preview application wants to know what installed profiles are suitable for printer devices.
- A user wants to have two profiles for a digital SLR, one for the studio and one for outside with full sun.
- A user has two different monitors attached and the desktop is spanned across each one. Each one has a different profile, and applications can be dragged from one window to another.
- One user may want to assign color profiles to devices and set these as the system default for all users.

## Features:

colord has the following features:

- Deep integration into the GNOME and KDE free software stacks.
- Setting output gamma tables (with local brightness and adjustments) to any XRandR output.
- Setting of per-user and system settings at session start, and when monitors are hot-plugged.
- 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 currently required.
- Spot color reading using dozens of supported spectrophotometers.
- 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 D-Bus interface for applications to query what ICC profiles should be used for a specific device or device type.

## Subsystems:

colord supports the following subsystems:

- XRandR (monitors)
- SANE (scanners)
- UDEV (cameras)
- CUPS (printers)
- Virtual (scanners, cameras, printers)

Virtual devices are not backed by a physical device, and so can be things like Snapfish Processing Lab or Tommys Camera.

## Licensing:

colord is (L)GPLv2+ licensed. This means that you can redistribute and/or modify colord under the terms of the GNU General Public License as published by the Free Software foundation; either version 2 of the License, or (at your option) any later version. See the license information included with the software for more details.

Back to the main page