Color managed printing with Darktable (using printer profiles)?

Having a new high-end printer standing around here I have recently started to look into printing photographs using Darktable. I have never tried printing with Darktable before and I was pretty impressed, when I first saw that the module seems very feature-rich.

However, I’m failing to understand the intended workflow, when it comes to color management. My situation is as follows:

  • I work on Linux using calibrated and profiled monitors and I am basically very happy with Darktable’s way of handling color management in general and display profiles in particular.
  • I created ICC profiles for my new printer by first turning off all color corrections both in the printing software (I used GIMP for that) and the printer driver, then printing a color chart and finally reading the charts using ArgyllCMS and a photospectrometer. I am pretty certain that the profiles are reliable.
  • I then installed the printer profiles in the correct directories so that Darktable sees them. Soft proofing works well using these profiles.
  • Finally, I tried printing an image with Darktable… But whatever I try, the colors come out slighty wrong. I’m probably misunderstanding the workflow here, so I would be happy, if somebody could point me in the right direction…

What would be the correct way to use the printer profile? Would it be preferable to select color management in printer driver in profile and let the printer driver handle color management? In this case I would select my printer profile in the driver… unfortunately, this doesn’t seem to give me correct colors.
Or should I select my printer profile in profile and switch off color management in the printer driver? Does this make any difference at all compared to the first option? Anyway, this doesn’t give me correct colors, either.
What difference does setting the media make? Shouldn’t the information regarding the paper be “baked” into the profile already?

(By the way, using the printer profile both in Darktable and the printer driver gives me results that are way off.)

Any help would be much appreciated. :slight_smile:

Which printer it is?

I would load the ICC profile into the print driver where possible, I’ve always had better results that way.

If possible, use a standard profile, such as Adobe RGB putnof darktable and set your print driver to expect Adobe RGB input.

I need to get back into printing.

Thanks for your reply.
My printer in an Epson SC-P800, so far I’m very happy with it. I’m using TurboPrint as the printer driver.

Yes, that was also my thinking, but when selecting color management in printer driver in Darktable and the printer profile in the driver, the images come out a bit too dark - and darker than the soft proof in Darktable itself. But I don’t know exactly, if there’s anything else that I’m doing wrong… e.g. the media setting in Darktable or the RGB profile…

Ah, as you mention the RGB profile… this is also unclear to me: How and where in the workflow am I to use the RGB profile that I based my profile on? In the print module in Darktable? Or in the printer driver? By the way, I used ECI RGB v2 instead of Adobe RGB, but that shouldn’t make too much of a difference, I guess.

Is your monitor brightness set properly?

I don’t know what ECI is for a profile, but there should be driver settings in the printer driver to tell it to expect Adobe RGB. That printer supports it natievly.

If you want to go a step further, you can extract the CUPS compatible profiles from the Mac version of the Epson Driver software.

That sounds interesting, but I’m not sure what you mean exactly. Is it possible to make printer profiles for CUPS on Linux available from the Mac driver?

@marcuschristopher Another idea: Re: [Gimp-print-devel] I need Epson SureColor SC-P800 linux driver (paid job or beta tester) | Gutenprint - Top Quality Printer Drivers

Have fun!
Claes in Lund, Sweden

1 Like

I forget the file extension of the file right now and I’m nkg home, but its basically a print options file that macOS uses (since they also use CUPS behind the scene). Nothing to do with color per se, but exposing options in the driver.

@marcuschristopher I also print with Turboprint on Linux (Fedora 36). I get good colour match with my self-made profiles (Colormunki photo + ArgyllCMS). In Turboprint (just the cheaper version) I created a profile that I call NOICC (glossy, with appropriate ink saturation density) but without an ICC profile. I then use that to print my test charts. In Darktable I set Media to NOICC and Profile to my ICC file.

How did you print your test charts? It’s important to use graphics software that allows you to turn off colour management. I used Photoprint but it hasn’t been updated since 2010 and I haven’t managed to build it on on a recent distro. However, it does run on older distros (I think Fedora <=29?) so it can be run in a VM or toolbox container. I’m looking for a better alternative to print test charts - perhaps lpr would work but I’m not sure how it handles images without embedded icc (I think most software applies SRGB by default).

If you are using plain CUPS + gutenprint then the results really depends. My experience is that the color management is really bad.

I’m using Turboprint now which comes with profiles for most printer. See the list on their website to know if your printer is supported.

1 Like

Thanks, @spinor, that gives me a good starting point.

Actually, my workflow seems similar to yours: I created color charts using targen and printtarg from ArgyllCMS, then printed the color charts with GIMP using the TurboPrint driver for my printer, setting it to No Correction (for printing color charts). I created the profile using chartread and colprof and imported the ICC data it into the profile in TurbePrint.

What I failed to understand was the whole workflow, when printing from Darktable. So, if I’m understanding you correctly, you do not import your ICC data into your TurboPrint profile, but instead set the Profile in Darktable to your ICC profile? Do you use the intent relative colorimetric? What about the RGB profile?

I tried it the other way round, as I thought that would be the intended workflow: I set Profile in Darktable to color management in printer driver and then use the profile in TurboPrint… actually, shouldn’t that give identical results?

I actually have 2 instances of the same printer (Canon iP8750) configured in Turboprint: one without an ICC and one with. The latter I use for software that doesn’t do its own colour management (eg printing a PDF). The former I use with Darktable, which lets me easily pick from a large number of ICC profiles I’ve created for different ink/paper combinations (I refill OEM cartridges with 3rd party ink). It also gives me more rendering intent options; in particular, my version of TP doesn’t offer relative colorimetric or bp compensation. I use either relative or perceptual depending on what I’m printing. TP also transforms the incoming profile through it’s own input colour space - either SRGB or AdobeRGB. Darktable gives me more control over this chain of transformations. Having said that, I usually leave DT’s output profile to SRGB, which possibly gets applied as an intermediate transformation, but I’m not sure about that. I use REC2020 as the working profile.

However, I can’t see why your workflow doesn’t give acceptable results as long as your not applying double profiles, which I don’t think you are. Perhaps there’s a problem with your profiles or photospectrometer? OBAs in certain papers could also throw things off.

Ah, that’s actually a pretty neat idea. It never occurred to me to not import the ICC color data into TurboPrint’s profile. I think, I will try it that way and report back.

I also thought that there might possibly be some problem with my photospectrometer or OBA’s, but I was actually pretty happy with the results, when printing from GIMP, so… not sure. I was also thinking that my way of applying RGB profiles could be wrong… I prefer to use eciRGB_v2 and that’s what I based the profile creation on – so I’m guessing I’ll have to choose this as the output profile in Darktable (and select eciRGB_v2 as the RGB profile also in TurboPrint, after having installed it there). But this is where I’m a bit unsure, if I’m understanding Darktable’s color management correctly…

E.g. why are there two distinct settings in Darktable: Paper and Profile? Shouldn’t one imply the other? Wouldn’t selecting the paper that I defined in TurboPrint and the printer profile from TurboPrint apply a double conversion?

Let’s say, I used the general option Glossy Paper, when printing the color charts on a paper named Inkjet Paper Satin. I then have a new paper available in TurboPrint called Inkjet Paper Satin and a profile using roughly the same name… Should I then select Glossy Paper again in Darktable and my ICC profile for that paper? Or should I rather select the new paper Inkjet Paper Satin and combine it with my ICC profile…

Not knowing anything about printer profiling please take this with a big grain of salt, but: can you print the chart using color management (with your measured ICC) and measure it with the photospectrometer to check if it’s working or not? (and if it’s not working OK, how far it is). The way I see either the color management for the export/print/driver is failing, the soft proof view is wrong, or all it’s working OK but the precision/variability is not as expected (you say it’s “slightly wrong”). Measuring a chart objectively should give you at least an indication.

If you’ve managed to successfully profile the printer with color management off, then a good sanity check is to do the printer color management manually, and check that you get results that you expect. This should also give you a better understanding of what’s going on “under the hood”, which may help you sort out your preferred workflow. You should use the second of the two suggestions (source and destination profile), with the source profile being the profile your RGB images are encoded in, and the destination being your printer profile, and print the output image the same way you printed the test chart (i.e. no color management). Be aware that the profile your RGB images are encoded in, may not be either your editing space nor your display space, but the configured space you editing application is set to save file in. (If you are confident that your example image has the correct embedded profile, you can supply it as the source color profile argument to cctiff.)

1 Like