lundi 15 avril 2013

Printing from GNU/Linux using darktable and an ICC profile

Printing on GNU/Linux with a high-end printer is straightforward... when you know the way to do it. Nothing difficult, but there is some pitfalls. In this short article I described the way I have achieved it.

First my environment:
  • GNU/Linux Debian (on unstable)
  • Printing with Eye Of GNOME (EOG in the following)
  • Latest darktable version
  • Printing through CUPS (v1.5.3) + gutenprint (v5.2.9)
  • Epson Stylus Pro 3880 (network connection)
  • Epson Premium Luster Photo Paper

Configuring the printer

The first thing to do is to install the driver for the printer. Well, I suppose you'll have guessed that! I have done so using CUPS. To install CUPS:
$ apt-get install cups
I'm using the gutenprint driver, so you need to install the appropriate package on GNU/Debian:
$ apt-get install printer-driver-gutenprint
The driver I have installed is named:
Epson Stylus Pro 3880 - CUPS+Gutenprint v5.2.9
To install the driver, just fire-up a Web browser and point to:
Anyway, this article is not about adding a printer, there is many good articles for this and it is generally quite easy to do.


There is no print module in darktable at the moment. So in darktable I'm exporting the pictures as follow:
  • format : tif 16 bits
  • max size : 0 0 (no downsize)
  • intent : relative colorimetric
  • profile : AdobeRGB


My first attempt was to print the TIF file directly with EOG. That was a bad idea as the image had an awful brown/yellow color cast! Ok, so I tried to use the Epson ICC profile I was using with Lightroom for this very same printer/paper. Hum... the result was also awful as the image had a very strong red/pink color cast.

I knew that a profile is done for a printer with a specific paper, but I learned also that it also depends on the actual driver used to print. The Epson ICC profile are generic profile intended to be used with the Epson driver, not with the gutenprint one!

Creating a Color Profile

So the solution is to have a proper profile. One could probably create a paper profile using Argyll CMS and a spectrometer like the ColorMunki Photo. I may try this route sometime for the fun.

Another solution is to use a service on the Web to do that. I've decided to use ArtDigiPrint services. Why? There is many services like this on the Web but many seems to make the life harder for us GNU/Linux users. I have seen many places where you needed to run a Windows application to print the charts!

With ArtDigiPrint it is far easier. They provide two archives with 4 or 8 A4 TIF charts ready to print. These charts have respectively 2016 and  4032 color patches. I've followed the 4 A4 TIF route. Less expensive and for a first attempt it seemed just fine to me. The charts can be downloaded here:
Look down at the middle of the page: Standard (4 mires A4). This service cost 35€, not expensive.

The most important point is that you want to print the charts with zero correction in the printer driver and you also want to use the very same printer configuration to print the pictures later.

For reference here are the screen shot of my print configuration:

And one of the most important is the Color Correction set to Uncorrected:

I sent the 4 charts to ArtDigiPrint and got my profiles in 6 days. I got 4 profiles intended to be used for viewing the pictures under different light temperature (2856K, 5000K, 5500K and 6500K).

Using the profile

I have used the more neutral profile (5000K). Again as there is no print module in darktable you need to use an external tool to apply this profile to your pictures:
$ tificc -o ADP_3880_PLPP_5000K -t0 pic1.tif icc_pict1.tif
Thanks to Pascal de Bruijn for this magic tificc incantation!

And then, I have printed the just created icc_pict1.tif with EOG.

This time the result was really good. In fact, I'm not able to see a difference between my Lightroom print (that I have been using as reference in my quest) and with the print from GNU/Linux Debian and EOG.

Yes, I can now remove my Windows dual-boot used since years just for Lightroom and printing pictures.

I hope you'll find this article interesting.