Colord
   HOME

TheInfoList



OR:

Linux color management has the same goal as the color management systems (CMS) for other operating systems: to achieve the best possible color reproduction throughout an imaging workflow from its source (camera, video, scanner, etc.), through imaging software ( Digikam, darktable, RawTherapee,
GIMP GIMP ( ; GNU Image Manipulation Program) is a free and open-source raster graphics editor used for image manipulation (retouching) and image editing, free-form drawing, transcoding between different image file formats, and more specialized task ...
,
Krita Krita ( ) is a free and open-source raster graphics editor designed primarily for digital art and 2D animation. The software runs on Windows, macOS, Linux Linux ( or ) is a family of open-source Unix-like operating systems based on th ...
, Scribus, etc.), and finally onto an output medium (
monitor Monitor or monitor may refer to: Places * Monitor, Alberta * Monitor, Indiana, town in the United States * Monitor, Kentucky * Monitor, Oregon, unincorporated community in the United States * Monitor, Washington * Monitor, Logan County, West Vir ...
, video projector,
printer Printer may refer to: Technology * Printer (publishing), a person or a company * Printer (computing), a hardware device * Optical printer for motion picture films People * Nariman Printer ( fl. c. 1940), Indian journalist and activist * Jame ...
, etc.). In particular, color management attempts to enable color consistency across media and throughout a color-managed workflow. Linux color management relies on the use of accurate ICC ( International Color Consortium) and DCP (DNG Color Profile) profiles describing the behavior of input and output devices, and color-managed applications that are aware of these profiles. These applications perform
gamut In color reproduction, including computer graphics and photography, the gamut, or color gamut , is a certain ''complete subset'' of colors. The most common usage refers to the subset of colors which can be accurately represented in a given circ ...
conversions between device profiles and
color space A color space is a specific organization of colors. In combination with color profiling supported by various physical devices, it supports reproducible representations of colorwhether such representation entails an analog or a digital represent ...
s. Gamut conversions, based on accurate device profiles, are the essence of color management. Historically, color management was not an initial design consideration of the
X Window System The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems. X provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wit ...
on which much of Linux graphics support rests, and thus color-managed workflows have been somewhat more challenging to implement on Linux than on other OS's such as
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
or
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
. This situation is now being progressively remedied, and color management under Linux, while functional, has not yet acquired mature status. Although it is now possible to obtain a consistent color-managed workflow under Linux, certain problems still remain: * The absence of a central user control panel for color settings. * Some hardware devices for color calibration lack Linux drivers, firmware or accessory data. Since ICC color profiles are written to an open specification, they are compatible across operating systems. Hence, a profile produced on one OS should work on any other OS given the availability of the necessary software to read it and perform the gamut conversions. This can be used as a workaround for the lack of support for certain spectrophotometers or colorimeters under Linux: one can simply produce a profile on a different OS and then use it in a Linux workflow. Additionally, certain hardware, such as most printers and certain monitors, can be calibrated under another OS and then used in a fully color-managed workflow on Linux. The popular
Ubuntu Ubuntu ( ) is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: ''Desktop'', ''Server'', and ''Core'' for Internet of things devices and robots. All the ...
Linux distribution added initial color management in the 11.10 release (the "Oneiric Ocelot" release).


Requirements for a color-managed workflow

* Accurate device profiles obtained with source or output characterization software. * Correctly loaded video card LUTs (or monitor profiles that do not require LUT adjustments). * Color-managed applications that are configured to use a correct monitor profile and input/output profiles, with support for control over the rendering intent and black point compensation. Calibration and profiling requires: * for input devices (scanner, camera, etc.) a color target which the profiling software will compare to the manufacturer-provided color values of the target. * or for output devices (monitor, printer, etc.) a reading with a specific device ( spectrophotometer, colorimeter or spectrocolorimeter) of the color patch values and comparing the measured values against the values originally sent for output.


Monitor calibration and profiling

One of the critical elements in any color-managed workflow is the monitor, because, at one step or another, handling and making color adaptation through imaging software is required for most images, thus the ability of the monitor to present accurate colors is crucial. Monitor color management consists of calibration and profiling. The first step, calibration, is done by adjusting the monitor controls and the output of the graphics card (via calibration curves) to match user-definable characteristics, such as brightness, white point and gamma. The calibration settings are stored in a .cal file. The second step, profiling (characterization), involves measuring the calibrated display's response and recording it in a color profile. The profile is stored in an .icc file ("ICC file"). For convenience, the calibration settings are usually stored together with the profile in the ICC file. Note that .icm files are identical to .icc files - the difference is only in the name. Seeing correct colors requires using a monitor profile-aware application, together with the same calibration used when profiling the monitor. Calibration alone does not yield accurate colors. If a monitor was calibrated before it was profiled, the profile will only yield correct colors when used on the monitor with the same calibration (the same monitor control adjustments and the same calibration curves loaded into the video card's lookup table).
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
has built-in support for loading calibration curves and installing a system-wide color profile. Windows 7 onward allows loading calibration curves, though this functionality must be enabled manually. Linux and older versions of Windows require using a standalone LUT loader.


