There is clearly a ton of interest in Mac OS X 10.6, Snow Leopard: My Snow Leopard features hardware compatibility chart had over 20,000 visitors in just three days! But one chart element is generating an inordinate amount of interest: Whether or not Snow Leopard can boot in 64-bit mode.
Snow Leopard is a solid but visually unremarkable update to Apple’s OS X family. Although there are many new technical features, it’s not loaded with flash. In fact, even experienced Mac users would be hard-pressed to notice that their system had even been updated!
As I mentioned in that post, I was most-interested in the potential to use Grand Central Dispatch and OpenCL to accelerate my system’s performance. Both features are supported on most Macs built over the last year or two, and they create a great foundation for future development. QuickTime X is interesting as well, though only Nvidia 9400M-based Macs (like my 2009 Mini) support it’s hardware-accelerated H.264 capabilities. The fact that so much of the operating system has been re-written using these modern capabilities is probably the biggest Snow Leopard feature.
Snow Leopard Does Not Boot 64-Bit…
I wasn’t all that concerned about whether the OS X kernel booted in 32-bit or 64-bit mode, but was intrigued to find that Snow Leopard boots with a 32-bit kernel on every Mac other than the rack-mount Xserve.
Much pre-launch discussion revolved around whether or not a given system was even capable of booting in 64-bit mode. There are three critical elements that determine whether a given machine will boot a 64-bit Snow Leopard kernel:
- All system hardware must have 64-bit drivers, including the CPU, chipset, and peripheral chips. The 64-bit kernel exclusively uses 64-bit kexts (drivers), and these are rarer than the 32-bit ones used by Leopard.
- It must use 64-bit EFI (firmware). Even though EFI32 can technically boot a 64-bit operating system just fine, Apple will not allow this. Only Macs made over the last few years include EFI64.
- Apple must allow the system to boot in 64-bit mode. This is the most confusing. Many Macs will not boot Snow Leopard in 64-bit mode even though they are brand new, have no unusual hardware, and include EFI64. This includes all non-Pro MacBooks and Mac Minis.
So there you have it. No matter what you do, Snow Leopard will not boot with a 64-bit kernel and kexts on the majority of Macs. One could understand if there was a lack of drivers or some other technical limitation, as is the case with older Macs, the but this is not the case for the latest MacBook and Mac Mini systems. They won’t boot with a 64-bit kernel because the kernel refuses to boot.
The only Mac model that boots with a 64-bit kernel by default is the 2008 and 2009 Xserve (Xserve2,1 and Xserve3,1) running Snow Leopard Server. The following Macs can boot in 64-bit mode in non-server Snow Leopard if you hold down the 6 and 4 keys on boot or if you modify your “/Library/Preferences/SystemConfiguration/com.apple.Boot.plist” file as described at Netkas:
|MB323LL/A, MB324LL/A, MB325LL/A
|MB417LL/A, MB418LL/A, MB419LL/A, MB420LL/A
|Early 2008 (Penryn)
|MB133LL/A, MB134LL/A, MB166LL/A
|Late 2008 (Unibody)
|Early 2009 (Unibody)
|MB470LL/A, MB471LL/A, MB604LL/A, MC226LL/A
If your Mac is not included in this list, you will not be able to boot Snow Leopard in 64-bit mode. MacBook and Mac Mini models definitely will not boot into 64-bit Snow Leopard. The later Unibody MacBook Pros (5,3 and 5,4) are not listed, and it is not known if they work or not.
…But Why Do You Care?
Why do enthusiasts care so much about the “bitness” of their hardware and software? Geeks have been arguing over the merits of “bigger-bits” for decades. I remember Mac users claiming PCs were inferior because Macs used true 16-bit Motorola CPUs while PCs were stuck with an 8-bit bus. The gaming world did much to foster 64-bit mania, with Atari claiming their Jaguar was the first 64-bit console, and Nintendo even naming theirs the “N64”. But does it really matter?
In theory, a 64-bit operating system should make most-effective use of 64-bit CPUs, increasing performance and maximum addressable RAM. In the case of Intel CPUs, there are many improvements when running the 64-bit (x64) instruction set instead of legacy 32-bit (IA-32) mode. So, from a hardware perspective, 64 bits is definitely superior.
But Mac OS X can run 64-bit applications regardless of the bitness of the kernel. I am writing this post in 64-bit Safari running on a 32-bit Snow Leopard kernel. Many of the applications I normally run are 64-bit in Snow Leopard, including Safari, Mail, and the Finder. This last is important: All Snow Leopard users get a speedy 64-bit ground-up rewrite of Finder, which is their main operating system experience.
Therefore, regardless of which kernel mode you have booted into, many of your daily activities will use full 64-bit applications. 64-bit versions of iTunes, iPhoto, and Microsoft Office might be nice, but they’re the exception not the rule, and I expect to see these move up to 64-bit soon.
Why do so many Macs not use the 64-bit version of Snow Leopard? One reason is compatibility: The 64-bit kernel requires a full set of 64-bit drivers, and these may have been lacking at launch. Another reason might be that these systems would not see much benefit from running a 64-bit operating system since they are limited to 4 GB of RAM. I would not be at all surprised if later point-revisions of OS X 10.6 enable booting in 64-bit mode by default, at least for the machines listed above and newer models. Those of us with older machines (like this MacBookPro3,1) might never see it, though.
I should note that there are a few 64-bit features lacking in 32-bit Snow Leopard. But some applications, including VMware Fusion, will not run at all under a 64-bit Snow Leopard kernel. And there is the question of driver compatibility. I am not an Apple apologist or fanboy, but I do use Macs 100% of the time for business and pleasure. I think it stinks that Apple now lags behind Microsoft in the race to provide a 64-bit desktop operating system. But the decision is understandable and it has little impact on the daily lives of end users.