Screen Calibration Under GNU/Linux with a Spyder4Pro

The photoblogosphere is talking about calibration again. Darth, in this article [fr], talked at length about how important calibrating your display is. Then, in the comments section, my friend Ary started to ask some questions, especially about the support of calibrating devices under GNU/Linux. My own experiments with calibration having been… colorful (pun intended), I thought maybe it was time to write a bit about it.

La blogosphère photo parle encore de calibration. Darth, dans cet article, nous explique longuement l’importance de calibrer son écran. Puis, dans les commentaires, mon ami Ary a commencé à poser des questions, en particulier sur le support des colorimètres sous GNU/Linux. Mes propres expériences en terme de calibration ayant été… colorée (c’est le cas de le dire), je pense que cette leçon mérite bien un fromage billet, sans doute.

Backstory / Contexte

First of all, when I heard of a cheap and open-source colorimeter being designed, the ColorHug, I was an early adopter. Unfortunately, at the time, I failed to get consistent and satisfying results. Blaming the colorimeter rather than my crappy displays, I quickly shelved it. But then, seeing the same picture as if it were three different pictures, depending on which of my three screens I display it on, it really started to bother me. Especially when I was editing pictures. Especially when working on, say, a batch of wedding pictures I took at a family or friend’s wedding. Or when processing Vietnam pictures. So I decided to buy a Spyder4Pro colorimeter. Being one of the two leading brands out there, I decided that if I couldn’t get a proper calibration out of my screens, it would be the screen’s fault. Setting up the device and installing the software was quick and painless, and thanks to the magic of dual boot, I generated ICC profiles for all my displays. Both laptops turned out to have really bad sRGB coverage (less than 70%), but my external screen turned out to go as far as covering 88% of the sRGB standard.

Déjà, quand j’ai entendu parler d’un colorimètre libre et bon marché en cours de développement, le ColorHug, je me suis jeté dessus. Malheureusement, à l’époque, je n’avais pas réussi à obtenir de résultats satisfaisants. Mettant ça sur le compte du colorimètre plutôt que sur le compte de mes écrans pourris, il a vite trouvé une étagère. Puis, à force de voir la même photo comme si c’était trois photos différentes en fonction de l’écran sur lequel je l’affichais, ça m’a vraiment relouté. Surtout quand je faisais de la retouche. Surtout quand je bossais sur, genre, une série de photos de mariage de membres de ma famille, ou d’amis. Ou alors en traitant mes photos du Vietnam. Donc j’ai décidé d’investir dans une sonde Spyder4Pro. Étant une des marques leaders du marché, je me suis dit que si je n’arrivais pas à avoir une bonne calibration de mes écrans, ça serait vraiment la faute des écrans. Installer le tout était rapide et facile, et grâce à la magie du double boot, j’ai généré des profils ICC pour tous mes écrans. Les deux portables se sont avérés avoir une couverture sRGB pourrave (moins de 70%), mais mon écran externe m’a sorti joyeusement une couverture à 88% du standard sRGB.

Test setup / Conditions de test

I wanted to compare the calibration process and the generated profile quality of ArgyllCMS and dispcalGUI, the Open-source color management software suite, against DataColor’s own bundled software. The target screen is my external display, an HP x23 LED (the one with 88% sRGB coverage). The test was executed at night, with the only light in the room coming from the three LED lamps in my office, not hitting the screen directly. I first generated a profile under Windows, with Datacolor’s Spyder4Pro software. Color temperature 6500K, Gamma 2.2, ambient light measurement. Basically just letting the software decide all the settings for me. 10 minutes later, I had my display profile. My GNU/Linux distribution is Mageia 4, and I am running GNOME as my desktop environment.

