Calibrating the Retina Display

In a recent post about the new MacBook Pro I mentioned that it “calibrates very accurately”. Let me elaborate more on this subject.

My standard display calibration parameters are: 80 cd/m2 luminance, D50 white point and L* tone reproduction curve (TRC). I had used this setup for years with my EIZO on both Windows and Mac computers. I’m also using a complete L* workflow (with ProStarRGB working space in Photoshop for example). So my target was the same for the Retina display.

Due to the incompatibility with OS X 10.8, I gave a shot recently to basICColor display for color calibration. The MacBook Pro arrived just before the trial expired on my old desktop and I got another 14-day trial license for the new machine. This allowed me to test the software again before committing to the purchase.

So I spent the whole Sunday on profiling displays and evaluating them side by side. My initial thought was that it’ll be a piece of cake. How naive was I…

First, I calibrated both monitors to the aforementioned conditions and profiled them. The EIZO was good as usual, but my usual 50% gray desktop background on the Retina display showed a strong, ugly reddish color cast. Black levels were also quite different, making it hard to see and make decisions about contrast and work with delicate shadows. I was far from being satisfied with the results.

Then gave a try to X-Rite’s new i1Profiler. Although printer and press profiles created with the application literally sing, there’s a lot to be desired regarding its display calibration abilities. Frankly, I still prefer display profiles from the old i1Match application (not available since Apple eliminated PowerPC emulation from OS X). It also lacks L* TRC support, the most perceptually uniform TRC you can get is the one modeled after the sRGB color space’s TRC. The results were disappointing. Even watching a movie I complained about burnt highlights and ugly gradations (causing a little bit of indignation from my Loved One).

I was thinking what the hell should I do to make the otherwise gorgeous display usable. And a faint memory reared its head. Some 8-9 years ago I evaluated a display calibration and profiling tool named ColorEyes Display Pro. Downloaded the latest version and gave it a try. This was the first time I got acceptable results without the unbearable reddish cast.

The app works fine under 10.8. There’s one thing to watch for, however. For better monitor match it recommends to calibrate to “absolute black” instead of treating the monitor’s lowest black as 0/0/0 pixel value. Yes, this will cut the visibility of the deepest shadows on the monitor. Actually it behaves just like paper and ink, so it’s even easier to fine tune my images for printing (and of course I can always use the levels tool to bring up the shadows a bit temporarily). This worked out very well. Examining my favorite test image side by side showed only very small differences. Actually, I think the Retina display is usable for semi-critical color work, such as quick edits during field trips.

Unfortunately, the desktop and every non-color managed app still had a slight reddish cast. After 4-5 hours of trying every imaginable solution (tuning white points, changing colors, etc, etc.) I ended up with two profiles. One, the usual 80cd/D50/L* for editing images and another one with 80cd/5300K/L* for other types of work I do (such as app development and writing). With 5300K the non-color managed apps look just like D50 does on the EIZO, and even I do light photo editing with it sometimes.

The two displays side by side now look as if they were prints on a matte Hahnemühle Museum Etching and a semigloss Hahnemühle Photo Rag Baryta. Sweet!

Some closing numbers. With absolute black level calibration I can easily see into the shadows as low as about level 8 (from 255) on the EIZO and as low as about 6-7 on the Retina. Maximum deltaE is 0.90 for the EIZO with an average of 0.5. Maximum deltaE is 0.63 for the Retina display with an average of 0.34. Most impressive! And the Retina display’s color space covers roughly the entire sRGB space (as viewed in ColorSync Utility).

I must mention again that the resolution advantage is huge! Just enabled Retina support this morning in the application I’m working on these days and it looks really awesome. The EIZO doesn’t get much love these days…

Color Managed Browsing on the Mac

Three years ago I had published an article on this subject. I was just curious to see how much has been changed during all these years. In essence: not much. Most of the web browser screw up color for you.

But let’s examine it in detail. As you can read in my aforementioned article, Section 3 of the sRGB standard dictates the following color handling practices for web browsers:

  1. All elements (images, text, background) should be in the sRGB color space. Text and background are assumed to be in sRGB (the proposed style sheet extension is not implemented even in color managed browsers).
  2. If an image has no associated ICC profile, it is assumed to be in sRGB.
  3. If an image has an associated ICC profile, it is converted to sRGB.
  4. The entire page (which is in sRGB after the image conversion) should be converted to the monitor profile, if there’s one associated with the monitor. If the user’s machine has no monitor profile, the sRGB page is displayed preserving color numbers (which is equivalent to associating the monitor color profile with it).

I usually do two test to examine a browser’s color handling. First, is what I call the quick LuLa test. The Luminous Landscape is a site I visit a lot. The site has a pleasing green sidebar, which looks awfully over-saturated on a wide-gamut monitor (such as the EIZO CG241W I’m using) when the browser does something wrong in its color handling code.  So actually I could assess a browser’s color management code visually just by visiting the LuLa.

Left: Safari 6.0 – Right: Firefox 14.0.1

