Complete display calibration with Argyll CMS

I’ve been calibrating displays with Argyll CMS for about two years now. It’s powerful and it’s free. However, Argyll CMS is a command line application with no graphical user interface, no wizards and no graphical reports. I use spreadsheets for checking and reporting Argyll CMS display calibration results (download ArgyllView). In this post I detail display testing, calibration and profiling for a NEC P221W wide-gamut LCD.

This has been one of the most popular posts on my blog. I have updated this post in March 2015 for Argyll CMS version 1.6.3 and X-Rite ColorMunki Display (i1 Display 3) colorimeter. I also have updated another post about calibrating a cheap WLED laptop display.


I connected the NEC P221W with a DVI-HDMI cable to an Acer Aspire 5742 laptop running Windows 7 Home Premium 64-bit.

Colorimeters can be calibrated to improve measurement accuracy for displays with different primary colourants. The X-Rite ColorMunki Display software includes calibrations for five different display technologies: LCD-CCFL (Cold Current Flourescent Lamp backlight), LCD-WGCCFL (Wide Gamut CCFL backlight), LCD-RGBLED (RGB LED backlight), LCD-WLED (White LED backlight) and Projector. Argyll CMS can take these calibrations from the ColorMunki Display setup disc and convert them to Argyll format CCSS (Colorimeter Calibration Spectral Sample) files:

oeminst -v -c
-v Verbose.
-c Save files to current directory (which was my home folder).

I decided not to install the CCSS files, which must require the setup disc and running oeminst for every installation of Argyll CMS (I currently have three computers and three different operating systems). I simply copy and reuse the CCSS files as needed.


Before calibrating for the first time, I reset the graphics properties to default, reset the display to the native state and disabled any calibrations and profiles.

On Windows 7 I can right-click on the desktop and open Graphics Properties. Here are some of the default settings in the Intel Graphics and Media Control Panel on my PC:

  • Display: Digital Display P221W
  • Resolution: 1680×1050 (native resolution)
  • Brightness: 0
  • Contrast: 50
  • Gamma: 1.0
  • Hue: 0
  • Saturation: 0

The Graphics Properties Brightness, Contrast, Gamma, Hue and Saturation should NEVER be used for adjusting the display response. The display will be adjusted in Calibration below.

On the NEC P221W display, the native settings are:

  • Brightness: as required (this will be adjusted later).
  • Contrast: 50%
  • Eco Mode: Off
  • Auto Brightness: Off
  • Black Level : 50%

To disable any display profiles in Windows 7 open Color Management in the control panel. Select the display under Devices and uncheck Use my settings for this device.

Argyll CMS can reset the graphics card look-up tables with:

dispwin -c

Don’t forget to turn off any screen savers and power saving as well.

Display warm up

The NEC P221W has a Wide Gamut Cold Cathode Fluorescent Lamp (WGCCFL) backlight, which takes at least 30 minutes to warm up. I used Argyll CMS dispcal to measure the display response every 5 minutes or so until the white level had stabilised:

dispcal -X WGCCFLFamily_07Feb11.ccss -r -P0.5,0.5,2.0
-X CCSS file selection.
-r report the display response.
-P0.5,0.5,2.0 centre the test window and increase its size by two.

The option -R for reporting the uncalibrated display response did not work, so I had to disallow profiles and reset the look-up tables before using option -r.

Stabilisation plot for NEC P221W.

Stabilisation plot for NEC P221W.

Display uniformity (optional)

Measuring display uniformity is useful for hardware evaluation (I got this idea from PRAD). These measurements are not part of the calibration.

I used dispcal to measure the response at nine positions on the screen:

dispcal -X WGCCFLFamily_07Feb11.ccss -r -P0.05,0.05,1.0 (top left)
dispcal -X WGCCFLFamily_07Feb11.ccss -r -P0.05,0.5,1.0 (middle left)
dispcal -X WGCCFLFamily_07Feb11.ccss -r -P0.05,0.95,1.0 (bottom left)
dispcal -X WGCCFLFamily_07Feb11.ccss -r -P0.5,0.05,1.0 (top centre)

NEC P221W Black Level (cd/m2) uniformity.

NEC P221W Black Level (cd/m2) uniformity.

NEC P221W White Level (cd/m2) uniformity.

