May 26th, 2005 • 7:45 am
I am afraid Mac OS X 10.4 suffers from a major bug that affects users with calibrated display profiles (created using Mac OS X’s Display Calibrator assistant).
The symptoms of the bug are the following. Say you have created a customized calibrated profile for your display using Mac OS X’s Display Calibrator assistant and called it “My Calibrated Display“. It is the display that you have selected in the “Color” pane in the “Displays” preference pane in System Preferences.
Now say you have more than one user in your Mac OS X environment, and you have enabled fast user switching. Switch from the user you are currently using to another user using fast user switching, i.e. without logging out. Then switch back from the other user to your initial user environment.
As soon as you switch back, you’ll notice that, all of a sudden, your display becomes completely washed out, as if someone had turned the brightness setting way up. Mac OS X actually reverts to the default “Generic RGB Profile“, which is OK for CRT displays, but is way too bright for LCD displays.
Unfortunately, once this happens, there is nothing you can do about it. If you go to the “Displays” preference pane in System Preferences and try to select your calibrated profile, nothing changes. You still have a washed out screen.
And if you click on “Calibrate…” to try and launch the Display Calibrator again, just out of curiosity, you’ll see that Mac OS X refuses to launch it, alleging that “The factory profile for the display could not be found.”
There is something seriously wrong here. Some people say that you can “fix” the problem by logging all users out and then logging back in. Apart from the fact that it’s not really a fix, it doesn’t work in my case. Even if I log all users out and log back in, I still get a washed out screen.
The only solution is to restart the entire machine — which is of course a major pain.
And then what? Am I supposed to refrain from using fast user switching altogether? This is rather ridiculous. It’s a major bug.
Fortunately, there is a temporary fix that you can do to at least alleviate the problem somewhat until Apple fixes the problem. The fix has been described by a couple of people on recent MacInTouch reports (here and here). However, one description involves using the Terminal, and the other one is not exactly clear.
So I am going to try and describe the “fix” as simply as possible. What you need to do is fool Mac OS X into using your calibrated display profile as the default profile. In order to achieve this, do the following:
- In a Finder window, go to
System > Library > ColorSync > Profiles.
- Take the file called “
Generic RGB Profile.icc” and drag it to another location. This will create a copy of the file in the other location, which you will thus be able to revert to if needed.
- Now select the file called “
Generic RGB Profile.icc” in the
System > Library > ColorSync > Profilesfolder again, and delete it. Since this file is in the System folder, Mac OS X will ask you for an administrator’s password, but it will accept to trash the file after that.
- Now go to the place where your calibrated display profile is store. Typically, if it’s a profile you are using for all your user accounts on this machine, it should be in
Library > ColorSync > Profiles > Displays. If not, it should be in
[your home folder] > Library > ColorSync > Profiles > Displays. It will be a file with an “
.icc” suffix and with a file name that incorporates the name that you gave to the profile in Display Calibrator, followed by a dash and a hexadecimal number.
- Copy the calibrated display profile file to your desktop. Select the copy on the desktop and rename it “
Generic RGB Profile.icc“.
- Drag this file to the
System > Library > ColorSync > Profilesfolder. Mac OS X will tell you that you are not allowed to do this, but in fact you will be able to do it just the same. In my case, I just dragged the file a second time and Mac OS X told me that there already was a file with the same name (!) and asked me if I wanted to replace it. It asked for my password again, but it worked.
You’re done! Now if you try to switch users again, you will notice that Mac OS X will revert back to your calibrated profile, with the proper level of brightness and everything. That’s because it has reverted to the profile called “
Generic RGB Profile.icc“, which is now actually a copy of your calibrated profile with the “
Generic RGB Profile.icc” name.
This “fix” doesn’t actually fix the bug. It just fools Mac OS X into using your calibrated profile as the default “
Generic RGB Profile.icc” profile. The Display Calibrator still won’t work until you restart your machine altogether.
And, unfortunately, if you have more than one display and each display has its own calibrated profile, you will only be able to use a single calibrated profile for both displays. You should use the one that works best with all your displays, or corresponds to the display that matters the most to you.
Shame on Apple for letting this bug slip through. In fact, I am afraid I have to report that I actually filed a bug report regarding this bug a long time ago, during the Apple Seed program for Tiger. First, I didn’t get a response. And when I did, Apple told me some non-sense about things working “as expected”, when they obviously are not. I replied with more information — and never got a reply again.
And obviously they never got around to reviewing my feedback again and actually fixing the bug. So now it’s in the final version of Tiger, and other people are experiencing the bug. I suppose some bugs have a higher priority than others… Still, a bug that causes you to experience major display problems as soon as you start using fast user switching and forces you to restart your machine and refrain from using fast user switching altogether is a major bug in my book! Obviously Apple didn’t make the effort to examine this properly and didn’t realize how serious the bug was.
Now that more people are exposed to it and complaining about it, here’s hoping that it will be fixed soon. In the mean time, you can always use the “fix” above, which at least enables you to continue using fast user switching without enduring the washed out screen. It’s not ideal, but it works to a degree. It certainly beats having to restart and refrain from using fast user switching altogether!