Device profiles

ICC profiles are
cross-platform In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software r ...
and can thus be created on other operating systems and used under Linux. Monitor profiles, however, require some additional attention. Since a monitor profile depends both on the monitor itself and on the video card, a monitor profile should only be used with the same monitor and video card with which it was created. The monitor settings should not be adjusted after creating the profile. In addition, since most calibration software use LUT adjustments during calibration, the corresponding LUTs must be loaded every time the
display server In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer) paradigm for ...
(X11, Wayland) is started (e.g. with every graphical login). In the unlikely case of a colorimeter being unsupported by Linux, a profile created under Windows or macOS can be used under Linux.


Display-channel lookup tables

There are two approaches to loading display channel LUTs: # Create a profile that does not modify video card LUTs and thus does not require LUTs be loaded later on. Ideally, this approach would rely on DDC-capable monitors—the internal monitor settings of which are set via calibration software. Unfortunately, monitors capable of making these adjustments through DDC are not common and are generally expensive. There is only one calibration software on Linux that can interact with a DDC monitor. For mainstream monitors, a couple of options exist: #* BasICColor software, which works with most colorimeters on the market, allows one to adjust display output via the monitor interface, and then to choose a "Profile, do not calibrate" option. By doing this, one can create a profile that does not require
video card A graphics card (also called a video card, display card, graphics adapter, VGA card/VGA, video adapter, display adapter, or mistakenly GPU) is an expansion card which generates a feed of output images to a display device, such as a computer moni ...
LUT adjustments. #* For EyeOne devices, EyeOne Match allows the user to calibrate to "Native" gamma and white point targets, which results in the LUT adjustment curves displayed after the calibration as a simple,
linear Linearity is the property of a mathematical relationship (''function'') that can be graphically represented as a straight line. Linearity is closely related to '' proportionality''. Examples in physics include rectilinear motion, the linear r ...
1:1 mapping (a straight line from corner to corner). #* Both BasICColor and EyeOne Match do not presently run under Linux but they are capable of creating a profile that does not require LUT adjustments. # Use an LUT loader to actually load the LUT adjustments contained within the profile prepared during calibration. According to the documentation, these loaders do not modify the video card LUT by itself, but achieve the same type of adjustment by modifying the X server gamma ramp. Loaders are available for
Linux distribution A Linux distribution (often abbreviated as distro) is an operating system made from a software collection that includes the Linux kernel and, often, a package management system. Linux users usually obtain their operating system by downloading one ...
s that use X.org or XFree86—the two most popular X servers on Linux. Other X servers are not guaranteed to work with the currently available loaders. There are two LUT loaders available for Linux: #
Xcalib
is one such loader, and although it is a command-line utility, it is quite easy to use. #

is a part of Argyll CMS. #* If, for any reason, the LUT cannot be loaded, it is still recommended to go through the initial stages of calibration where a user is asked by calibration software to make some manual adjustments to the monitor, as this will often improve display linearity and also provide information on its color temperature. This is especially recommended for CRT monitors.


Color-managed applications