Je voulais comparer la procédure de calibration et la qualité du profil généré par ArgyllCMS et dispcalGUI, les solutions libres de gestion de colorimétrie, contre le logiciel fourni par DataColor. L’écran cible est mon second écran, un HP x23 LED (celui qui couvre 88% du sRGB). Le test a été exécuté la nuit, avec pour seule lumière dans la pièce la lumière provenant des trois luminaires LED de mon bureau, n’éclairant pas l’écran directement. J’ai d’abord généré un profil sous Windows, avec le logiciel Spyder4Pro de DataColor. Température 6500K, Gamma 2.2, mesure de lumière ambiante. En gros, j’ai laissé le logiciel tout choisir pour moi. 10 minutes plus tard, j’avais mon profil ICC. Ma distribution GNU/Linux est Mageia 4, et je tourne sous GNOME.

Spyder4Pro install under GNU/Linux

First, you need to install dispcalGUI. urpmi will do that for you:

D’abord, on installe dispcalGUI. urpmi s’en charge pour vous:

[root@localhost]# urpmi dispcalGUI
To satisfy dependencies, the following packages are going to be installed:
Package Version Release Arch
(medium "Core Release")
argyllcms 1.6.2 1.mga4 x86_64
dispcalGUI 1.2.7.0 4.mga4 x86_64
56MB of additional disk space will be used.
7.5MB of packages will be retrieved.
Proceed with the installation of the 2 packages? (Y/n) Y
http://mirrors.mageia.org/api/mageia.4.x86_64.list: media/core/release/argyllcms-1.6.2-1.mga4.x86_64.rpm
http://mirrors.mageia.org/api/mageia.4.x86_64.list: media/core/release/dispcalGUI-1.2.7.0-4.mga4.x86_64.rpm
installing argyllcms-1.6.2-1.mga4.x86_64.rpm dispcalGUI-1.2.7.0-4.mga4.x86_64.rpm from /var/cache/urpmi/rpms
Preparing... #############################################
1/2: argyllcms #############################################
2/2: dispcalGUI #############################################

Then, the ArgyllCMS website told me I had to import some files from the install CD. So I put on the installation CD in the drive, mounted it, and followed the instructions

Ensuite, le site d’ArgyllCMS me dit qu’il faut importer des fichiers depuis le CD d’installation. Donc je mets le CD dans le mange-disque, je le monte, et je suis les instructions

[root@localhost]# oeminst -v -Sl
Looking for OEM install files .. 
Looking for CDROM to install from .. 
found '/media/cdrom'
Looking for archive on volume '/media/cdrom' .. found
Loading file '/media/cdrom/Data/setup.exe'..done
Input file '/media/cdrom/Data/setup.exe' is a VISE archive file base 0x10008
Located driver entry 'dccmtr.dll' at offset 0x772cf
Located driver file 'dccmtr.dll' at offset 0xe5209
Located and decompressed file 'dccmtr.dll' from VISE archive
Returning 'dccmtr.dll' length 106496 from '/media/cdrom/Data/setup.exe'
Returning 'spyd4cal.bin' length 1968 from 'dccmtr.dll'
Wrote '/usr/local/share/ArgyllCMS/spyd4cal.bin' 1968 bytes

Calibration

Now we only need to start dispcalGUI and drown in a bazillion options…

Bon ben yapluka démarrer dispcalGUI et se noyer dans son million d’options…

DispcalGUI interface
DispcalGUI interface

What you see here is actually the options I chose for the measurements. In “Display device”, I selected my screen. Instrument “Spyder4” was already selected and not possible to change. The screen is a LCD with a white LED backlight. I chose the 6500K color temperature, White and Black levels “as measured”, Gamma of 2.2, and measured the Ambient light level. Calibration quality and Profile quality were both set to High, I left everything in place and hit the “Calibrate & Profile” button.

Là je vous ai mis les options que j’ai choisies pour la mesure. Dans “Display device”, j’ai choisi mon écran. Instrument “Spyder4” était déjà selectionné et pas possible de le changer. L’écran est un écran LCD avec un rétroéclairage LED blanc. J’ai choisi la température de 6500K, niveaux de noir et blanc “comme mesuré”, Gamma à 2.2, et mesure de lumière ambiante. Qualité de calibration et de profil tous deux mis à “High”, j’ai laissé le reste en place et j’ai pesé sur le bouton “Calibrate & Profile”

