Where display profiles are stored, and how to load them automatically.


Installing a display profile for your monitor is very operating system dependent, which is why dispin -I is a good way of taking care of all these details. On some systems it is not the operating system itself that supports display profiles, but individual applications, or helper programs.

Please choose from the detailed instructions below that suite your system:

Microsoft Windows
Apple OS X
Linux/UNIX X11



On Microsoft Windows, display profiles are typically in one of the following directories:

    MS Windows Me and 98: C:\Windows\System\Color

    MS Windows NT: C:\Winnt\system32\spool\drivers\color

    MS Window 2000, XP, Vista and 7: C:\Windows\system32\spool\drivers\color

An alternative to using dispwin -I to install your display profiles, is to use the Display Property dialog, advanced settings, Color management tab, and locate the profile and install it there. This in itself does not cause the profile to be made use of anywhere in your system.

If you are using Adobe Photoshop on your system, then you can tell it to use your monitor profile by editing the appropriate registry key, typically "My Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Color\Monitor\Monitor0", to contain the name of the display profile, and then restart Photoshop This is the simplest way of ensuring that the Adobe calibration loader tool Adobe Gamma loads the video hardware lookup tables from the vcgt tag, and uses the profile as its display profile.

The adobe gamma tool can be told to use your profile, but the procedure is slightly tricky: Open adobe gamma from photoshop (in the Help->Color Management... menu item), select "Open Adobe Gamma", and select the "Load.." button. Select your profile and "Open". Select "OK" in the Adobe Gamma, it will then ask you to save it's modified version of your profile under a different name. Chose a name for the modified profile, and save it. Exit from Photoshop. Copy the profile you want to use, over the modified profile that you saved in Adobe Gamma. (If you don't do the last step, the profile Photoshop will be using will have been modified in strange ways from what you intended.)

Installing a profile on Microsoft Windows generally doesn't mean that the profiles calibration will be automatically loaded into a display on startup. A separated tool is usually needed to achieve this.

Some Microsoft Windows applications may come with "Gamma/VCGT/RAMDAC/Video LUT" loader tools, so consult their documentation and check your Start Menu Startup folders. If you don't want to use any of these 3rd party tools, you can also use the dispwin tool to do this for you, as it takes either a .cal or ICC file as an argument. The xcalib tool could also be used.

To add a startup item that will load a profiles calibration into the display using dispwin, use the following instructions:

On the task bar, right click and select "Properties", then select the "Advanced" tab, then click "Add..". then browse till you locate dispwin.exe. In the box containing the path to dispwin.exe, add a space then the option -L, eg:

    c:\bin\argyll\dispwin -L

If you don't want to use the default installed profile, you could explicitly set the calibration file to use as an argument:

    c:\bin\argyll\dispwin c:\myprofiles\mydisplay.icm

Click "Next >", select the "Startup" folder, then name the item (ie. "Argyll Calibration Loader"), then press "Finish".

You can test it out by simply navigating the "Start" menu to the "Startup" folder and selecting the item you've just created. If you want to alter any of the details, navigate to the item again and right click it, and select "Properties". More than one startup item can be created to set the calibration for more than one display. You may want to cut and paste the "Target" line to a normal Command Prompt shell to check that it works as expected, as it is impossible to catch error messages in the startup.

Microsoft Windows XP has an optional Microsoft Color Control Panel Applet for Windows XP available for download from Microsoft, which handles installation and registering of the a display profile, and will also automatically set the display calibration on system startup. The applet is started from the control panel, and first you have to "Install..." the profile in the Profiles tab, then associate it with the display in the Devices tab, but NOTE that it seems to have a bug, in that it sometimes associates the profiles with the wrong monitor entry!

On Microsoft Vista you can set the display profile in Control Panel -> Hardware and Sound -> Color Management, as an alternative to dispwin -I. In Devices  you select "Use my settings for this device", and then add the profile you've created. Unfortunately though, it doesn't use the 'vcgt' calibration curves on system startup, so a tool such as dispwin will still have to be used to do this. Note that currently Vista also has a bug that causes the calibration curves to be reset whenever the User Account Dialog (and similar) is displayed. This problem can only be worked around manually, by re-running the startup item whenever this happens. Note that due to the details of this bug it is necessary to actually reset the calibration to something else before re-setting it. This can be done quite conveniently in dispwin by adding the -c flag: e.g.: c:\bin\argyll\dispwin -c -L

On Microsoft Windows 7 & 8 you can set the display profile by opening the Color Management control by clicking the Start button and then clicking Control Panel. In the search box, type color management, and then click Color Management. Make sure the correct display device is selected in "Device:", and then tick the "Use my settings for this device" box. Select "Add..." and then "Browse..." to locate and load the profile. (Alternately you can use the normal file browser to locate the profile, and then right click on it and select "Install Profile". In the Color Manager "Add..." dialog you can then select it.). Make sure that the new profile has been marked "(default)" if you want it to be automatically used for your display.

By default Windows 7 & 8 seems to automatically load the default display profiles calibration on startup, but needs to be told to do this at all other times by changing the system defaults, or if some 3rd party tool to load display calibration has been installed. This can be done by logging on with a user account that has administrative privileges, then opening the Color Management (see above), and then select the "Advanced" tab, and then "Change system defaults...", then select the "Advanced" tab, and select/un-select the "Use Windows display calibration" check box. (You could use dispwin -I as an alternative to this if you really wanted.)

 

On Apple OSX, the display profile are in one of the following locations:

    /Network/Library/ColorSync/Profiles
    /System/Library/Colorsync/Profiles
    /Library/ColorSync/Profiles
    ~/Library/ColorSync/Profiles

Note though that  /System/Library/Colorsync/Profiles is only for profiles supplied by Apple. You can use dispwin -S  to select the appropriate scope when installing a profile using dispwin -I. You can use the "System Preferences->Displays->Color" tool to check that the profile has been installed correctly. Note that the contents of the description tag (the argument to the -D flag used with the colprof tool) will be used to identify the profile.


On Linux and other Unix style systems, there is no universally agreed location for ICC profiles yet, although the following locations have been suggested at various times:

    /usr/share/color/icc
    /usr/local/share/color/icc
    ~/.color/icc

although particular applications may use their own locations, such as:

    /usr/local/share/Scribus/profiles

Argyll dispwin follows uses the ucmm scheme for storing user and system display profiles, and when a display is set to use a profile correctly, it will follow this convention to make it available to applications.

In addition to the _ICC_PROFILE and _ICC_PROFILE_NN X11 atom convention mentioned above, ArgyllCMS dispwin will also set a CRTC _ICC_PROFILE property on systems that support XRANDR 1.2 or later, and this is the preferred way of applications obtaining a particular displays profile for multi-display X11 setups. (See the XRRGetOutputProperty() function for the method of getting the _ICC_PROFILE value).
  
If you want the display calibration to be loaded, you should consider installing a tool to do so at startup, such as dispwin or xcalib.

Using dispwin the currently installed profile for a particular display can be loaded using the -L option of dispwin:

    dispwin -L

which will both upload the installed profile into the root window _ICC_PROFILE property, and also load it into the display VideoLUTs.

You can use the dispwin -d parameter in the usual way to select other displays to store or load the calibration using the _ICC_PROFILE property.

To do this when you start your X11 server, you could put the above command in your .xinitrc file in your home directory for each screen.