Darktable on macos: are there bugs with ICC profiles?

I’ve used Darktable for a while, but never really got into any depth on the subject of colour management. I’ve tended just to leave everything as default. However, I’ve recently got a wide-gamut display which has prompted me to get my head around things a bit more, and I’ve been doing a few experiments in Darktable to this end, but I don’t feel confident that images are being displayed as they should be.

I’ve read through quite a few other threads, some of which have helped me sort some things out, some of which have ended up getting into technical detail beyond my knowledge. There are many mentions of problems involving colour profiles on macos but I’m unclear whether these are still ongoing.

I’ll try and describe three problems as starters:

Problem 1: Darktable doesn’t use my “system display profile” for its "display profile"

I have a display that should be able to display, near enough, the AdobeRGB gamut. I have confirmed this in other applications using a test image (where a symbol is only visible if the saturated reds are not clipped out).

  • I noticed that the test image would not display correctly in Darktable if I selected my “system display profile” in the menu of options that is accessible by right-clicking on eg. the softproof button.
  • The image would appear to display correctly if I chose “AdobeRGB (compatible)” instead, which is much as expected, as my monitor’s profile approximately matches the AdobeRGB one.
  • However I want to try and see things displayed as accurately as possible, and I have a calibrated profile that I made for my monitor using a colorimeter and DisplayCAL software. This is the profile I wanted to use. It’s the profile I have set as the display profile in macos settings, so it’s the profile that Darktable ought to use when I select “system display profile”
  • Thanks to some information in other threads I eventually worked out that by adding my calibrated custom profile to a certain config folder (*see below), I could make it appear as an option in that “display profile” dropdown menu, and I could select it.
  • So…this problem is partly solved but…

Problem 2: Darktable produces different results using my calibrated display profile, compared to other apps

  • Having worked out how to access my calibrated profile and set it under “display profile”, I noticed that Darktable was not displaying images the same as other applications (eg Affinity Photo and mac Preview). It was displaying them with visibly less saturation.
  • I also note that if I change between my calibrated profile and the standard “AdobeRGB” one, the “AdobeRGB” one looks more saturated. But I don’t think this should be the case.
  • So, is the error in Darktable?
  • Or is it user error - is some other setting that I need to adjust?
  • Or is it the other apps that are doing it wrong? It seems unlikely that they would both agree on a “wrong” result.

Problem 3: “Gamut Check” produces unexpected results

  • My understanding is that this should highlight (in cyan) all pixels in an image that are not within the gamut of whatever I have selected as “softproof profile” in the right-click menu. Is that correct?
  • If I open an image with an sRGB colour profile assigned to it, Darktable should show me an image that contains no pixels outside of the sRGB colour space. Again, have I got that right?
  • Now, if I choose “sRGB” as my “softproof profile”, and click on “gamut check”, I shouldn’t see any pixels highlighted, because no pixels should be out of gamut. Is that correct?
  • However: what actually happens is that I see many pixels in the image highlighted in cyan. Once again, it appears to me that either Darktable is doing something wrong, or I am.

I’d be grateful for comments on any of these problems.

If the answer is simply that colour profiles just don’t work properly in Darktable on macos then I guess I’ll just have to give up using it for colour critical stuff. It would be useful to know this is the case before I spend more time trying to get things working though.

*steps to make a custom ICC profile available as a “display profile” in Darktable - I’m putting this here in case it’s useful to any other confused Mac users who come across this thread:

  1. make sure you have “hidden folders” switched to visible in macos (press cmd + shift + . to toggle this on or off)
  2. Find on your hard disk users / [your user account] / .config / darktable
  3. If it doesn’t already exist in that darktable folder, create one called “color” and then a subfolder in “color” called “out”
  4. Put a copy of your calibrated ICC profile in that folder, “out”.
  5. Restart Darktable and it should now show up as an option.

Thought I’d try bumping my thread in case anyone can help with my questions… and it turns out I don’t have to abandon Darktable after all.

Have you run darktable-cmstest? What is the output?

Isn’t that a Linux thing? I am on macos.

The binary is probably inside the app bundle.

The manual appears to confirm it’s Linux only.

https://darktable-org.github.io/dtdocs/en/special-topics/program-invocation/darktable-cmstest/

About add output profile, as my monitor profile:
Cannot help it. Be watch gamma shift anyway in preview.app.
Bought Davinci Resolve Studio. However, darktable is free. how can it be brought to an end.

Hi @anon43125638 , welcome to the forum!

Here you can check if you have chosen the correct screen profile:

Profile

mkdir -p ~/.config/darktable/color/out
be copy my icc profile
cp ~/Library/ColorSync/Profiles/dispcal007.icc ~/.config/darktable/color/out/
restart dt
enable softproof one for.
display profile = my display profile (dispcal007.icc)
preview display profile = system display profile
softproof = Adobe RGB
histogram profile = adobe rgb.

I’d select my screen profile under “display profile”
My image became even less contrasty (gamma)! )))
The difference became even greater between what I see on the program screen and what I see in the preview.app)))
With the system profile and there was not such a difference.
There was a difference, as I said in the first post here, but not by that much. It was as if some sort of action inversion had been triggered somewhere.

By the way. When I turn on a mode where I don’t put my profile inside, but where everything is the default, I see how the left side of the histogram shifts even more to the left. More accurately, the histogram is stretched by 7 percent. If the histogram is to be believed, the image should come to a higher contrast when such a button is pressed.
However, I don’t see the image undergoing any change.

What I have at the moment now.

  1. default settings (softproof)
    Снимок экрана 2022-05-04 в 21.36.48
  2. Gamma shift issue. When watch saved image (any format) in preview.app or in photoshop, or in 3dlut creator.
  3. Complete confusion as to what to do next with this program.
    I will leave it until better times. It does not take up much disk space.

Ok. Since I don’t use macOs, I can’t help you there. Maybe @MStraeten can say something about it.

Maybe I need to apply my display profile to the “work profile” instead of the output one?
But it is not clear how to name the directory for such a space. For the input one is in. For the output, it’s a out. And for work… How about a “work”? I did not find any information anywhere.

Your display profile has nothing to do with either work profile or output profile. I will leave it as it is by default:
Workingprofile

And as output profile I would leave sRGB.

https://docs.darktable.org/usermanual/3.8/en/module-reference/processing-modules/input-color-profile/
https://docs.darktable.org/usermanual/3.8/en/module-reference/processing-modules/output-color-profile/

Work profile also goes to the “out” folder (see the tooltip of the “input color profile” module). I don’t think there is a need to change the work profile though, as it has nothing OS/display specific and is used only for a virtual color space for processing. The only ones you’d ever want to change/add are output profile and display profile.

So initially I have not touched anything and encountered the problem without any changes in the settings of the program.
Now, for the sake of purity of the experiment, I closed the program and renamed the directory to another name.
Started the program again.
Again, the directory with the settings was automatically created - ok.
I loaded my tiff file into the program.
Saved the file in jpeg and tiff.
Nothing new. The resulting file, in gamma, is different from what I see in the program.
I looked at these files in darktable, 3dlut creator and preview.app.

I changed the last two moments. The gamma is screwed up in the received files, for all the good it does.
As if I shifted the gamma from 2.0 to 2.4.

Can you share one of these images and the xmp you use to export…perhaps it will provide some clues. Your histogram profile will not impact your display that is normal

src.zip (24.6 MB)
output.tif (34.0 MB)


screen003

Do you have color management turned on in preview.app?