There are a good and bad news. The good side is that you can run Linux and have a monitor calibrated as you would have in MS Windows. The bad side is that you must have a dual boot of some kind to calibrate your hardware under MS Windows and then you may load your profile under Linux using xcalib or Argyll.
Introduction
However if you use Argyll (dispcal utility) and are the happy owner of the Xrite DTP-94 and Xrite DTP-92 colorimeters that come in Monaco OPTIX and ColorEyes from the company Monaco/Xrite? you may have a 100% linux color management by calibrating your monitor under Linux as well.
Ok, I guess like most of you, I don't own one of these colorimeters, therefore I still need MS Windows. May be one better day... Consequence is that I've never calibrated a monitor (under Linux) and can't speak about that part. For the rest of this howto, I will take for granted that you managed to create a profile of some kind of your monitor, that you are now under Linux and would like to get your monitor corrected.
I will only explore how to load the profile of a single monitor. Two monitors might involves a little bit more work and is probably possible with certain limitation. One last word, on my knowledge as August 2006, loading a profile was not working with XGL/compiz or this kind of fancy 3D desktop. It might one day, but it's because the Xvidmode is not supported yet.
Installing Argyll and Xcalib
Under Linux, to my knowledge, there are two software that allows to load a profile in order to get one's monitor calibrated. These software are: Argyll and Xcalib. You may choose one of them as my experience shows that they behave the very same way and a profile loaded by one or an other looks exactly the same or seems to look exactly the same. However I encourage you to install both of them, as there are certain features present on the first and not the second and besides you will be in position to make up your mind about what's the best choice.
Let's start with Xcalib 0.6
Perequiste: XVidMode (XVidModeExtension enabled) -- the same apply for Argyll.
- Download Xcalib (see the links on the right side of this blog)
- Untar/bz2 or whatever, wherever you feel like
- Fire up a console and "Make" the software with the following command:
make lo_xcalib
Suprise there are several make you can do. Most notabily if you have an ATI, you may do instead:
make fglrx_xcalib
There are also the "make icclib_xcalib" and the "make lcms_xcalib", for detailed explanation, you may read the readme. However as we are in an exploratory phase the lo_xcalib provides a convenient no perequiste mode that contrast with the lcms version where you will have to patch the lcms library beforehand. I might investigate in future post if it makes sens to use the other options.
- If all went well as it should, you have now a nice xcalib program.
- do a
chmod +x xcalib
to be in order to execute it.
- We will leave it in its directory for now, let's build Argyll profile loader.
Second Argyll dispwin 0.6
- Download Linux binary Argyll suite of utilities (see the links on the right side of this blog)
- Untar/bz2 or whatever, wherever you feel like
- and here you are with the installation. In the bin folder you will find (among a LOT of other things) a working dispwin utility.
- (none compulsory) a patch has been made for people using 64bit OS and also people working with several screens and proprietary graphic (ATI / NVIDIA) drivers.
Playing with calibration
One advantage of Xcalib over Dispwin is that it offer the way to "clear" a profile from the X server and recover a none calibrated monitor (very usefull for testing the before/after with/without profile).
For Xcalib the main commands are (from within the xcalib directory or it won't work):
./xcalib /usr/share/color/icc/060731_belinea.icm
where /usr/share/color/icc is your path to your color profile. I would like to encourage you at using the above location. Seems to become the default. But, do as you wish if you would like to do otherwise.
To see if your profile is working, you may also use the supplied "bluish" profile.
./xcalib bluish.icc
Pleased with the result? Yes, so let's clear out the result and see how Argyll works.
./xcalib -clear
to clear out all profile of the X server
Go into your Argyll directory and in the bin folder. With the very same console as above simply type:
./dispwin
and you will see the following color patches: Red, Green, Blue, Cyan, Magenta, Yellow and then it will darken your screen, lighten it and restore the previous parameters. Well done, dispwin is working fine. Issue now the following command:
./dispwin /usr/share/color/icc/060731_belinea.icm
It will load your profile. You may also use the bluish profile of Xcalib, it will work just as fine. You may play between dispwin and xcalib with commands like this:
xcalib -clear && xcalib /usr/share/color/icc/060731_belinea.icm
and try to see if there is any difference.
Finishing the installation
First install the utility of your choice or both where you like. You can even keep it where you install it, but only your user will be able to use it. Otherwise, you may install it under /usr/bin or /usr/local/bin as most of the time these two locations are already on your PATH (ie accessible from your console without any fuss).
Under root do as this:
cp xcalib /usr/bin/
Same thing applies for dispwin.
To automate the process of loading a profile at startup, if you are using KDE (but the very same thing exist for GNOME), you can write a script that you will put under for exemple ~/.kde3.5/Autostart/ where kde3.5, 3.5 is your version of KDE. In case you don't know "~" is your home folder. In my case "/home/nicolas/". Your script will look at something like this (I am using xcalib, change it to dispwin if you prefer dispwin):
#!/bin/bash
xcalib /usr/share/color/icc/060731_belinea.icm &
Don't forget to change it to be executable
chmod +x your_script
In my case, "your_script" has been named "calibration2". For the sake of it, you might want to log off and log in to see if it works. Et voilà, you have a working calibrated environment, let's start the real work on pictures now!