Well, I’m not sure exactly why, but it took ages to complete. 6h, to be precise. I would need to look at the detailed logs, but this is a big downside for me.

Bon, je ne sais pas trop pourquoi, mais ça a mis trois plombes à terminer. 6h, en fait. Il faut que je regarde les logs, mais c’est un peu très décevant quand même.

Conclusion

The profile generated by dispcalGUI indicated only 85.6% sRGB coverage, which surprised me. I imported both the profile generated with Datacolor’s software and with dispcalGUI in the GNOME Color manager, and tried to compare both of them. I could clearly see a difference, switching from one profile to the other. Looking at 2D graph of the sRGB coverage, it looked pretty identical. Only when making a GIF of the two did I see the actual difference.

Le profil généré par dispcalGUI indiquait uniquement 85.6% de couverture sRGB, ce qui m’a surpris. J’ai importé les deux profils dans le GNOME Color manager, et ai tenté une comparaison. En activant l’un puis l’autre profil, on voyait clairement une différence. Mais en regardant le graphe 2D de couverture sRGB, ça m’avait l’air identique. Il m’a fallu un GIF qui superpose les deux pour voir la différence.

HP-x23LED-20150204: generated by DataColor Spyder4Pro HP-x23LED 2015-02-04 17-30 6500K 2.2 HQ 3xCurve+MTX/HP-x23LED 2015-02-04 17-30 6500K 2.2 HQ 3xCurve+MTX: generated by dispcalGUI and ArgyllCMS
HP-x23LED-20150204: generated by DataColor Spyder4Pro
HP-x23LED 2015-02-04 17-30 6500K 2.2 HQ 3xCurve+MTX/HP-x23LED 2015-02-04 17-30 6500K 2.2 HQ 3xCurve+MTX: generated by dispcalGUI and ArgyllCMS

Holy crap on a cracker! Is it me or the triangle, in there, for the profile generated by dispcalGUI, is bigger than the triangle for the profile generated by DataColor? The triangle shows the actual screen capacity to cover all the colors of the nice big blob. So that would mean that even if dispcalGUI says “85.6%” and DataColor says “88%”, the one with better coverage is the one generated by dispcalGUI? Lacking an actual print to compare images, I looked for a “reference image”, put it in full screen, then switched profiles. The reference image was taken here. I then set up my camera on a tripod, manual mode, so that the exposure does not change from one shot to the other, and photographed my screen with the screen’s built-in profile, with the reference profile generated by DataColor Spyder4Pro under Windows, and then with the profile generated with dispcalGUI.

Crénom d’un p’tit schtroumpf! C’est moi ou le triangle, là, pour le profil généré par dispcalGUI, il est plus gros que le triangle du profil généré par DataColor? Le triangle montre la capacité de l’écran à couvrir les couleurs du joli gros blob. Donc ça voudrait dire que même si dispcalGUI dit “85.6%” et que DataColor dit “88%”, le profil généré par dispcalGUI a une couverture plus large? Faute d’impression calibrée d’une image pour servir de repère, j’ai cherché une “image de référence”, l’ai mise en plein écran, et suis passé d’un profil à l’autre. L’image de référence vient de . Puis j’ai monté mon appareil sur trépied, mode manuel, pour que l’exposition ne change pas d’une photo sur l’autre, puis j’ai pris en photo l’écran avec le profil par défaut, avec le profil généré sous Windows avec le logiciel DataColor Spyder4Pro, puis avec le profil généré par dispcalGUI.

With the embedded display’s profile, one can immediately see the display is very cold, blue-ish.

Avec le profil par défaut, on voit de suite la température très froide, très bleutée de l’écran.

Default built-in profile
Default built-in profile

Then, with the reference profile, the difference is obvious.

Puis, avec le profil de référence, la différence saute aux yeux.

