Color Coordinated with DisplayCAL


Article from Issue 208/2018

If you work with digital images, you know the colors on your monitor don't always match what you see in real life. If you're looking for a more accurate representation of color, try calibrating and profiling your monitor using a colorimeter and DisplayCAL.

Anyone who has ever tried to reconcile an electronic image with nature will be familiar with the problem: The colors in the image almost always differ from what you see with your eyes. This problem has several causes. Colors are lost on the way from the camera to the image. The human eye adapts much better than a camera to different lighting conditions and automatically supplements missing information. Another problem is that color values often shift as the image makes its way through the chain of devices, from the camera, to the monitor, and finally the printer.

Each device can only absorb and process colors to a limited extent. Image-processing experts use the term gamut [1] to describe the possible colors a device can produce by internal mixing. Colors outside the gamut appear in replacement colors, which leads to distortions.

Different colors have different effects on the human eye. The eye is particularly sensitive to tones in the green range and can detect far more nuances of green in nature than a monitor shows. For mixed colors such as yellow – composed of green and red on the monitor – the printer may sometimes be better than the monitor assuming that this color is available as a process color.

What the brain perceives as "white" is defined by a whole series of factors, not just the perceived wavelengths. Cultural conditions influence what our brain recognizes as "pure white." For example, Asians prefer red shades of white, and Central Europeans prefer blue.

The differences in the way colors are perceived, combined with natural limitations of electronic devices and the imprecise replacement of colors outside the gamut, mean the colors on your monitor will never exactly match the colors you see with your eye. However, it is possible to bring the truest possible color reproduction to your electronic device using a tool called a colorimeter.

A colorimeter is a specialized hardware tool that is used to profile the color properties of a monitor or other display device. The colorimeter attaches to the computer, typically through a USB port, and hangs in front of the monitor. Colorimetry software running on the computer then proceeds through a series of checks, using the colorimeter to measure the colors produced by the monitor. The software running on the computer then produces a color profile in ICC format (see the box entitled "ICC Profile"). The profile tells the system how to adjust the color settings to provide truer color representation. After you load the generated color profile to the graphics card, the colors will display more accurately on the monitor.

ICC Profile

The International Color Consortium (ICC) maintains a specification for defining the color attributes for a device and mapping the transition from a source to a target color space.

Calibrate and Profile

In order to achieve the truest possible color reproduction, the monitor must first be calibrated and then profiled. Calibration is a preliminary step that sets certain neutral properties for the monitor.

Until a few years ago, calibration and profiling in Linux were performed in the terminal window using rather cryptic tools of the ArgyllCMS [2] color management system. Today, you can use DisplayCAL [3], which acts as a front end for the ArgyllCMS system.

DisplayCAL, which is available in the package repositories for many popular Linux distributions, works with several leading colorimeters (see the box entitled "Supporting Colorimeters.") Colorimeters are available in different price categories; be sure to use some common sense when choosing a tool: You don't need a EUR300 (~$366) measuring device to profile a EUR100 (~$122) monitor. If you prefer open hardware and open source software, it is definitely worth taking a look at ColorHug (see the "All Free" box).

All Free

The problems with proprietary software in commercial products led to the ColorHug project in 2011. ColorHug is a completely free colorimeter that works under Linux [4]. The same manufacturer has produced a professional version of the device known as ColorHug+, but it has a similarly professional price tag.

Keep in mind that, in older colorimeters, the filters in the cameras age, which has an effect on quality. Always store the colorimeter in a dark box to reduce this effect.

DisplayCAL in Action

By default, DisplayCAL profiles quite extensively and more thoroughly than the standard software supplied with most colorimeters. The process takes considerably longer, but it ultimately achieves better results.

Install the colorimeter on the USB port (not via a passive hub), and then start the software. After the logo has been displayed, the user interface opens (Figure 1).

Figure 1: DisplayCAL starts with a few dialogs that provide you with important information on how to use the software.

The first step is to configure any hardware-dependent settings. Select the option labeled Colorimeter corrections from other display profiling software, and specify the group of colorimeters to which the connected device belongs. The software usually selects the correct entry. A firmware installation step often follows.

Either use the software provided by the manufacturer, which is usually no problem even with outdated versions, or you can load the manufacturer's software from the website and enter Select file.


Some manufacturers provide the driver data required from the firmware in the form of separate files with the .ccmx or .ccss file extension. Load these files manually via the Correction field (Figure 2).

The program reports an error on some Spyder colorimeter models, but the device appears to work in spite of the error. Once the firmware is loaded, the device will appear as activated in the Instrument area (Figure 2).

Figure 2: The first settings for calibration are made using the Display and Instrument drop-down menus.

You can select the type of screen you want to calibrate using the Mode drop-down menu. With laptop displays, the results are usually significantly poorer than with separate LCD monitors. If there are multiple screens available for the system – for example, because you are running an external monitor on the HDMI port of a laptop – select the desired device in the first, unnamed field.

Before clicking on the Calibrate & profile button at the bottom of the screen, you should configure some additional settings. Click the Calibration button to view the Calibration settings (Figure 3).

Figure 3: You can create defaults for calibration.

Normally the values for the Whitepoint and the White level will be fine if you choose As measured. The Tone curve is usually set correctly at Gamma 2.2. If you only work with sRGB profiles, sRGB might be the better choice. Many modern colorimeters allow you to calibrate at high speed instead of using the preset speed – if so, you can also choose the high-speed option.

The Profile quality slider (Figure 4) in Profiling Settings has a special meaning. Setting this slider to High yields far better results. The other settings are best left at the default values.

Figure 4: In Profiling settings, define basic settings for the color profile to be created.

The Calibrate & profile button takes you to a test field where you can place the colorimeter. Then press the Start measurements button to start the Interactive Display Adjustment dialog (Figure 5). With laptop displays, you usually have no way to make adjustments. In the case of an external monitor, activate neutral playback in the Monitor menu and then start profiling at this point via Start measurement.

Figure 5: Calibration, including setting the basic monitor properties, is performed via a dialog.

With a few short tests for the basic colors, the colorimeter determines the current settings. Now adjust the three RGB bars and the brightness on the monitor to equal (medium) values. DisplayCAL stays in this dialog until you end the measurement with Stop measurement.

Start the profiling, which you can perform using a long row of color fields, via the Continue on to calibration button. In some cases, you will see the differences with the naked eye; in others, you can hardly see the image change. Some dialogs provide information about the progress of the process (Figure 6). Depending on the colorimeter and the profile quality, the measurements will take some time.

Figure 6: DisplayCAL comments on the actual measurements with progress dialogs.


It is best to take the measurements in the evening in a dark room where no external light falls on the monitor. Disable the screensaver. The button with the loudspeaker symbol causes the software to give acoustic feedback as long as measurements are being taken.

On completion, the dialog shown in Figure 7 appears. The program shows which part of the standard RGB color space (sRGB) the monitor covers. Gamut Volume lets you evaluate the scope of the monitor's color space. The Gamut settings reveal that laptop screens often prove inferior to stand-alone monitors, which restricts the use of a mobile computer for image processing.

Figure 7: You can view the results of the measurement as graphical output via Show profile information.

The Show profile information option (Figure 7) offers an easier-to-interpret and more informative variant of the result representation (Figure 8). Of particular interest are the edge areas of the measured profiles, displayed in a standard color space. The edge areas appear in the graphic with a colored border. For comparison, see one of the predefined profiles, which then appears with a dashed gray line, under Comparison profile.

Figure 8: The diagram for the external monitor (left) shows that it largely covers sRGB and sometimes even shows more colors. On the other hand, the laptop screen (right) has coverage gaps on almost all edges of the color space.

The relevant profile, in this case, is sRGB, which all screens should completely support. The profile initially uses Absolute Colorimetric as Color Transfer (Rendering Intent) – not a good choice. It is better to switch to Relative colorimetric.

To avoid losing track if you have several ICC profiles on the computer, the software offers the possibility of naming the profiles according to an adjustable scheme. The first component to appear is the (internal) display name, followed by the date of calibration. The same information, but with more detail, can be found in the profile information displayed, which is where you will find the manufacturer and sometimes the name of the model under Device.

The profiles generated by the application, as well as a number of additional files, are stored by the program under .local/share/dispcalGUI/storage/ in your home directory. Not everything that is there is of direct benefit to you. If you have any problems, you should take a look at the logfile.

As a final step, the program now offers to load the profile you just created. Depending on the desktop environment, this step either works without any problems or not at all (Figure 9).

Figure 9: Under XFCE, the color profiles could not be installed automatically, but I was able to integrate them manually.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Creating ICC Color Profiles

    An ICC color profile ensures that an image always looks the same – regardless of the output device. The free Argyll CMS software package lets you create color profiles in Linux.

  • Color Management

    Get a grasp of color management basics and put your knowledge to practical use.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More