Calibration d'écran, profil ICC et gestion des couleurs sous Ubuntu
Par effraie le mercredi 09 avril 2008, 08:54 - Logiciel libre - Lien permanent
Ceux d'entre vous qui suivent savent que je m'intéressent à la photo numérique, et en particulier à sa pratique sur notre plate-forme préférée: GNU/Linux.
Mon dernier billet important sur le sujet, Flux de travail numérique pour le photographe sous Ubuntu, tentait de montrer comment il était possible d'utiliser des outils, si ce n'est professionnels, au moins des très haut niveau pour gérer son workflow sous ubuntu.
Cependant, la question de la calibration de l'écran, et donc de la gestion des couleurs semblait poser quelques problèmes, et les solutions que j'avançais à l'époque n'étaient que des bricolages.
Je ferais prochainement un billet (à jour) plus extensif sur la gestion de mon flux, depuis la prise de vue jusqu'à la publication web et/ou l'impression, mais je n'en ai pas le temps ni le courage immédiatement. Je vais donc me contenter d'expliquer la démarche que j'ai suivie pour calibrer mon écran, entièrement sous GNU/Linux (Ubuntu Hardy Heron, mais ça devrait être facilement transposable sous n'importe quelle distribution), parce que j'imagine que ça intéressera fortement un certains nombre...
Pré-requis
- Argyll Color Management System : Ce logiciel, bien qu' austère et peu engageant, est aujourd'hui ce qui se fait de mieux pour la gestion des couleurs. le site web est explicite: il s'agit d'une collection de codes sources, qui, une fois compilés, fournissent des outils en lignes de commandes permettant, de façon quasi exhaustive, de calibrer toute une chaîne graphique.
- Une sonde colorimétrique reconnue par Argyll. La liste du matériel supporté est disponible ici. Je me suis servi de la version 0.70 Beta 8, pour profiter du support de la sonde Spyder 2 de colorvision, un des matériel les plus répandu dans le grand public, et surtout, un des moins chers (j'ai acheté la mienne 70€ d'occasion). Inutile de payer plus cher une version «pro», seul le logiciel change, et seule la sonde (matériel) nous sera utile sous GNU/Linux
- Un écran...
Procédure
Installation de Argyll 0.70 Beta 8
Argyll est un logiciel non-présent dans les dépôt, et d'usage très spécifique.. inutile de l'installer si vous n'en avez pas vraiment besoin, vous risqueriez d'abîmer quelque chose sur votre beau système.
J'ai choisi d'utiliser la version précompilée de Argyll: inutile de se compliquer la tâche pour un logiciel si spécifique. L'installation est donc très simple: il suffit de télécharger cette archive, de l'extraire, et de placer le contenu de son répertoire bin/ dans votre $PATH (personnellement, j'ai choisi /home/effraie/bin , mais libre à vous de faire autre chose, /usr/local/bin étant par exemple tout indiqué.
Le firmware de la sonde Spyder2 étant propriétaire, il n'est pas inclus dans Argyll, et il vous faudra l'extraire. c'est trés simple, et ça se fait en 2 étapes:
- introduire le cd d'installation de la sonde dans votre lecteur,
- tapez simplement
spyd2endans une console pour extraire le firmware et l'injecter dans Argyll
Votre sonde Spyder2 devrait désormais être utilisable!
Passons donc aux choses sérieuse, la calibration (et la caractérisation) de l'écran proprement dit.
Argyll est un outil en ligne de commande, mais pas si compliqué à utiliser, finalement. Enfin, au moins quand, comme moi, on se contente de l'utiliser pour un usage basique, parce qu'il embarque tout un tas d'outils dont je ne saurait que faire...
Voici donc les étapes que je suivie, avec (quelques) détails:
Je me suis placé dans les conditions de luminosités qui sont celles dans lesquelles je travaille mes images (généralement), et j'ai fait le vide sur mon Desktop. Ensuite:
- Branchez la sonde a une prise USB,
sudo chmod 777 -R /dev/bus/usbpour avoir accés, comme simple utilisateur, au bus USB. (il y a sans doute plus élégant, mais là n'est pas le propos),dispcal -v -qm -yl mon_profil(-v pour le mode verbeux, -qm pour une qualité moyenne, -yl pour un écran LCD (-yc pour un CRT) et mon_profil, pour le nom a donner au profil (et aux fichiers intermédiaires). Un patch noir appariait a l'écran, sur lequel placer la sonde, et vous devriez avoir cet affichage dans votre console:
Setting up the instrument Instrument Type: Spyder 2 Serial Number: 00617511 Hardwar version: 0x0307 Place instrument on test window. Hit Esc, ^C or Q to give up, any other key to continue:
- Tapez donc entrée après avoir placé la sonde, et vous voila avec le menu suivant:
Display adjustment menu: Press 1 .. 7 1) Black level (CRT: Brightness) 2) White point (Color temperature, R,G,B, Gain) 3) White level (CRT: Contrast, LCD: Brightness) 4) Black point (R,G,B, Offset) 5) Check all 6) Continue on to calibration 7) Exit
Ayant un écran cheap de portable, je suis passé directement à l'étape 6, mais si vous avez des contrôle manuels sur votre écrans, passer par les autres étapes n'est sans doute pas un luxe!
- Dispcal va afficher et mesurer toute une série de patch de différente couleur, et produire un fichier mon_profil.cal. c'est un peu long, c'est normal.
- On tape
targen -v -d3 -f500 mon_profil, ce qui va générer un fichier mon_profil.ti1 contenant les nouveau patches à mesurer. Cette étape est très rapide. - On va maintenant utiliser la commande
dispread -v -yl -k mon_profil.cal mon_profilqui va produire un fichier mon_profil.ti3. Cette étape est assez longue également. - On peut désormais retirer la sonde l'écran, et générer le profil lui même:
profile -v -A "Fabricant de l'écran" -M "modèle de l'écran" -D "la date" -qm -as mon_profilqui va produire un (précieux!) fichier mon_profil.icc - On charge le profil dans X avec la commande
dispwin /chemin/vers/mon_profil.icc(et on le décharge avecdispwin -cmais ça n'a aucun intérêt
). Votre écran devrait prendre une surprenante teinte jaunâtre, (c'est normal mais moche). Votre écran est désormais calibré, et vous n'avez plus qu'à configurer correctement vos application (supportant les couleurs gérées, comme bibble, ou le dernier gimp). Attention, si vous utilisez un économiseur d'écran, celui ci déchargera le profil. Pensez à le recharger (ou à désactiver l'économiseur d'écran).
Mille merci à Jcornuz pour ses précieuse informations, et bienvenu dans le monde merveilleux des couleurs gérées sous GNU/Linux!





Commentaires
Merci beaucoup pour cette procédure récapitulative claire (et en français!) qui devrait être utile à pas mal de monde.
Excellent billet qui manquait encore cruellement en francais. Personnelement j'ai toujours reculé le moment de me lancer la dedans...
En tout cas je vais de ce pas renvoyer vers ton billet !
Et bien moi qui hésitais à franchir le pas sur mon portable je sens que la ça va le faire, c'est bibble qui va être contant.
Merci effraie
Cool, je me demandais si pour calibrer son écran il existait quelque chose sous linux. Je pensais bien que oui, cette fois j'en suis sûr.
Je serais intéressé pour le faire sur mon portable, si quelqu'un a une telle sonde et qui habite dans le Doubs aux alentours de Pont-de-Roide, Sochaux, Montbéliard, Belfort, qu'il poste un message s'il y a moyen de se rencontrer le temps d'un calibrage d'écran.
En tout cas merci, je garde cet article sous la main.
Cool, je me demandais si pour calibrer son écran il existait quelque chose sous linux. Je pensais bien que oui, cette fois j'en suis sûr.
Je serais intéressé pour le faire sur mon portable, si quelqu'un a une telle sonde et qui habite dans le Doubs aux alentours de Pont-de-Roide, Sochaux, Montbéliard, Belfort, qu'il poste un message s'il y a moyen de se rencontrer le temps d'un calibrage d'écran.
En tout cas merci, je garde cet article sous la main.
Salut,
super ce billet, je me demandais justement comment appliquer un profil icc pour mon écran sous linux. J'avais lu qu'il était possible d'en utiliser un dans des applications qui le gère, mais pas directement sur l'ensemble de l'affichage (gênant pour afficher un diaporama ou pour du montage vidéo, voire même du jeu) et puis j'ai trouvé xcalib, et maintenant ton billet avec tout ça :)
Sinon pour ceux qui ne recherchent pas une calibration ultra précise mais quand même bonne, vous pouvez trouver des profils correspondant à certains écrans sur focus numérique... Ca évite d'investir dans une sonde, et ça arrange bien les choses déjà (en tout cas chez moi ça marche bien).
J'ai un vieux 17'' Mitsubishi Diamond Plus 71 et pour l'instant je me contente d'une pseudo "calibration" visuelle avec Monica... et puis je n'ai pas trop le temps en ce moment. Alors zou, un billet très utile à glisser dans les marque-pages. Merci!
Effectivement, les sondes spyder sont faciles à trouver et avec ton billet yapuka ... merci ! :o)
juste une petite précision, il est convenu qu'en français on utilise le terme calibrage
calibration... en anglais
Mais c'est bien vrai MiTcX... il faut calibrager plutôt que calibrationner... quoique simplement calibrer...
Intéressant car l'emploi de "calibrage" ne nous aurait peut-être pas échappé dans un autre domaine.
La "calibration" d'une tomate? Pas beau!
Pan sur le mètre!
Il est facile de calibrer son écran depuis kcontrol.
Cela n'a rien à voir avec le billet (excellent d'ailleurs), mais je me prend une erreur à chaque fois que je veux poster un commentaire sur ton photoblog (rapport au spam, toussa) :
{{ The comment could not be accepted because it got flagged as SPAM by our anti-SPAM measures (ERR: 01).
}}
Un début de réponse par là ;)
http://www.pixelpost.org/forum/show...
tiens, merci bellette :) j'ai réparé ça il y a un moment (grâce a ton commentaire), mais j'avais oublié de te remercier.
Bonjour,
Merci beaucoup pour ce tuto, ça faisait quelques mois que j'avais abandonné Linux car regarder une photo sur un écran non calibré m'écoeure complètement. Maintenant j'ai pu me remettre à Ubuntu 8.04 avec la calibration !
Deux petites remarques si quelques personnes sont bloquées par les même choses que moi :
-En ce qui concerne le branchement USB de la sonde, mettez-la sur un port directement connecté à la carte mère, je l'avais branchée sur mon HUB USB et ça ne fonctionne pas, alors que le système la reconnaît.
-Souvent, j'ai été bloqué par les commandes qui ne fonctionnaient pas. Mais en mettant ./ devant les commandes, ça fonctionne. Peut-être quelque chose m'a-t-il échappé, mais ça a marché comme ça, alors si ça aide des gens...
Voila, encore merci...
tu est vraiment sur que d'une sonde bon marché a une autre plus pro seul le soft change
Le matos est bien de qualité equivalente?
C'est exactement le même matériel, seul le soft fournis avec change
voila des semaines (mois ?) que je ne m'étais pas penchée sur la question et j'y reviens... merci mille fois, je vais enfin pouvoir calibrer mon écran avec ma sonde et arrêter de rebooter pour travailler mes photos \o/
et mettre en oeuvre ton billet sur le flux de travail que je garde précieusement depuis... pfiou... sa parution :p
PS : honte à moi, je retombe sur ton billet aujourd'hui et je m'aperçois que lui aussi est dans mes favoris depuis Avril...
pas de honte à a voir ^^'
Ca serait pas plus facile qu'un programmeur nous fasse un petit logiciel pour inclure toutes ces manips et que cela se fasse automatiquement au lieu de faire galérer tout le monde ! Effrayant de voir ça alors qu'on veut développer le monde du libre.
@Senior59 : je te rassure, il existe Lprof, une interface graphique pour ArgyllCMS. Cependant, ce n'est pas encore franchement fonctionnel, étant (lors de mon dernier test) basé sur une ancienne version de Argyll
Je me suis lancé ce week-end et j'ai quelques questions car j'ai peur de ne pas avoir tout compris sur l'utilisation des profils.
J'ai utilisé la version 1.0.3 d'Argyll. Dans cette version la commande profile n'existe pas et à été remplacée (renommée ?) colprof. A ce détail prés tout c'est passé sans problème.
Maintenant que j'ai mon profil ça se complique.
Si, sans charger le profil dans la carte graphique (avec dispwin ou xcalib) je l'utilise comme profil d'écran dans Gimp j'observe une modification mineure de mes images. Dans DigiKam je n'ai pas l'impression que cela fasse quoi que ce soit, idem dans RawTherapee2.4m1.
Si par contre je charge le profil avec dispwin ou xcalib la différence est là beaucoup plus importante (c'est vrai que ça semble un peu jaune au départ, mais c'est mieux au niveau des couleurs). Si en plus j'applique le profil dans Gimp alors j'ai comme avant une modification mineure de l'image. Dans DigiKam et RawTherapee rien comme avant.
La question que je pose est la suivante : une fois le profil dans la carte graphique toutes les applications en profitent. Pourquoi devrait on en plus spécifier ce profil d'écran dans les logiciels ? Est-ce qu'on ne va pas l'appliquer 2 fois dans ce cas ? D'autre part, je pensais au départ qu'en spécifiant le profil d'écran dans Gimp sans le charger dans la carte graphique, j'obtiendrai le même résultat, mais seulement dans la fenêtre d'image de Gimp, que ce j'obtiens pour tout l'écran en le chargeant dans la carte graphique. Or ce n'est pas le cas.
J'ai aussi fait des profils en utilisant le logiciel fourni avec la Spyder2express. J'ai essayé avec un windows tournant sous VirtualBox ainsi qu'avec celui que j'ai en double boot. Le profil du Windows double boot donne à peu près les mêmes résultats que celui d'Argyll alors que celui de VirtualBox ne change pratiquement rien ! C'est peut être du au fait que VirtualBox n'a pas de carte graphique mais je ne voit pas bien pourquoi le profil ne serait pas calculé convenablement. A creuser.
En tout cas merci pour ce tutoriel car dès que l'on sort de Windows et de Photoshop on a du mal à trouver des infos sur le web.
Effectivement sur la derniere version disponible (20/10/2008).. il faut utiliser la commande colprof au lieu de profile..
Sinon, j'avais cru comprendre qu'il fallait également chargé le profil Icc dans la carte graphique.. avec par exemple Xcalib
En tout cas merci.. beaucoup!!! pour cette excellente explication..
@Christophe Le Hay : ;)
Et si j'ai créé mon profil ICC sous Windows (avec le mm écran), j'ai plus qu'à l'appliquer également dans Linux, non ? Pas besoin de recalibrer, en toute logique, n'est ce pas ?
@azertyuiop : C'est bien ça ;) cela dit, comme il faut théoriquement re-calibrer souvent, tu devrais essayer cette méthode !
Bonjour !
dispwin monprofil.icc ne marche pas lorsque je le mets dans le xorg.conf de Intrepid Ibex. Par contre je peux le lancer à la mano une fois le système chargé, mais j'ai un message d'erreur (ou de warning ?) :
C'est quoi le souci ? Merci de toute aide !
Ou as tu vus qu'il fallait le mettre dans xorg.conf ? Personnellement, j'ai un script que me lance dispwin au lancement de ma session.
Salut,
J'y vais aussi de mon problème, j'arrive à afficher les tests (-F et -f), ais j'ai à chaque fois le message :
XRandR 1.2 is faulty - falling back to older extensions
Et quand je veux charger mon profil, j'ai le message :
We don't have access to the VideoLUT
Et bien sur, ça marche pas, t'aurais pas un idée des fois ? Je suis sous Hardy 64 bits sur un Macbook Pro avec ATI X1600
Merci.
Là, comme ça, non... mais j'aurais envie de chercher du côté des drivers de ta cartes graphiques (libres ou non?) et d'un soucis entre ta carte graphique et ta résolution en double écran (xrandr?)
Merci pour ta réponse, effectivement ça concerne mon écran externe, le seul qui mérite qu'on lui charge son profil, le seul de bonne qualité photo en fait.
Sinon pour le driver, c'est le fglrx des dépôts, je m'embête plus depuis déjà un moment à aller compiler un truc pareil.
J'ai utilisé Argyll la première fois avec Ubuntu 8.04, avec la version 0.7Beta8 (installation simple en dézippant l'archive). Ca a bien marché.
Après la migration de Ubuntu en 8.10, j'ai chargé la version 1.0 pour AMD64 que j'ai installé grâce à un .deb (je ne sait plus où je l'ai trouvé).
Et là... ça ne marchais plus ! Alors j'ai continué a utiliser la version 0.7.
A l'instant, je viens de charger la version 1.0.3, installé juste en dézippant l'archive. Et visiblement... ça marche de nouveau.
(ma carte vidéo est une nvidia 9xxx)
Ma Spyder2 est bien reconnue sous Jaunty mais ça plante avec No videoLUT support :
@@claude@claude-904:~/bin/bin$ sudo ./dispcal -v -y l ./test
Setting up the instrument
Instrument Type: Spyder 2
Serial Number: 00732992
Hardwar version: 0x0307
dispcal: Warning - Native mode can't work, no VideoLUT support
The instrument can be removed from the screen.
dispcal: Error - dispread failed with 'Window Access Failed'
@@
Est-ce que ça vient du fait qu'il n'existe pour le moment pas de driver pour Nvidia en 9.04 ? Où aurais-je oublié quelque chose (ce qui ne m'étonnerait qu'à moitié) ?