Reference image with the profile generated by DataColor's Spyder4Pro software
Reference image with the profile generated by DataColor’s Spyder4Pro software

And now, with the profile generated by dispcalGUI.

Et maintenant, avec le profil généré par dispcalGUI.

Reference image with the profile generated by DataColor's Spyder4Pro software
Reference image with the profile generated by dispcalGUI and ArgyllCMS

This comparison method is highly unscientific, and if you have better advice, I’d be happy to read it in the comments. But to me, it seems that the colors and contrasts are deeper with the profile generated by dispcalGUI. What do you think?

Cette comparaison n’est pas du tout scientifique, et si vous avez mieux à me proposer, je serai ravi de le lire dans les commentaires. Mais pour moi, on dirait que les couleurs et les contrastes sont plus poussés avec le profil généré par dispcalGUI. Vous en pensez quoi?

PS: la parodie de chanson à deux balles du jour:

Libéréééééé! Calibrééééééé!
Mes couleurs sont toutes alignéééééééees!
Libéréééééé! Calibrééééééé!
Pour le S R G Béééééééééé!

8 replies to “Screen Calibration Under GNU/Linux with a Spyder4Pro

  1. De ce que je vois, le profil dispcalgui est effectivement plus sature, mais semble aussi plus sombre, non ?
    Sinon, a quoi ca sert d’ajouter les fichiers du cd ? J’ai pas fait ca moi, c’est mal ?

    Like

    1. Alors justement, est-ce que c’est juste que la saturation est plus poussée ou bien est-ce aussi vraiment plus sombre?
      Je ne sais pas pourquoi il a besoin des fichiers du CD. Je me suis contenté de suivre la doc… 😀

      Like

  2. Holy Crap on a cracker! I continue to bow down to your amazing English! (Hope that doesn’t sound patronizing, really I’m jealous.)

    Like

    1. Hahaha, I actually heard that in a TV series. And I also recall maybe hearing some “holy on a cracker, Batman!” in old Batman TV series reruns. I had to look the expression up to make sure I didn’t make a mistake. (A colleague of mine used to say “Holy cow!” a lot. I almost wrote Holy cow on a cracker. Would have been a very tiny cow. Or a very large cracker 😀 )

      Like

  3. C’est bon, merci, j’adopte holy cow on a cracker!!! Pour le reste… heu… je te crois sur parole et je n’ai rien à y redire parce que c’est un peu au-delà de mes connaissances actuelles 😉

    Like

  4. J’avoue que là, je me sens perdue. Moi je suis sur Mac, je passe du temps à post-traiter, je sais que je devrais y passer un jour où l’autre, mais là je touche à la limite de ma capacité d’autonomie personnelle et je chercherai un coach pour m’aider sur ce point. Rien que d’avoir lu ton article, j’ai la migraine…. 😀 😀 Dès fois, je suis vraiment trop une fille. 😉

    Like

    1. tsk tsk tsk. Je ne vois pas en quoi le genre aurait une influence sur les capacités techniques des gens. Pas de stéréotypes de genre par ici :p. Enfin c’est vrai que la teneur de l’article est assez technique (ça change, un peu), et je ne suis pas surpris d’avoir largué aussi bien lecteurs que lectrices, mais je pense que ça a son utilité, notamment pour les gens qui souhaitent avoir un écran bien calibré, mais n’utilisent ni Windows ni Mac OS X, à l’instar d’Ary :). Tu devrais jeter un œil à l’article de Darth (en lien dans mon billet), il explique très bien les problématiques de calibration et de fidélité des couleurs sur un écran :). Étant sous Mac, la calibration avec une sonde se fait de manière très simple avec le logiciel fourni par le revendeur (Spyder ou autre…). C’est juste une opération de maintenance périodique pour un écran de photographe, au même titre que le dépoussiérage d’un capteur ou d’un objectif. Une fois qu’on sait faire, c’est tout simple 😀

      Like

Comments are closed.

close-alt close collapse comment ellipsis expand gallery heart lock menu next pinned previous reply search share star