In ICC-aware applications, it is important to make sure the correct profiles are assigned to devices, mainly to the monitor and the printer. Some Linux applications can auto-detect the monitor profile, while others requires that it is specified manually. Although there is no designated place to store device profiles on Linux, /usr/share/color/icc/ has become the ''
de facto ''De facto'' ( ; , "in fact") describes practices that exist in reality, whether or not they are officially recognized by laws or other formal norms. It is commonly used to refer to what happens in practice, in contrast with ''de jure'' ("by la ...
'' standard. Most applications running under
WINE Wine is an alcoholic drink typically made from fermented grapes. Yeast consumes the sugar in the grapes and converts it to ethanol and carbon dioxide, releasing heat in the process. Different varieties of grapes and strains of yeasts are m ...
have not been fully tested for color accuracy. While 8- bpp programs can have some color resolution difficulties due to depth conversion errors, colors in higher-depth applications should be accurate, as long as those programs perform their gamut conversions based on the same monitor profile as that used for loading the LUT, granted that the corresponding LUT adjustments are loaded.


List of color-managed applications

* darktable, a
raw Raw is an adjective usually describing: * Raw materials, basic materials from which products are manufactured or made * Raw food, uncooked food Raw or RAW may also refer to: Computing and electronics * .RAW, a proprietary mass spectrometry dat ...
photo developer and
GIMP GIMP ( ; GNU Image Manipulation Program) is a free and open-source raster graphics editor used for image manipulation (retouching) and image editing, free-form drawing, transcoding between different image file formats, and more specialized task ...
plugin. * digiKam, an image organizer and
tag editor A tag editor (or tagger) is a piece of software that supports editing metadata of multimedia file formats, rather than the actual file content. These are mainly taggers for common audio tagging formats like ID3, APE, and Vorbis comments (for examp ...
. * Firefox, a web browser, color-managed since version 3, turned on by default since v3.5. *
GIMP GIMP ( ; GNU Image Manipulation Program) is a free and open-source raster graphics editor used for image manipulation (retouching) and image editing, free-form drawing, transcoding between different image file formats, and more specialized task ...
, a
raster graphics editor A raster graphics editor is a computer program that allows users to create and edit images interactively on the computer screen and save them in one of many raster graphics file formats (also known as bitmap images) such as JPEG, PNG, and GI ...
. *
Geeqie Geeqie is a free software image viewer and image organiser program for Unix-like operating systems, which includes Linux-based systems and Apple's OS X. It was first released in March 2010, having been created as a fork of GQview, which appeared ...
, an
image viewer An image viewer or image browser is a computer program that can display stored graphical images; it can often handle various graphics file formats. Such software usually renders the image according to properties of the display such as color depth, ...
and image organizer. *
Krita Krita ( ) is a free and open-source raster graphics editor designed primarily for digital art and 2D animation. The software runs on Windows, macOS, Linux Linux ( or ) is a family of open-source Unix-like operating systems based on th ...
and Karbon, an image editor and vector graphics editor, respectively (parts of Calligra Suite, a graphic art and office suite). * LightZone, a
raw Raw is an adjective usually describing: * Raw materials, basic materials from which products are manufactured or made * Raw food, uncooked food Raw or RAW may also refer to: Computing and electronics * .RAW, a proprietary mass spectrometry dat ...
photo developer. *
Opera Opera is a form of theatre in which music is a fundamental component and dramatic roles are taken by singers. Such a "work" (the literal translation of the Italian word "opera") is typically a collaboration between a composer and a librett ...
, a web browser. * RawTherapee, a
raw Raw is an adjective usually describing: * Raw materials, basic materials from which products are manufactured or made * Raw food, uncooked food Raw or RAW may also refer to: Computing and electronics * .RAW, a proprietary mass spectrometry dat ...
photo developer and
GIMP GIMP ( ; GNU Image Manipulation Program) is a free and open-source raster graphics editor used for image manipulation (retouching) and image editing, free-form drawing, transcoding between different image file formats, and more specialized task ...
plugin. * Scribus, a
desktop publishing Desktop publishing (DTP) is the creation of documents using page layout software on a personal ("desktop") computer. It was first used almost exclusively for print publications, but now it also assists in the creation of various forms of online c ...
(DTP) application. * Siril, an astronomical image processing program. * UFRaw, a
raw Raw is an adjective usually describing: * Raw materials, basic materials from which products are manufactured or made * Raw food, uncooked food Raw or RAW may also refer to: Computing and electronics * .RAW, a proprietary mass spectrometry dat ...
photo developer and
GIMP GIMP ( ; GNU Image Manipulation Program) is a free and open-source raster graphics editor used for image manipulation (retouching) and image editing, free-form drawing, transcoding between different image file formats, and more specialized task ...
plugin.


Obsolete

*
CinePaint CinePaint is a free and open source computer program for painting and retouching bitmap frames of films. It is a fork of version 1.0.4 of the GNU Image Manipulation Program (GIMP). It enjoyed some success as one of the earliest open source t ...
, an obsolete 16-bit-capable image editor. *
F-Spot F-Spot is a slowly maintained image organizer, designed to provide personal photo management for the GNOME desktop environment. The name is a play on the word F-Stop. History The F-Spot project was started by Ettore Perazzoli and is maintained b ...
, an obsolete image organizer. * Bibble Pro, an obsolete
raw Raw is an adjective usually describing: * Raw materials, basic materials from which products are manufactured or made * Raw food, uncooked food Raw or RAW may also refer to: Computing and electronics * .RAW, a proprietary mass spectrometry dat ...
digital imaging program. Sold to Corel, renamed to Aftershot Pro. * Phatch, an obsolete
raster graphics editor A raster graphics editor is a computer program that allows users to create and edit images interactively on the computer screen and save them in one of many raster graphics file formats (also known as bitmap images) such as JPEG, PNG, and GI ...
used to batch-process images.


List of software for input and output profiling


Argyll Color Management System
(Argyll CMS) is an open-source command line only collection of tools. Argyll CMS covers a wide range of needs from source or output characterization to monitor LUT loading and more. Argyll CMS is available as a package in Ubuntu,
Debian Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of D ...
, openSUSE (Build Service) and
Fedora A fedora () is a hat with a soft brim and indented crown.Kilgour, Ruth Edwards (1958). ''A Pageant of Hats Ancient and Modern''. R. M. McBride Company. It is typically creased lengthwise down the crown and "pinched" near the front on both sides ...
and as a generic x86 Linux binary installation from the web site, along with source code under the
GPL The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general us ...
.
DisplayCAL
is an open-source display calibration and profiling solution with a
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
which uses ArgyllCMS at its core. It allows one to calibrate and characterize a display, generate ICC profiles with optional CIECAM02 gamut mappings and 3D LUTs, generate reports for ICC profiles, measure display device uniformity, create and edit test charts, and among other things even to create synthetic ICC profiles.
DCamProf
is an open-source command-line tool for generating ICC and DCP (DNG Color Profile) camera profiles from test target measurements or camera spectral sensitivity functions. Features include giving the user control over the matrix and LUT optimizers to hand-tune the trade-off between accuracy and smoothness, profile matching, generating reports for plotting, simulating reflective spectra, analyzing camera color separation performance under different illuminants, and flat-field correction of test-chart photos.


Obsolete


LPROF
(or LCMS Profiler) was a GUI tool for producing profiles for cameras, scanners and monitors. LPROF was originally designed to demonstrate
LittleCMS Little CMS or LCMS is an open-source color management system, released as a software library for use in other programs which will allow the use of International Color Consortium profiles. It is licensed under the terms of the MIT License. LCMS w ...
(LCMS) capabilities. In 2005, LPROF development was resumed by a new team, which released the final version in 2006 when development was abandoned.


List of LUT loaders

A color profile file for a monitor will typically contain two parts: * The VCGT/LUT part, which does white point correction, and is applied to the screen as a whole. * The gamma+matrix part, which does gamma/hue/saturation correction, and has to be applied by individual color-managed applications. In a color-managed setup, the VCGT/LUT part is typically loaded on login, while the filename of the color profile is stored in the _ICC_PROFILE X atom so that color managed programs can load that as a default profile for applying gamma+matrix corrections. Some programs also let you override what profile is used for gamma+matrix corrections. * dispwin, used to load both VCGT/LUT and _ICC_PROFILE atoms at once. Part of ArgyllCMS.
xcalib
a tiny monitor calibration loader for XFree86 (or X.Org) and MS-Windows, which sets the monitor VCGT/LUT part of the color profile
xiccd
a daemon that interacts with colord and sets the _ICC_PROFILE X atom to the path of your color profile, for program-specific gamma+matrix corrections. Note that GNOME and KDE already inform colord if you've set a profile in their settings, whereas XFCE has no built-in colord interaction.


List of color management systems


colord

colord is a system daemon that makes it easy to manage, install and generate color profiles to accurately color manage input and output devices. colord provides a
D-Bus In computing, D-Bus (short for "Desktop Bus") is a message-oriented middleware mechanism that allows communication between multiple processes running concurrently on the same machine. D-Bus was developed as part of the freedesktop.org project, ...
API for system frameworks to query, offering the ability to, for example, get the profiles for a given device or create a device and assign to it a given profile. colord provides a persistent database-backed store that is preserved across reboots, and it provides the session for a way to set system settings, for instance setting the display profile for all users and all sessions. GNOME Color Manager and colord-kde are graphical tools for colord to be used in the GNOME and KDE desktop environments. Each acts as a client to colord. colord supports the following subsystems: *
XRandR X.Org Server is the free and open-source implementation of the X Window System display server stewarded by the X.Org Foundation. Implementations of the client-side X Window System protocol exist in the form of ''X11 libraries'', which serve a ...
(monitors) * SANE (scanners) * udev (cameras) *
CUPS CUPS (formerly an acronym for Common UNIX Printing System) is a modular computer printer, printing system for Unix-like computer operating systems which allows a computer to act as a print server. A computer running CUPS is a Server (computi ...
(printers)


See also

* International Color Consortium


External links

* Argyll developer's point of view on how to use their software. A bit too technical * Coordinated open source color management effort. Has a list of applications whose developers are taking part in the project
ICC Profiles In X Specification
* An overview of using monitor- and printer profiles in Scribus * Home of ICC Examin and Oyranos. Also maintains a feed of latest news in Linux color management * The most comprehensive list of general color management links; "not related to Linux" implementation
Little CMS
a small-footprint, speed-optimized,
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
color management engine
Color Management in Fedora



References

{{DEFAULTSORT:Linux Color Management Computer graphics