
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
Darktable (stylized as darktable) is a free and open-source photography application program and raw developer. Rather than being a raster graphics editor like Adobe Photoshop or GIMP, it comprises a subset of image editing operations specific ...
,
RawTherapee
RawTherapee is application software for processing photographs in raw image formats, as created by many digital cameras. It comprises a subset of image editing operations specifically aimed at non-destructive post-production of raw photos and is ...
,
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 ...
,
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, Android, and ChromeOS, and features an OpenGL-accelerated canvas, colour management su ...
,
Scribus
Scribus () is free and open-source desktop publishing (DTP) software available for most desktop operating systems. It is designed for layout, typesetting, and preparation of files for professional-quality image-setting equipment. Scribus can a ...
, 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 ...
,
video projector
A video projector is an image projector that receives a video signal and projects the corresponding image on a projection screen using a lens system. Video projectors use a very bright ultra-high-performance lamp (a special mercury arc lamp), ...
,
printer, 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
The International Color Consortium (ICC) was formed in 1993 by eight vendors in order to create an open, vendor-neutral color management system which would function transparently across all operating systems and software packages.
Overview
The ...
) and DCP (DNG Color Profile) profiles describing the behavior of input and output devices, and
color-managed applications
Application may refer to:
Mathematics and computing
* Application software, computer software designed to help the user to perform specific tasks
** Application layer, an abstraction layer that specifies protocols and interface methods used in a c ...
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 representa ...
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 ...
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 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 (computer), Mac computers. Within the market of ...
. 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 th ...
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 (computer), Mac computers. Within the market of ...
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 ...
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 a ...
(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
Interface or interfacing may refer to:
Academic journals
* ''Interface'' (journal), by the Electrochemical Society
* '' Interface, Journal of Applied Linguistics'', now merged with ''ITL International Journal of Applied Linguistics''
* '' Int ...
, 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 mo ...
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 ...
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 on ...
s that use
X.org or
XFree86
XFree86 is an implementation of the X Window System. It was originally written for Unix-like operating systems on IBM PC compatibles and was available for many other operating systems and platforms. It is free and open source software under the XF ...
—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:
#
Xcalibis 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
Color temperature is the color of light emitted by an idealized opaque, non-reflective body at a particular temperature measured in kelvins. The color temperature scale is used to categorize the color of light emitted by other light sources ...
. 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 l ...
'' 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 ...
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
Darktable (stylized as darktable) is a free and open-source photography application program and raw developer. Rather than being a raster graphics editor like Adobe Photoshop or GIMP, it comprises a subset of image editing operations specific ...
, a
raw 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 ...
plugin.
*
digiKam, an
image organizer
An image organizer or image management application is application software focused on organising digital images. Image organizers represent one kind of desktop organizer software applications.
Image organizer software is primarily focused on imp ...
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 exa ...
.
*
Firefox
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current and ...
, 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 ...
, 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 GIF.
...
.
*
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
An image organizer or image management application is application software focused on organising digital images. Image organizers represent one kind of desktop organizer software applications.
Image organizer software is primarily focused on imp ...
.
*
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, Android, and ChromeOS, and features an OpenGL-accelerated canvas, colour management su ...
and
Karbon, an
image editor and
vector graphics editor
A vector graphics editor is a computer program that allows users to compose and edit vector graphics images interactively on a computer and save them in one of many popular vector graphics formats, such as EPS, PDF, WMF, SVG, or VML.
Vector ...
, respectively (parts of
Calligra Suite
Calligra Suite is a graphic art and office suite by KDE. It is available for desktop PCs, tablet computers, and smartphones. It contains applications for word processing, spreadsheets, presentation, databases, vector graphics, and digit ...
, a
graphic art
A category of fine art, graphic art covers a broad range of visual artistic expression, typically two-dimensional, i.e. produced on a flat surface. and
office suite
Productivity software (also called personal productivity software or office productivity software) is application software used for producing information (such as documents, presentations, worksheets, databases, charts, graphs, digital painting ...
).
*
LightZone, a
raw 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 libre ...
, a web browser.
*
RawTherapee
RawTherapee is application software for processing photographs in raw image formats, as created by many digital cameras. It comprises a subset of image editing operations specifically aimed at non-destructive post-production of raw photos and is ...
, a
raw 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 ...
plugin.
*
Scribus
Scribus () is free and open-source desktop publishing (DTP) software available for most desktop operating systems. It is designed for layout, typesetting, and preparation of files for professional-quality image-setting equipment. Scribus can a ...
, 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 ...
(DTP) application.
*
Siril, an astronomical image processing program.
*
UFRaw
UFRaw (originally named after its founder Udi Fuchs's Raw, the backronym Unidentified Flying Raw replaced it as the full name) is an application which can read and manipulate photographs in raw image formats, as created by many digital cameras. ...
, a
raw 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 ...
plugin.
Obsolete
*
CinePaint, 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
An image organizer or image management application is application software focused on organising digital images. Image organizers represent one kind of desktop organizer software applications.
Image organizer software is primarily focused on imp ...
.
*
Bibble Pro, an obsolete
raw digital imaging
Digital imaging or digital image acquisition is the creation of a digital representation of the visual characteristics of an object, such as a physical scene or the interior structure of an object. The term is often assumed to imply or include ...
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 GIF.
...
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 De ...
,
openSUSE
openSUSE () is a free and open source RPM-based Linux distribution developed by the openSUSE project.
The initial release of the community project was a beta version of SUSE Linux 10.0.
Additionally the project creates a variety of tools, s ...
(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 ...
.
DisplayCALis 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 profile
In color management, an ICC profile is a set of data that characterizes a color input or output device, or a color space, according to standards promulgated by the International Color Consortium (ICC). Profiles describe the color attributes of ...
s with optional
CIECAM02
In colorimetry, CIECAM02 is the color appearance model published in 2002 by the International Commission on Illumination (CIE) Technical Committee 8-01 (''Color Appearance Modelling for Color Management Systems'') and the successor of CIECAM97s. ...
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.
DCamProfis an open-source
command-line
A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive command (computing), commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invokin ...
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 (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
The X Window System core protocolRobert W. Scheifler and James Gettys: ''X Window System: Core and extension protocols, X version 11, releases 6 and 6.1'', Digital Press 1996, RFC 1013Grant EdwardsAn Introduction to X11 User Interfaces/ref> is the ...
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
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 im ...
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
Daimon or Daemon (Ancient Greek: , "god", "godlike", "power", "fate") originally referred to a lesser deity or guiding spirit such as the daimons of ancient Greek religion and mythology and of later Hellenistic religion and philosophy.
The wo ...
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
A gnome is a mythological creature and diminutive spirit in Renaissance magic and alchemy, first introduced by Paracelsus in the 16th century and later adopted by more recent authors including those of modern fantasy literature. Its characte ...
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 ...
(monitors)
*
SANE (scanners)
*
udev
udev (userspace ) is a device manager for the Linux kernel. As the successor of devfsd and hotplug, udev primarily manages device nodes in the directory. At the same time, udev also handles all user space events raised when hardware devices ...
(cameras)
*
CUPS (printers)
See also
*
International Color Consortium
The International Color Consortium (ICC) was formed in 1993 by eight vendors in order to create an open, vendor-neutral color management system which would function transparently across all operating systems and software packages.
Overview
The ...
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, ...
color management engine
Color Management in Fedora
References
{{DEFAULTSORT:Linux Color Management
Computer graphics