Using LPROF to profile monitors

From ArchWiki
Revision as of 23:06, 26 November 2006 by Foxbunny (talk | contribs) (Profiling the monitor)
Jump to: navigation, search

This article will explain the concept of monitor calibration and profiling.
It will also show how to build and use lprof color profiler.

Tango-document-new.pngThis article is a stub.Tango-document-new.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:Using LPROF to profile monitors#)

Before you read

Monitor calibration is an essential step in accurate color rendering. DTP software such as Scribus makes use of monitor ICC profile to display color accurately and enable preview of publication's colors as they would appear on a printed copy.

For general use (such as watching videos, viewing family photos, etc) monitor calibration is not necessary. This article is intended for DTP and pre-press professionals who need accurate color reproduction.

About LCD monitors

LCD monitors require a different approach to monitor profiling. They are not covered in this article, because the original author had no access to such devices.

When to calibrate monitors

Some people may say any time is a good time. But to do it correctly, weather is the primary concern. Yes, the weather. 6500K daylight color temperature (standard in DTP and pre-press) is not some arbitrary temperature (you don't really have to know what that means, really). It is the temperature of white on a sunny day at noon. What that means is that we need a sunny day, and around noon to profile our monitor properly. This advice comes from seasoned image editing technicians, so take it and you will be happy. :)

Prerequisites for building lprof

In order to build the color profiler tool, lprof, you need root access. You need to be familiar with how Arch Build System (ABS for short) works and how to make packages using makepkg script and PKGBUILDS.

Moreover, in order to build lprof, you will need to build VIGRA, a computer vision library.

There exist PKGBUILDs for both components and the lprof PKGBUILD will be presented in this articles (in case it disappears from its original locations).

About monitor calibration

Before you proceed to following headings, you need understand some terms that will be used in this article.

Black point

Black point of the monitor is the black that is displayed when the device gets no input from the graphic card. If you display an image that has RGB values of 0, 0, 0, then you will be able to 'see' the monitor's black point.

Color (white) temperature

Also referred to as the white point, this is the color temperature of the white. The higher the temperature, the cooler the white (which runs contrary to our notion of hot and cold), and vice versa. For DTP and pre-press, the standard white point is 6500K.

The factory default of most monitors sets the white point at 9300K. This is too cool for DTP. On some monitor makes and models, there are advanced controls for fine-tuning the white point.


What people usually refer to as brightness is actually a control that shifts the black point. By shifting the black point, one gets the impression that the picture is becoming brighter or darker. What actually happens is that the black point gets moved, so the pure black also gets brighter or darker.


Contrast control adjusts the distance of white (RGB = 255, 255, 255) to black (RGB = 0, 0, 0) point. The black point is not changed while the white point becomes brighter o darker effectively expanding or compressing the range of brightness values that can be reproduced. For monitor calibration purposes, this value should always be the maximum available on a device.

Phosphors (color geometry)

The phosphor values have three sets of values (two numbers each). Some manufacturers publish data on phosphor values in user manuals, but this is not true in most cases. Using specialized software, or web search engines is the most common method of getting this information.

Building lprof

The PKGBUILD for lprof has been presented at the Arch Linux Forum in this thread.

But, before you build lprof, you need to build VIGRA, which can be found in the AUR.

Here is the lprof PKGBUILD:

pkgdesc="Imaging device calibration tool"
depends=('qt>=3' 'lcms>=1.12' 'vigra>=1.3')
makedepends=('python>=1.53' 'scons')

build() {
  cd ${startdir}/src/${pkgname}-${pkgver}
  sed -i "s/'tiff'/'tiff','png'/" SConstruct || return 1
  python PREFIX=/usr || return 1
  install -d ${startdir}/pkg/usr
  python PREFIX=${startdir}/pkg/usr install

Just copy the contents into a PKGBUILD file and build the package.

Calibrating the monitor

Before you start lprof (or any other calibration/profiling tool) there are some steps must can carry out that don't require any software.

Setting brightness/contrast

Adjust the lighting in the room to what you will be using when working. Even if your screen is coated with an anti-reflective coating, you should avoid light falling directly on it. Let your monitor warm up for at least an hour for the image to get stabilized. It is not uncommon for Linux to be kept up 24/7 without shutting down, so you may consider that unless you hate the noise and/or light. That way, monitor will be always on (and your unpaid electric bills will quickly block your doorway),

Set contrast (usually a control with half-black-half-white circle) to maximum. If you find you cannot tolerate the bright highlights, you may lower contrast a little. The higher the better.

Next, display a pure black over entire screen. You can do this by creating a small black PNG image (all pixels have RGB = 0, 0, 0). Open it up in Gwenview (you can install it along with KDE) or any other picture viewer that is capable of displaying an image in full-screen mode without any controls.

Reduce the vertical size of the picture (not the PNG image displayed by a picture viewer but the whole of what's displayed on the screen) to something around 60% or 70% of the full height. What is revealed above and below the picture is called a non-scanned area, and since that are is not receiving any voltage, it is the blackest of black your monitor is capable of displaying.

Locate the brightness control (usually a sun, circle with rays projecting from it's edges) and lower the value until the black image matches the non-scanned area.

Setting the color temperature

As we said in the introduction, setting color temperature must occur at noon. If you only have fixed factory default color temperature, you don't really need to wait for the sunny day to come. Just set it to 6500K.

Place your monitor so that you can see outside the window and your screen at the same time. For this step, you also need to create a white square image (RGB = 255, 255, 255), roughly 10 by 10 centimeters (4 by 3 inches). Using the same Gwenview technique as with brightness/contrast, display the white square on a pure black background.

  1. first, prepare your eyes by staring at the outside world for a while. Let them adjust to the daylight viewing condition for a few minutes
  2. glance at the monitor, and the white square for a few second (it has to be short, because eyes will readjust quickly)
  3. if the square looked yellow, you need higher temperature, or if it has got a blueish cast, the temperature needs to be lower.
  4. keep glancing, looking out the window, and adjusting the white temperature, until the square looks pure white

Take your time with the steps described above. It is essential to get it right.

Profiling the monitor

Start lprof. You will be presented by a fairly large window with multiple tabs on the right.

Click on the Monitor Profiler tab. Then click on the large Enter monitor values >> button.

White point should be set to 6500K (daylight).

Primaries should be set to either SMPTE RP145-1994, or EBU Tech.3213-E or P22, or whatever appropriate values for your monitor. If you come across correct values for your monitor, enter those by selecting User Defined from the drop-down. If in doubt, you may use P22 for all monitors with Trinitron CRTs, and SMPTE RP145-1994 for other CRTs.

Click the Set Gamma and Black Point button.

You will now see a full-screen view of two charts with some controls at the bottom.

Uncheck the Link channels check-box and adjust individual Red, Green, and Blue gamma by either moving the slider left or right, or by entering and changing values in the three boxes to the left. The goal is to make the char on the left (the smaller square chart) flat. When you are satisfied with how it looks, check the Link channels check-box and adjust the gamma again.

When you are done, click OK. Click OK again. Now click on the . . . button next to Output Profile File box. Enter the name of your profile: somemonitor.icc. Click Create Profile button, and you are done.


Here are some links you may find useful:

Monitor phosphor characteristics

(This list will be maintained by foxbunny. If you have information you want to contribute, please contact foxbunny)

Make/model phosphor type RED GREEN BLUE
DELL P1110 P22 0.625 / 0.34 0.28 / 0.595 0.155 / 0.07