macs, radeons, blank/black boot screens and you

The following is 100% geek-speak, and I’m posting here because it’s the solution to a problem that bedeviled me for several days, and as far as I can tell the method is not to be found anywhere via the expected search terms. Hopefully this post will fix that.

Late last year, for the first time in about a decade, I bought a completely new-in-the-box computer: a Mac Pro. (A purchase that was, thankfully, paid for by people who were not me — an amusing story for another time.) It is, hands-down, the best computer I have ever owned. But there was, of course, one small crazy-making problem:

When connected to my Dell LCD monitor (a 2001fp: still quite the respectable little beast, and connected via DVI, so you’d think that the computer and monitor would be able to figure this stuff out), the first-stage boot screen (dark grey apple, light grey background, spinner) did not display. The screen stayed entirely black until it got to the second-stage screen (“Welcome to OSX”, blue background, blue progress meter) and the login window. Sometimes, if the moon was in the right phase, the Dell would display a “can not display this mode” error, but usually it would just stay black.

Now this would have merely been an aesthetic oddity, except that the video mode that the monitor wouldn’t display is the same video mode used for several actually important things, ie:

1. verbose boot: all black
2. single-user boot: black on black
3. Boot Camp selection screen: none more black

The last one, as you can imagine, is a bit of a downer, since the system will happily pause endlessly mid-boot waiting for you to pick a boot volume, which is hard to do when you can’t see anything. (I got pretty good at doing this by keyboard and intuition, but it’s not a skill I’m happy to have picked up.)

Digging around on google suggested that the problem was endemic on older Dell LCD monitors, and more likely to happen to Mac Pros with the ATI Radeon graphics card installed, but I wouldn’t claim either as a 100% certainty.

Well, it took me a while, but I finally sussed it out. The fix for this is documented precisely nowhere on Apple’s site, and the only hints I found of it were in the archives of a bunch of sites dedicated to hacking OSX to run on non-Apple hardware. Even better, not one but two things were wrong, and it took me a while to tease them both out.

First: the DVI cable that came with the Dell monitor, and which I was still using many years later, was a “single-link” DVI cable. This, apparently, is a no-no: the first stage boot screens require a dual-link cable to display on this monitor. Why? I have no idea.

Second, the video card and the monitor were failing to handshake properly. It turns out that you can manually specify the resolution and refresh mode of the first-stage boot process in the /Library/Preferences/SystemConfiguration/com.apple.Boot.plist file, like so:

<?xml version=”1.0” encoding=”UTF-8”?>
<!DOCTYPE plist PUBLIC “-//Apple Computer//DTD PLIST 1.0//EN” “http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0”>
  <dict>
     <key>Kernel</key>
     <string>mach_kernel</string>
     <key>Kernel Flags</key>
     <string></string>
     <key>Boot Graphics</key>
     <string>Yes</string>
     <key>Graphics Mode</key>
     <string>1280x1024x32@60</string>
  </dict>
</plist>
Pick a resolution and refresh rate that you’re confident your monitor can support, save the file (you’ll have to be root to edit it, of course) and reboot. Et voila, the boot screen is back.

Obvious warning: playing with system boot parameters is a great way to turn your computer into a large, expensive, electricity-sucking brick. Take a full backup before you attempt any such surgery, and please don’t email me for support.

Add post to:   Delicious Reddit Slashdot Digg Technorati Google
Make comment

Comments

No comments for this post