The above image illustrates what happens if a browser handles images correctly, but forgets about all other elements – such as background color. I put Safari and Firefox side by side, made a screenshot on my EIZO, and converted the image back to sRGB. Believe me, the sRGB conversion reduces the over-saturation a LOT. The above is just to illustrate the concept.

The second is evaluating tagged image handling with this web page.

I tested four mainstream browsers on OS X 10.8 Mountain Lion using a calibrated and profiled EIZO CG241W monitor (calibration and profiling was done using basICColor display 5). I have not tested these browsers on Windows, because I’m not using them. This is also the case with Internet Explorer. No Mac version – no test.

Browser Color Management support on the Mac
(1) With gfx.color_management.mode set to 1 in about:config.

The results are disappointing. None of these browsers are able to display color correctly out of the box. Firefox by default emulates Safari’s incorrect behavior, but there’s hope: you can switch it over to handle color correctly (using the gfx.color_management.mode configuration variable). And with this switch, Firefox is still the only of the four that does things as they are described in the sRGB standard!

Let’s see where they screw up:

Chrome – By not implementing color management at all.

Firefox – By not making the correct behavior the default. Guys, don’t care about how Apple can’t do it right, you can!

Opera – This is an interesting beast. It does points 1 and 2 correctly (assumes everything in sRGB), but completely ignores profiles in tagged images. This is one more reason why you shouldn’t add non-sRGB images to your website.

Safari – I can’t believe Apple still can’t make it right. Safari handles points 2 and 3 correctly, but completely ignores non-image elements. This way one has no chance to make his/her web site look good on wide gamut Mac monitors. I know, Apple makes only mediocre sRGB displays, but they target imaging professionals where color is at utmost importance.

So the bottom line is the same as it was three years ago: if you happen to have a wide gamut monitor, you should use Firefox (at least on the Mac and from the four mainstream browsers).

A message to my fellow colleagues: It irritates the hell out of me that you still can’t make it right after so many years. Peek into the Firefox codebase or just read the f(antastic) sRGB standard! If you still can’t understand what’s wrong with your product, I’m more than happy to sell you consulting hours… 😉 I still think that color management is fairly straightforward if done right, and it’s only hard for users to understand because you make mistakes like this.

The Effect of Black Point Compensation

Click image for larger view

Visualization: effect of black point compensation on the mapping of the lower 10% of L* values. The gamut shown is Hahnemühle Photo Rag printed on an Epson 4800. Plotted are L* values in 2% steps from 0% to 10%. Rendering intent was relative colorimetric of course.

Circle – without BPC all six grays are mapped to the same point (goodbye shadow detail).

Squares – with BPC all values are neatly separated.

This is why you should use black point compensation with the relative colorimetric intent.

Intel’s Video Drivers Kill Display Calibration

Since I had switched to Macs more than a year ago I spent really little time on managing my Lenovo X200s notebook. It was still running the original – Microsoft supplied – video driver. You know, if it ain’t broke, don’t fix it. I was really happy with its color, as I figured out how to set it up so that Windows loads display calibration properly. As you might guess, up until now…

Enter SP1

Windows 7 SP1 came out, and yesterday afternoon I had a little time to kill and decided to do the upgrade. There was also an Intel video driver upgrade available – and I decided to install it alongside the service pack. Everything looked OK util I had rebooted the machine. Then, just a split second after Windwos loaded the calibration curves, something swithced the monitor back to the uncalibrated state. First I thought that Microsoft screwed it up, but further investigation revealed the truth.

In my former article I blamed Microsoft for not understanding what color management is all about. Although they finally seem to catch up, there are a lot of hardware manufacturers who does not care about all this stuff.

Intel is among them.

Rant: I still do not understand why PC hardware manufacturers feel that they have to load a bunch of crappy software alongside their drivers. Start with a fresh Windows installation, download all the latest drivers and your machine is full of useless applications. I can’t remember a single event when I used any of them (and I used Windows PCs since the earliest days of Windows). That’s one of the reasons I’m using a Mac now.

Yes you’re right, one of the crappy apps Intel ships their Graphics Media Accelerator video driver with was that killed the calibration. The app is called “Persistence Module”. It’s name seems like a joke as it is THE module who does not allow calibrations to be presisted…

How to Remove Persistence Module?

There is a really handy tool, Autoruns, written by Mark Russinovich and Bryce Cogswell, which can be used to show the hordes of apps that Windows loads at startup – and more importantly to disable any of them.

When you download and run the app it will display something similar to what you see on the following screen shot.

To disable Persistence module, just click on the Logon tab, and find Persistence under the first “…\Run” list. Removing the checkmark in front of the name will disable this application, but you can completely remove this entry hitting Delete.

Note that I also disabled Logo Calibration Loader because this task is handled by Windows 7 correctly, as well as ProfileReminder because I don’t wand reminders about recalibration on my notebook (I’m usually recalibrating it before each major shoot).

Reboot your machine and it’ll be good again.

That’s it. Case closed for now. Until Intel comes out with another irritating innovation of course…

I do not use Windows any more, so not is a position to answer your Windows-related questions.