Colour profile help

Hi, I do not understand colour profiles very well, but I am trying my best.

I seem to have developed an issue on my computer where images from darktable look different in the darkroom to when I export them. Let’s have a look (hopefully this shows up on the images and I will do my best to describe the issues)

Here we have a photo of a bike in some grass. The grass is not particularly golden colored and the bike is not very vibrant. Clicking soft proof does nothing (and you can see I have set display profile to system display profile)

When I export this image however, as srgb, we can see the colours are quite different!

Here we can see my bike is much more vibrant and the grass is golden. While this may be an improvement, it’s not really acceptable for me to have a difference until I export.

If we go and set display profile in darktable to “srgb” this actually matches the exported image.

I could just set it to srgb and call it a day… but sometimes I work in print and I have suffered from a mistake already on printing an image and the colours coming out less vibrant than on my screen due to a mismatch of colour profiles. It feels like I should be able to get this display profile to work correctly.

Here is the output from some commands.

Seems darktable cannot find the colourprofile for my monitor, however the file listed does exist (and seem to be a colourprofile) and gnome settings reports that I have it enabled.

Any tips? Can I be free from this colourprofile hell? Can anyone teach me how to just make things display properly on my monitor!

I switched from wayland to X11 because I discovered apparently wayland doesn’t support colour management?

The image now looks like the less vibrant rendition (which is what I see in darktable)

I do not understand why the exported image seems to appear different however. Anyone able to explain why under wayland it looks more vibrant when exported and under x11 it looks less vibrant when exported?

I find this all a bit confusing, but it seems wayland is almost unusable for colour purposes until they fix that.

Maybe this is the PR that should fix it? WIP: staging: add color management protocol (!14) · Merge requests · wayland / wayland-protocols · GitLab

I gave up on wayland until they fix the color profiles. I use X11.

You initial setup looks correct (first image). Your export settings in the export module can matter too. Also the image viewer outside darktable should be color managed too.

2 Likes

the pain continues… one of the issues I have had is this image, and while it looks better in darktable and until I upload it… it still has this issue.

We can see here she looks relatively normal in skin tone, and this is a fairly accurate depiction of the colors in the scene.

Lets export the image.

I have directly uploaded the image that was exported above. In firefox and my image viewer, it looks identical to the screenshot. Perfection.

Now lets upload it to google photos.

image

Thats funny. She looks kind of red in this preview right? It’s pretty unflattering. If I click the image it then displays as clearly red then when the full resolution image loads, it reverts to the natural colours.

Weird bug right? Well what does it look like on my phone?

Here is a screenshot from my phone, with the red skin tone issue again.

I honestly do not understand what is going on here. The photo is definitely exported as srgb, so why does it look different on my displays, and change so much?

It’s worth noting that on my monitor, these screenshots definitely look different to the original, which also confuses me…

What is your phone set to… I also wouldn’t put it past google photos to play games to optimize display etc etc the way it thinks it should look. For sure you will need to set your phone to an srgb mode if it has one otherwise phones are notorious for bumping saturation and so could easily cause this red…

Sadly, it doesn’t seem to be a phone issue. When I set the “display profile” in darktable to srgb it looks identical to my phone, and I just tried my macbook and it looks the same. It seems setting “display profile” to srgb in darktable replicates the “too red” look. Which I assume is also what everyone else is seeing in the attached images above (I do on my macbook).

Interestingly on my m1 macbook in darktable, there is no difference between “system display profile” and “srgb” where on my desktop there is quite a large noticeable difference.

After testing with windows on the same display. Linux looks like windows set to AdobeRGB. Therefore I can infer that my display profile is something wider gamut like adobergb or somesuch. This might make sense since my display is one of those nicer wide gamut 99% adobergb ones, and even has a display p3 mode (though only does 73% of the space). Not sure whats going on here but I should be able to force it into srgb… I will update if I work it out! This is such a headache though.

Final update. Seems linux defaults to “Best RGB” (whatever the fuck that is lol)

If I add the sRGB and AdobeRGB profiles, I can replicate the look on other operating systems. Seems whatever “Best RGB” is has a much wider gamut than srgb and even wider than AdobeRGB. Good for editing maybe, but bad for when your exporting. I’ll be clamping to AdobeRGB in the future I suspect just to avoid major color shifts like I have experienced in these images. This is all a big headache I have to say haha.

Checklist for accurate color?

  • Use X11 (critical)
  • Use srgb / adobergb profile in colord, not your monitors one (probably only an issue if you have a fancy monitor with lots of color?)

Edit: Also I could probably have saved myself a lot of headache and just set the display profile in Darktable. Should there be a setting to “automatically set display profile to output profile”? Why not?

Did you make your display profile yourself with a colorimeter? That’s the ideal, a display profile calibrated to your specific display.

Absent that, if your monitor has a sRGB mode, or better, an AdobeRGB mode, set it to that and use the corresponding profile as your display profile. That may be why you’re getting better results with the sRGB proflie, the monitor is already set to sRGB mode.

The display profile should match the gamut capabilities of the monitor. With that, you should get consistent renditions.l

Updated to Ubuntu 22.04 yesterday and had the same experience with color profile. Soft profe from system to sRGB did nothing. Also firefox color went off.
How to change from Wayland to X11? Edit: Will try this How to Switch Between Wayland and Xorg in Ubuntu | Beebom

This seems a reasonable suggestion. Would an experienced developer or someone else like to comment if this is sensible and practical. Thanks.

Yeah depends on your display manager, but for the GNOME one you log out, then on the bottom right there is a little cog. I selected “GNOME on Xorg”. Definitely don’t use wayland for darktable.

Also I will have a go at sending a PR to add this change if the devs dont respond, at least then maybe they will tell me why it’s a bad idea right :wink:

No, this makes no sense. Your output profile is not coded to be your display profile. They’re two different types of profiles with different purposes.

4 Likes

Looks like we have a definition/terminology problem here. It seems as if “display profile” should be “display colour space” (@ZeroEcks mentions sRGB and AdobeRGB as options, those are colour spaces, not profiles. Profiles are device specific and shouldn’t be embedded in an image).
Perhaps pedantic, but I find the whole colour management issue difficult enough without terminology confusion.

It still doesn’t make sense to automatically set the display space to the output space of an image. Either you have a specific reason to restrict your display to a space smaller than it can handle (so dt should stay out of it), or you invite problems (there are situations where you will want to use a large colour space like rec2020 for export).

1 Like

I agree with your lament about terminology, but the name ‘display profile’ refers to the container of a color space, which is what darktable needs to deal with. In a software, a ‘color space’ would be something encoded in the executable, and usable by name in certain situations.

Indeed. The ‘display space’ should be a description of the color capabilities of the display, nothing else. However, if a display device’s gamut and tone response is that of sRGB, AdobeRGB, or any other defined export color/tone space, then such a profile can be used successfully for the ‘display space’. ACES color management works in that way, with ODTs defined for all manner of different display destinations. Helps them that theaters and such can be held to such standardization…

Edit: Oh, almost forgot: My Chrome browser defaults to using sRGB for a display profile. NIce of them to assume… :crazy_face:

When I picked system profile it picked sRGB

When I forced the path to my profile it worked.