Fixing incorrect color in Mountain Lion

Version 3
Last Modified: Oct 24, 2013 11:11 AM

This issue is resolved in Mavericks.

 

There are a small number of Macs which do not display color correctly in Mountain Lion. These same systems work as expected in Snow Leopard and Lion, so it is clearly an OS bug, but one Apple has to date not been able to find. It doesn't even affect all Macs of the same model. I've been "lucky" enough to have this issue on both a late 2008 Mac Pro, and a mid 2011 Mac Pro.

 

The common symptom is color of the same image does not match between desktop elements or applications. A simple test is to copy a few items to the desktop, choosing those with a variety of colors. The blue of the QuickTime 7, or Safari icons are obvious ones on affected Macs. Create a folder on the desktop and copy these same items into the folder so you have your test items in both the folder and the desktop itself.

 

Compare the color of the items in the folder to the ones on the desktop. If you have the folder in Column or List view, the desktop icon colors will match. But in Icon view, an affected Mac will display the color of the items in the folder highly saturated. If you have any of these same test items in the Dock, the Dock icons will also be incorrect (they will match the folder color when in Icon view). The only time they will match is if you are using the included sRGB profile as your monitor profile. But then the entire desktop and your apps will be over saturated.

 

There is a way to fix it, but requires some manual modifications by the user. The problem on affected systems is how Mountain Lion is using sRGB. The fix is to replace the system sRGB profile with a duplicate of your monitor profile.

 

1) Copy whatever profile you're using as your monitor profile to the desktop. If you're using the monitor provided profile, it will be in the /Library/ColorSync/Profiles/Displays/ folder. This is the one that displays above the line in the System Preferences. Below is an example where I've highlighted the supplied profile:

 

default monitor profile.png

 

There will be more than one profile above the line if you've created any custom profiles using the Calibrate function. Since the profile names you see in the System Preference are internal names, the file name of that profile may be nothing like the one you see in the example above. To make sure you're getting the correct profile (the one currently in use), click on the Open Profile button. The profile will be opened in the ColorSync Utility. You're not doing anything yet, just getting the actual file name. In my example, the file name is the very long .icc name at the top of the ColorSync Utility window shown next:

 

default profile name.png

 

The profile highlighted in the System Preferences is the one you need to copy to the desktop. It is the profile currently in use. Clicking the Open Profile button shows you exactly what the name of that file is.

 

Various hardware profiling solutions, such as those from X-Rite or Datacolor can place monitor profiles you create in either the /Library/ColorSync/Profiles/ folder, or the Profiles folder in your user account. If you're not sure where the currently used profile is on the hard drive, Command+click on the file name at the top of the ColorSync Utility window. The exact path will be shown, as in this example:

 

Profile location.png

 

By default, Mountain Lion hides the Library folder of each user account. If that's the location of your profile, click anywhere on the desktop to make the Finder the foreground app. Hold down the Option key and choose Go > Library from the top menu bar. This will open the Library folder of your user account so you can access the ColorSync/Profiles folder within it. Copy your monitor profile to the desktop.

 

Next, open the /System/Library/ColorSync/Profiles/ folder and copy the file sRGB Profile.icc to the desktop. Leave this system folder open as you will be replacing the original sRGB file. Create a new folder on the desktop and put the copy of your monitor profile in that folder. Once you have your current monitor profile, and the system's sRGB profile on the desktop, you're ready to proceed with the fix.

 

Save a copy of the real sRGB profile on another drive in case you ever want to put it back. But if your Mac is affected by this bug, you will never want to.

 

2) Rename the copy of your monitor profile to be the exact same name as the system's sRGB file. Double click the real sRGB file to open it in the ColorSync Utility. Click on line 1, which is labeled Localized description strings. Underneath, highlight the text sRGB IEC61966-2.1 and press Command+C to copy it to the clipboard. Close the real sRGB file.

 

3) Double click your faux sRGB file to open it in the ColorSync Utility. Again, click the line Localized description strings. Highlight whatever text is currently in the ASCII Name field and press Command+V to paste in the sRGB text. Do the same to the Mac Script Name field. It should look like this when you are done:

 

Screen Shot 2013-10-06 at 3.05.41 PM.png

 

With profiles created using EIZO's ColorNavigator, line 2 (Apple multi-localized description strings) also has two text fields to replace. Basically, look through each tag line and replace any instances of the original profile name with sRGB IEC61966-2.1. Profiles created with other profiling solutions may not even have the multi-localized tag.

 

Not all profiles will have the same tags. Others don't have the above tag at all. In such cases, you'll have to look through the tags to see where the monitor profile name is stored. Often, they'll be in a tag which appears to be fixed, as in this example:

 

color-profile.png

 

In such a case, double click the profile name (DELL U2711_Native.icc in this case) so it becomes editable. Then you can paste in the sRGB name.

 

3) Important step! Pressing Command+S to save the changes to your faux sRGB file does not work. ColorSync Utility will behave as if you saved the file and will let you close it without asking to save your changes, but if you open your faux profile again, your changes will not be there. You must use Save As and then overwrite the same file for the changes to actually be applied.

 

Changing the internal names may not actually be necessary, but it's really confusing otherwise when you go into the System Preferences after completing these steps and seeing your monitor profile name listed twice (the internal names are shown in the list, not the file names). Also, the fact that one of the fields is named for use in a script tells me you'd better have the correct name in the field, or scripts which rely on locating the sRGB profile may break.

 

4) Copy your faux sRGB file into the /System/Library/ColorSync/Profiles/ folder. You will be asked to Authenticate the action. Then the standard Finder box will appear to Keep Both, Stop or Replace. Choose Replace. Enter your admin password to finish replacing the real sRGB file with your modified copy.

 

5) Open Disk Utility. Choose your startup drive and run Repair Permissions. This again may not be something that is absolutely necessary, but the profile you replaced the real sRGB file with will have the permissions of you as the owner instead of the OS. Better to make sure the OS corrects the permissions than have some odd problem come up by leaving the profile assigned to yourself.

 

6) Now the payoff.

 

The slow method. Restart and hold down the Shift key to boot into Safe Mode. When at the desktop, restart again normally. This clears all cache data from your user account and the color of all desktop items should now match. And not just match, but be the correct color. This is how color appeared on my system as Mountain Lion installs by default. Even on an erased drive:

 

Incorrect.png

 

Here's how it appears corrected:

 

Correct.png

 

The fast method. Download the Mountain Lion version of OnyX. Close all other applications!

 

Run OnyX and choose the Cleaning tab, then the User tab. As shown below, have only the check boxes for Dock Icons and ColorSync on. Click Execute. These cache file will be deleted. Once gone, the OS will immediately build replacements and you will see the correct color on your desktop snap into place. No need to restart the Mac at all to get to the same point.

 

OnyX.png

 

7) Make a backup of your faux sRGB file. If you ever reinstall the OS in full, the original will be put back on the drive and you'll need to replace it again.

 

This isn't a perfect solution. You'll note that when you Command+Tab through open applications that the color of the icons there will be slightly darker and a bit less saturated than the rest of the desktop. But no great loss. What counts is that color between your apps and the desktop will match and be correct.

 

The biggest drawback with this is any Mac which has more than one user account and they are not using the same monitor profile. Replacing the system's sRGB file will only fix this issue for the user who initiated it, and will really goof up the other accounts not using the same monitor profile. So this is very much a one user fix.