Automatically finding the monitor's profile, and... why?

Hi all!

I’m using a ColorMunki Display to calibrate and characterize my monitor, which of course results in the creation of a .icm file, thereafter set as the default for the monitor.

At RawTherapee>Preferences>Color Management>Monitor, one must, according to RawPedia, “set the “Default color profile” to the ICC file you generated when calibrating and profiling your monitor”. Or, quoting again RawPedia, “you can have RawTherapee try to auto-detect the profile by using the ‘Use operating system’s main monitor color profile’ option, which relies on the _ICC_PROFILE X11 atom being set correctly.” However, checking the ‘Use operating system’s (…)’ checkbox does not change what’s listed just above it, in the ‘Default color profile’ drop-down menu, so there’s no real confirmation that it is working.

XnView MP has, what I think, is a similar function, listed at XnView MP>Tools>Settings>General>ICC, where one can check “Use ICC profile for monitor (slower).” When that box is checked, the current monitor profile is immediately shown in a box labelled “System” just below. So, I know that XnView can automatically find the screen profile.

Finally my questions:

Does that mean that this rather cryptically-entitled "_ICC_PROFILE X11 atom" is correctly set by ColorMunki Display, and thus I can just check the “Use operating system’s main monitor color profile” check-box in RawTherapee, and trust it to always find the most up to date color profile?

And… Why does this need to be done? Why is it that I have to indicate my monitor’s icm profile to RawTherapee, but I don’t have to indicate it to Microsoft Word, or Adobe Reader, or Minesweeper, or… ?

I know the answer surely lies within the rabbit hole called color management, but I can’t wrap my head around this. Wouldn’t the monitor’s icm file just correct whatever color info it gets from any program? I mean, that process enters the game downstream of any one program, no?

… Photography was so simple before I started printing…

Thanks in advance for any light you can shed!

Since you wrote about X atom, I assume that you use some kind of Linux.
Which desktop environment do you use and how many screens do you have attached to your computer?

The safest way to a color managed workflow is using Gnome, Cinnamon or Budgie, where you can set the profile in the DE’s color settings.

If you use Displaycal, you can install and set the profile with that program. However, this is only safe if you have 1 screen. Same applies for colord-kde.

Finally, you might also install darktable which has a color management test: “darktable-cmstest” (this is a shell command). In the output you can see which profiles are set in x atom and colord.

Last not least, you can set the profile in Rawtherapee, if you have copied it into the right folder (see manual). This is only recommended if you only do profiling and no actual calibration with your calibration device.

Somewhere on the Displaycal web site you can also find profiles with swapped r-g-b channel data. If you use those, you can make sure if/which profile is used since the app then shows very wrong colors.

As far as apps such as Word are concerned, I am not sure whether they use color management. Either they do not color manage at all, or they have “fake” color management, meaning they assume that your screen profile is sRGB.

And one more edit: there is a lot of sense in being able to set the profile in RT manually, this can be very useful if your DE does not have “integrated” CM.

Hope this helps.

Sorry, Indeed I left out the basics:

Windows 10 operating system

Does that mean that the “X atom” thingamajig doesn’t apply to Windows??

ColorMunki Display, but using the program delivered with the device, for the time being in any case (need to get the basics down before I jump into the advanced stuff). White point is D65 (recommended by X-Rite even for printing and recommended also by my printing service) gamma 2.2 and cd/m2 120, and then the device does its thing to correct color display.

RawTherapee is my primary raw developer, with surgical modifications going to Affinity Photo.

In this case, just use the Displaycal profile loader or a profile loader that was installed with your x-rite software. I really recommend Displaycal. Do not rely on Windows color management.

Yes, there is no X11 on Windows

You can also use the Displaycal profile loader if you do not use the program for calibration.

Thanks betazoid for your help here!

I’ll look into the DisplayCal loader, although I think all’s going well as concerns Window’s “holding on” to the right icm.

Which brings up another question: Does that mean that I must indicate the right default color profile in the preferences on my Windows machine, or does that mean that it’s unimportant (the need to indicate a monitor color profile is irrelevant for RawTherapee on Windows, because this latter is going to do what it’s going to do anyway)?

If you set the profile with the help of the Displaycal loader, you can check the checkbox “use OS’s default profile” in RT. RT will then use the correct profile.

I can only once again warn you: do not rely on Windows to load the correct profile. It will probably not load the profile completely (meaning leave out loading the calibration curves) or mess up something else.

Agreed that some sort of indication would be good. I opened issue #5167

That section is for X11 (Linux) only, not for Windows. It wasn’t clear, so I just updated the documentation:

The ColorMunki Display is hardware, it doesn’t do anything. You need software to set the profile. I updated the article with info on how to do that in Windows, though I don’t use Windows myself. DisplayCAL is a great piece of software and seems to work in Windows, but I haven’t added it to the Windows section as someone would first need to verify that it can indeed install ICC profiles in Windows correctly.