NEC P221W White Level (cd/m2) uniformity.

NEC P221W Correlated Daylight Temperature (K) uniformity.

NEC P221W Correlated Daylight Temperature (K) uniformity.

The White Level measurements above show large deviations towards the bottom. LCDs with CCFL backlights contain a diffuser to distribute the backlight evenly across the display. The diffuser in the NEC P221W is imperfect.

Native response (optional)

It’s helpful to investigate the native response before calibrating, especially for new or unfamiliar displays, to decide on achievable calibration targets.

First, I used dispcal to check the basic display response:

dispcal -X WGCCFLFamily_07Feb11.ccss -r -P0.5,0.5,2.0

Black level = 0.13 cd/m^2
White level = 164.8 cd/m^2 (at 50% brightness)
Approx. gamma = 2.10
Contrast ratio = 1305:1
White Correlated Daylight Temperature = 6929 K, DE 2K to locus = 10.9

These results show an excellent black level and contrast ratio for the NEC P221W. The factory-set gamma is close to 2.2. However, the native white point is not D65 (see Calibration targets below): the colour temperature is high (6929 K) and far from the daylight locus (DE = 10.9).

Second, I used spotread to measure a series of grey patches and check the display neutral response:

spotread -X WGCCFLFamily_07Feb11.ccss -T
-T report correlated colour temperatures

The grey scale Closest Daylight Temperature (CDT) was somewhat uniform (moderate standard deviation of 189 K, excluding black). However, the average colour temperature was high (6806 K) and the average distance to the daylight locus was 6.6 DE .

Finally, I used spotread again (without the -T option) to measure RGB patches and check the display colour gamut.

I converted the CIE XYZ readings to CIE xyY (equations from Wikipedia; or use spotread with option -x) and plotted the gamut on a CIE chromacity diagram:

2-dimensional gamut plot for NEC P221W. The NEC P221W has a wide-gamut but doesn’t quite achieve the Adobe RGB colour space for blue and green.

2-dimensional gamut plot for NEC P221W. The NEC P221W has a wide-gamut but doesn’t quite achieve the Adobe RGB colour space for blue and green.

For measuring the neutral response and primaries, it is important that no colour management is applied to the patches. I made the patches in Adobe Photoshop and saved them as PNG format files without any embedded colour profile.


The NEC P221W is designed for hardware calibration. I noted that the factory presets adjust RGB levels to produce different white points.

I calibrated for a D65 white point and 2.2 gamma (AdobeRGB). A comfortable white level target for my viewing environment (bedroom with low to moderate ambient lighting) is 130 cd/m2.

dispcal -v -X WGCCFLFamily_07Feb11.ccss -ql -G2.2 -t6500 -P0.5,0.5,2.0 NECP221W150301W7
-v verbose mode.
-ql quality = low (fastest).
-G2.2 target actual gamma = 2.2 (note for displays with elevated black levels that option -g is more suitable).
-t6500 target colour temperature = 6500 K on White Daylight locus.
NECP221W150301W7 is the name of the .cal file output.

First, I used dispcal menu options 2) and 3) to assist hardware calibration of the white point and white level. I had actually calibrated the NEC P221W before and started with the display RGB settings from the previous calibration (Red = 97.9%, Green = 88.0%, Blue = 90.6%). Here’s the white point measurement (menu option 2):

\ Current Br 137.41, x 0.3130-, y 0.3278+  DE  1.2  R-  G++ B-

Note that brightness has fallen from 164.8 cd/m2 (native) to 137.4 cd/m2 (above) with the reduced RGB levels.

I then reduced the brightness from 50% to 46% (menu option 3):

/ Current 133.05

I then increased the Green level to 88.5% and checked the white point again (menu option 2):

/ Current Br 132.65, x 0.3132-, y 0.3299-  DE  0.5  R-  G– B+

The above result was satisfactory and I let Argyll CMS proceed to look-up table calibration with menu option 7).

Calibrated response (optional)

It can be helpful to compare the response after calibration to the native response measured before.

First, I loaded the calibration:


Then I checked the display response, the neutral response and the colour gamut.

dispcal  -X WGCCFLFamily_07Feb11.ccss -r -P 0.5,0.5,2.0

