Color Management in Darktable on Linux

I’m seriously looking into getting a professional photo printer (Like the Epson SC P900) for printing A2 and similar prints for wall display.

As part of that investigative process, I’m looking into ICC profiles and various other aspects of color management.

I understand the “what” of color management and how it works, but can’t find good information on how to do it on GNU/Linux.

There are basically three devices that need profiled and calibrated:

I. The Camera
II. The Monitor
III. The Printer

For each of these types, I have separate questions, so I’ll put them in separate sections.

I. Camera

I’ve seen people use the X-Rite ColorChecker Passport.

It seems that this has two purposes. The first is to include it in a shot on each shooting session to calibrate color and white balance for that set of photos.

The other use is to create a color profile, like an ICC profile of the camera, so that colors stay consistent throughout the workflow.

It also seems that the only software that X-Rite offers is exclusive to Adobe Lightroom. ie. They generate some kind of Lightroom specific file rather than an open-standard ICC profile. Is that correct?

Is there any point in using a hardware target for profiling a camera when I use Darktable? Is this what a LUT is used for in Darktable? Or is there a place where you can install an input ICC profile for the camera being used to do the first color space transformation?

II. Monitor and Graphics Card

I think I understand how to make a profile, but I’m not sure where to install it. I use the NVIDIA proprietary driver, and it seems there is no way to add an ICC profile to the driver. Where else can the monitor profile be installed? This is Debian 11 with Mate as the desktop. Can Darktable use an ICC profile for display?

III. Printer and Paper

I understand where to install these printer and paper profiles: there is a config folder in my home folder and I’ve put a few random ICC profiles in there already just to see if they show up in Darktable’s print interface, and they do. So I think I know how to install printer ICC profiles, but not how to create them.

I get the concept: I print a target, feed it through a $5,000 scanner, and then a profile comes out of the software that the scanner manufacturer provides with their scanner.

…Except I don’t have a $5,000 scanner, and I don’t know if there is anything on Linux that can be used. I have access to a Windows 10 virtual machine (with hardware pass-through) so I can print from Linux, create the ICC profile on Windows, then move the profile to Linux, if need be.

But there’s not a lot of info on profiling your own printer. And I don’t know if there any scanner that I can actually afford that is worth using. Many articles are old or very old and things may have changed.

Paper manufacturers give you profiles, but presume that you use the printer manufacturer’s proprietary driver. If I print with CUPS, then I would need to create my own profile. Is there an affordable way to do this? Is it going to be cheaper to send test prints out somewhere to get profiles made than buying a decent quality spectrometer?

If I use the Epson Linux driver instead of CUPS, can I use the manufacture’s ICC profiles for their papers?

ad I:
the xrite tool to generate an icc profile is quite equal to the colorcalibration module adapting it’s settings according to a colortarget present in the shot. Colorcalibration might be a bit less precise, but it’s faster than a solution based on GitHub - Beep6581/dcamprof: DCamProf is a free and open-source command line tool for making camera profiles, and performing tasks related to camera profiles and profiling. which is quite similar to the xrite tool since it also creates an icc profile.
Both solutions doesn’t give a one-size-fits-it- all result; they’re dependent on the illumination situation when shooting the target…
So if you want to get a ‚good enough‘ result, the colorcalibration does a fast and good job, if you want a more perfect result, you need to do the dcamprof way for each shot :wink:
Creating a camera icc based on one illumination (blue sky at sun angle 45°) is alsomjust a ‚good enough‘ approach

My experience is that the CUPS driver (gutenprint ones) are not good enough and not stable (I had rendering changes when upgrading). I recommend to look at the TurboPrint tool (see Not free nor Open Source, but not expensive and gives really good and pro results. That’s why I have developed the TurboPrint support in darktable.

The TurboPrint driver comes with some profiles and if you have a specific paper you can send them a printed sample to get the corresponding profile if needed.

And no you can’t use the manufacturer ICC profiles as they are built for Windows or macOS drivers.

I’m using this since some years now and I can say that I’m very pleased by the output. I have a CANON Pro-1000 and did present my photos on exhibitions.