Monday, December 29, 2008

Firefox 3.1, Color Profiles and that Darn Yellow Tint

This isn't supposed to necessarily be a blog about technology, but it doesn't hurt to go there if the information may be helpful to others. If the title of this post doesn't capture your attention, then there is no reason to read any further.

There, I saved ten minutes of your time. You're welcome. Talk with you later.

If the title to this post means something to you, then please read on.

I use the Firefox web browser on several platforms, including Microsoft Windows XP and Vista, Mac OS X, and Ubuntu. It is my browser of choice for a number of reasons. However, I was a bit dismayed when I recently noticed that certain graphic images were displayed with a 'yellow tint' when viewed using Firefox 3.1 under the Windows operating systems. I have heard of entire screens appearing discolored with a yellow or brown tint, but this was different; it was just certain, select images and only under Firefox 3.1 on my Windows XP and Vista machines. The following three images provide an example of the yellow-tinting that I was seeing.

When what I should have been seeing were the clean images that follow.

So what was causing this discoloration? The answer was not as obvious as I expected it to be. Most of my attempts to research the problem kept leading me down the path of entire screens being tinted yellow or brown, or for the problem to be related to a specific application (e.g. Windows Photo Gallery under Vista - KB939395). However, it was reading about these other problems that led me to further investigate Windows Color Profiles and how Firefox deals with them.

Color Profiles allow devices such as monitors and printers to define how colors are displayed. Images may have metadata associated with them as provided by the original capture device (e.g your digital camera or scanner). Hence why only certain images appeared discolored.

It seems that the software for the Samsung SyncMaster LCD monitors used with my Windows machines had also installed a specific Color Profile that was now in-use. You can see if a certain profile is associated with your monitor by navigating to Display Properties / Settings / Advanced / Color Management.

During my research I also discovered that Firefox 3.1 comes with color management support enabled by default; meaning that the browser will look to the Windows Color Profile to tell it how to display certain images.

Whew! Now we're getting somewhere.

This led to me two possible solutions to resolve the discolored tinting associated with my configuration. I believe that either one will fix the problem, but I made both changes on my systems.
  1. Remove the monitor specific Color Profile assigned in Display Properties / Settings / Advanced / Color Management. A specific Color Profile does not need to be assigned, as Windows has information to use as a default. This is a reasonable solution if your configuration does not require the use of a specific Color Profile, which is the case for the majority of computer users. Notable exceptions may include graphic artists or design professionals.
  2. Disable Firefox color management support by changing the Firefox about:config value for gfx.color_management.mode from 2 (enabled for tagged images only) to 0 (disabled). For the curious, a setting of 1 enables color management support for all images. This solution leaves your Color Profile intact in case it is needed for other applications, but tells Firefox to ignore it.

Changes made. Obligatory re-boot finished. Presto! The yellow-tint issue has been fixed.

If you are experiencing a similar problem, I hope that this information is helpful to you.