Correct way to work with color managed applications?

Short addendum to what @Morgan_Hardwood wrote: The part that gets loaded into the GPU is called vcgt and is just a gamma correction. It will not change the colors. So don’t confuse it with full screen color correction which might come with Wayland (I hope).

Another thing to be careful about is what part of the color management applications support. I have seen image viewers that are able to read the color profile from images but have a display profile of sRGB hardcoded so that’s only half useful and won’t give correct colors in the general case.

Then, if your application supports both display profiles as well as image profiles you have to make sure that the correct display profile is used. In Firefox you can set it in about:config (search for “display_profile”), but some only support the _ICC_PROFILE atom which tends to fail when you have more than one monitor. There is an extension to the X atom spec that deals with that case (using _ICC_PROFILE_n for n > 0) but that’s almost nowhere implemented (darktable and GIMP support it) and sometimes used slightly different than specified (both dt and GIMP diverge from the specs). An alternative that should be more future proof is using colord, however that isn’t widely supported yet (darktable supports it).

To see what profiles your system has set up you can use the small darktable-cmstest tool that is shipped with darktable. Compiling it standalone should be possible, too. Another way to see if thinks are working as intended is using a known-broken test profile like BRG.icc and/or images with such a profile embedded. There is also a website to test your browser.

embedded image removed due to broken colors after conversion by the forum software

If you have more questions feel free to join us in IRC.

PS: I just noticed that the labels in that image are German. The important translations are:

  • Rot – red
  • Grün – green
  • Blau – blue