No. Microsoft Word, Adobe Reader and Minesweeper are not color-managed. Furthermore, an ICC file, in addition to storing a characterization of the monitor (the main payload), also often contains calibration curves. These curves are loaded into the video card gamma table and therefore affect all programs, even Solitaire, despite these programs being oblivious to color management or to the monitor profile’s existence. Color management is complicated and depends on various things at various stages working correctly, and the calibration curves are just one such element which get you part of the way there, but not all the way. Read more: DisplayCAL—Display Calibration and Characterization powered by ArgyllCMS

1 Like


it works just fine (on the contrary to the Linux version - in fact it is a completely different app)!
I think you are one of those people who are always suspicious of the wrong people…

Verification is necessary. Otherwise, it would be unfit for the docs.

The following statements puzzle me:

For some time I have been using ColorMunki Display with DisplayCal to profile and calibrate my monitor and specifying the generated icc profile as monitor profile in RT. I also employ the DisplayCal profile loader (set to run on start-up of computer).
Thus I am concerned about your caveat re: “not using the program for calibration.”
Can you please clarify?

You can use the loader to load arbitrary ICC profiles, not only ICC profiles from DisplayCal. I don’t know why you’d want to do that, but I’m sure there is a use case.

I commend the following for your consideration:

Essentially, calibration is making the monitor fit a particular profile, and profiling is developing a file of data that describes the monitor’s color and intensity characteristics “as-is”.

For instance, my monitor has a ‘sRGB’ setting in the menu that makes it produce color and tone according to that specification. If I set that, I’d be calibrating my monitor to make like sRGB, and my software could just convert images for display to sRGB and things would probably look about right.

The calibration softwares discussed here also allow one to manually set the monitor’s color and intensity for various ends, and then the software produces a profile file for application software like RawTherapee to use in converting images for display to those settings. That profile file can optionally include information corresponding to the profile in a table of values that can be loaded in some video hardwares. That’s where it gets a bit convoluted, because for application software to display an image correctly on such a configuration, it has to retrieve the profile that corresponds to what was loaded in the display hardware. That’s where the OS interface for color management comes in, the OS simply keeps the proper profiles for each display and provides them when asked by programs that want to display images ‘color-managed’.

You can also choose to make a display profile without the hardware table, and the calibration software will produce a profile where all the heavy lifting is done by the application program. Probably not really any more ‘work’, but some fine control is lost if the hardware tables aren’t used.

This is how I understand display calibration and profiling to work, comments/corrections welcome. Me, I just profile my monitor as-is, and I use that file to convert the image for display in my hack software. One day I’ll figure out the tables…

I’ve been thinking “normalization” might be a much better term. Monitor normalization.

1 Like


ArgylCMS dispwin -I (which is what DisplayCAL will be using) certainly worked on MSWindows the last time I tested it. If it doesn’t then by all means, let me know…


That’s a misunderstanding - I just assumed that the TO wants to keep using x-rite for calibration/profiling.
I use Displaycal myself and can only highly recommend it. It is one of the best calibration/profiling tools.

If your screen was set up well by the manufacturer, calibration is not necessary. That’s usually the case with new screens, especially those with an IPS panel. You can test this easily with some test images like on If the shades of grey have different color casts and/or gamma is not correct and/or there is a visible color cast in general, you need calibration. If the test images look ok without calibration, just skip it and only do profiling.
If your are not sure, you can “test” with Displaycal what is best for you: Do one calibration with calibration+profiling and and another one with profiling only. If the report of the color space measuring at the end says that your screen’s color space is larger without calibration (better coverage of sRGB resp. aRGB), then you probably don’t need calibration.

Nice to see that this has picked up speed and it’s very interesting reading all of the replies.

I would however like to come back to my first question:

In a Windows 10, 64-bit operating system with a monitor (a run-of-the-mill Dell P2414H) calibrated using the ColorMunki Display with its included software (for now; we’ll see what happens in the future), do I need to manually indicate the right icm file in RawTherapee, or will the program successfully auto-detect it if I check the “‘Use operating system’s main monitor color profile” check box?

Thanks again and keep up the conversation; I’m learning a lot here!

Why don’t you instead try it and let us know? Enable auto-detection, restart RT, then check what profile is used in the combobox in the Editor under the main preview.

1 Like

Aaah! There’s the little nugget of information that I was missing!

So, first I changed the default monitor profile to a random icc and hit ok. I then went back into the preferences and checked the “Us operating system’s…” box, OK again, and then re-started. In the combo box I indeed had the current default icm.

So there we go! Thanks Morgan for the idea!

Edit: And thanks too for the issue and RawPedia updates!