Black level = 0.12 cd/m^2
White level = 131.3 cd/m^2 (at 46% brightness)
Approx. gamma = 2.16
Contrast ratio = 1120:1
White Correlated Daylight Temperature = 6461 K, DE 2K to locus =  0.8

The calibrated white point was very close to D65 (6461 K, 0.8 DE). The grey scale colour temperature after calibration averaged 6472 K and was uniform (small standard deviation of 46 K, excluding black). The grey scale average distance to the daylight locus was 0.4 DE (excluding black). Calibration hardly affected the colour gamut (see the gamut plot under Native response above).

I experimented with different quality settings and found no benefit in selecting ‘high’ quality, I think because very fine adjustments are not possible with the consumer-grade Intel HD graphics used. A quick and satisfactory calibration (DE < 2) is possible at ‘low’ quality:

Quality Iterations Patches Average
neutral DE
Low (-ql) 2 48 0.4
Medium (-qm) 3 112 0.5
High (-qh) 4 180 0.8
Effect of dispcal quality setting on neutral response with consumer-grade Intel HD graphics and NEC P221W display. There was no noticeable difference between high, medium and low quality options.


Whereas calibration adjusts the display response, profiling simply characterises the (calibrated) response and makes a colour profile for colour management software.

First, I used targen to create a table of test values:

targen -d3 –f500 NECP221W150301W7
-d3 colourant combination 3 = Video RGB
-f500 number of patches = 500
NECP221W150301W7 is the name of the .ti1 file output

Second, I used dispread to measure these patches.

dispread -v -X WGCCFLFamily_07Feb11.ccss -P0.5,0.5,2.0 -k NECP221W150301W7
-k applies the calibration file and includes it in the output .ti3 file (colprof will take this calibration from the .ti3 file and include it in the .icm profile file below).
NECP221W150301W7 is the name of the .ti1 file input and the .ti3 output.

Third, I used colprof to compute the profile:

colprof -v -D”NEC P221W 01Mar15 Windows 7″ -qh -aX NECP221W150301W7
-D sets the profile Description string.
-qh quality=high.
-aX creates both an XYZ look-up table profile and a simple shaper + matrix profile.
NECP221W150301W7 is the name of the .ti3 file input and the .icm output.

The default L*a*b* look-up-table algorithm (option -al) resulted in a warning:

colprof: Warning –
*** Green primary value can’t be encoded in L*a*b* PCS (84.638840 -130.761368 80.164513)
*** Try switching to XYZ PCS ***
*** Try switching to XYZ PCS ***

I needed the option -aX for Windows Photo Viewer, which can’t use XYZ look-up tables. Even worse, the slideshow view in Windows Photo Viewer does not colour manage!

I tried 200, 400 and 800 patches and found no substantial decrease in errors. 400 or 500 patches seems like a good compromise between measurement time and profile detail.

validation (spotread)
Patches Avg. DE Max. DE
200 1.4 3.9
400 1.4 4.0
800 1.3 3.6
Colour errors for NEC P221W with 200, 400 and 800 patch XYZ look-up table profiles. There was no noticeable decrease in errors. However, I evaluated only 24 patches (see Profile validation below).

Profile loading (in Windows 7)

I installed the new profile with the following procedure:

  1. Copy the new profile to \Windows\System32\spool\drivers\color (optional).
  2. Right-click the file and Install Profile.
  3. Open Color Management in the control panel and select the display under Devices.
  4. Check Use my settings for this device.
  5. Click Add and select the appropriate display profile (it must be installed in step 2 above).
  6. Reset the graphics card look-up tables (Argyll CMS dispwin -c).
  7. Select the profile from the list and Set as default. If step 6 was done, you should see the display change appearance when the calibration is loaded from the profile.

Some colour-managed applications can automatically detect the system display profile. I have found the above procedure is sufficient for Adobe Photoshop 7.0 (I don’t know why, but it works).

Some colour-managed applications allow (or require) you to manually select the display profile. I have found that automatic detection doesn’t work in Raw Therapee 4.1 (under Fedora 20, at least, I don’t use Raw Therapee for Windows).

Profile validation

Colprof only reports a summary of profile errors (how well the profile model fits the dispread measurements). What we really want to know is the accuracy of displayed colours (which depends on the display, the calibration, the profile and colour management). I used spotread to measure a series of patches and compared these measurements to reference data. I got this idea from PRAD.

Copying from BasICColor Display, 24 Adobe RGB patches are required for wide-gamut displays. I made these in Adobe Photoshop 7.0:

  1. Set the RGB Working Space to AdobeRGB).
  2. Make a new patch-sized canvas.
  3. Set the desired RGB values in the Color Picker.
  4. Fill the patch with the Paint Bucket Tool.
  5. Save the patch as a JPEG image with embedded Adobe RGB profile.
  6. Repeat steps 3 to 5 for other patches.

I also made 24 sRGB patches for standard gamut displays.

Validation patches are displayed in a colour-managed image viewer and measured with spotread. I compared measurements using both Adobe Photoshop and Windows Photo Viewer and confirmed that Windows Photo Viewer (apart from the slideshow view) is colour-managed and can handle Adobe RGB profiles.

Colour differences are calculated in a Microsoft Excel workbook (download ArgyllView). This workbook also details the RGB values for the colour patches.

Here are the Adobe RGB colour difference results for the NEC P221W:

Adobe RGB validation results for NEC P221W. Average = 1.3, Maximum = 3.6.

Adobe RGB validation results for NEC P221W. Average = 1.3, Maximum = 3.6.

Colour errors were not noticeable (DE < 2) for most patches, but slightly worse for some blues and greens. The NEC P221W gamut did not quite achieve the Adobe RGB colour space for blue and green (gamut plot repeated here for convenience).

2-dimensional gamut plot for NEC P221W. The NEC P221W has a wide-gamut but doesn’t quite achieve the Adobe RGB colour space for blue and green.

2-dimensional gamut plot for NEC P221W. The NEC P221W has a wide-gamut but doesn’t quite achieve the Adobe RGB colour space for blue and green.

Testing colour management (optional)

Without colour management, RGB values are presented in the larger display gamut and sRGB images look oversaturated. The difference between display and sRGB gamuts is large for greens and cyans (see the gamut plot above). With colour management, RGB values are limited to the sRGB gamut.

We can test colour management for wide gamut displays by measuring sRGB patches.

sRGB validation results for NEC P221W. Average = 1.3, Maximum = 4.1.

sRGB validation results for NEC P221W. Average = 1.3, Maximum = 4.1.

Small sRGB colour errors demonstrate that colour management was effective. The green errors are smaller compared to the Adobe RGB validation because the sRGB Green primary falls inside the display gamut (see the gamut plot above).

Practical considerations and saving time

With Argyll CMS it is tempting to measure thousands of patches, but this will take a very long time and not deliver practical benefits in colour management. Accuracy is limited by:

  • Display stability. CCFL backlights take some time to warm-up and can drift with ambient temperature.
  • Display uniformity. We generally take measurements at the centre of the display but the response towards the edges may be noticeably different.
  • Look-up table resolution. Higher bit-depths are needed for fine adjustments.
  • Measurement accuracy and repeatability. Dry Creek Photo reported surprising variability in colorimeters and spectrometers, although that old review does not include the newest colorimeters.

The NEC Spectraview II manual suggests to recalibrate every two weeks, which I think this is much too frequent. I calibrate only once or twice a year! Argyll CMS dispcal with option -r can be used to monitor the display response over time and show when it’s time to recalibrate (e.g. when Correlated Daylight Temperature DE > 2).

Once we are confident that the hardware, the calibration software and colour management are working correctly, calibration and profiling can be done in just four steps:

  1. Warm-up the display.
  2. Disable any loaded display profile.
  3. Calibrate the display (‘low’ quality).
  4. Profile the display (400 or 500 patches should be sufficient).

5 Responses to Complete display calibration with Argyll CMS

  1. VG says:

    Thank you so much for such a detailed guide with valuable bits of information in it!

  2. Anonymous says:

    Great article, Stephen. Well documented. I shows that you sweated the details.

    Best / Roger

  3. Alex K. says:

    Thank you for your effort!

  4. A. Stecno says:

    Hello Stephen, Argyll has support to write to the NEC P221W internal hardware LUT? Thanks!

    • bulumakao says:

      I very much doubt it – the Argyll CMS developer doesn’t support all proprietary systems. Plus, I don’t think the internal LUT is an essential technology.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: