This program is free though donations are welcome
100% of all donations go to the relief project "India's Street Kids" - for more info on the relief project see here
One can of course donate directly to the relief project - the account information is on the website
64-bit … 32 bit?
The Intel Core Duo processor is a 32-bit processor.
If your Intel-based Mac has a 32-bit processor
then Snow Leopard will run as a 32-bit system.
The Intel Core 2 Duo processors are 64-bit processors.
If your Intel-based Mac has a 64-bit processor
then Snow Leopard will run as a 64-bit system.
So what does this application do?
- it shows whether you have a 32-bit or a 64-bit processor
- it shows whether you have a 32-bit or a 64-bit EFI
- it shows whether the MacOS X Kernel is set to boot in 32-bit or in 64-bit mode
- it shows whether the MacOS X Kernel is running in 32-bit or in 64-bit mode
- it shows whether Apple officially supports booting a 64-bit kernel on your Mac
- it allows you to select whether you want to start the MacOS X Kernel in 32-bit or in 64-bit mode (the setting might be ignored on MacBooks, depending on how Apple implements the restriction)
- accompanying webpage explains what the whole commotion about 32-bit and 64-bit in MacOS X Snow Leopard is about
None of these are difficult to achieve, but it might make life easier for those users who do not like the terminal.
Confusion on the web?
There is a lot of confusion about the fact that Snow Leopard starts by default with a 32-bit kernel even though nearly everything else is 64-bit (according to Apple all system applications except DVD Player, Front Row, Grapher, and iTunes have been rewritten in 64-bit).
EFI? Kernel? - what does it mean?
The EFI is basically a little piece of software located in a little chip that automatically runs when you turn on your Mac, and it then starts up the operating system. Or to quote from Wikipedia:
EFI: The Extensible Firmware Interface (EFI) is a specification that defines a software interface between an operating system and platform firmware. EFI is a much larger, more complex, OS-like replacement of the older BIOS firmware interface present in all IBM PC-compatible personal computers.
The Kernel is the heart of the operating system, the innermost bits that you never get to see. Or to quote from Wikipedia again:
Kernel: In computing, the kernel is the central component of most computer operating systems. Its responsibilities include managing the system's resources (the communication between hardware and software components).
So what is the commotion about?
It’s a bit of a storm in a tea cup. The perceived problem is two-fold.
For one a limitation set by Apple is that Snow Leopard’s 64-bit kernel works only on Macs with 64-bit EFI. Technically a 64-bit kernel can be launched by a 32-bit EFI just fine.
The other is that Apple also disabled 64-bit kernel support for any Macbook, even those with a 64-bit EFI.
This limitation only affects the kernel!
64-bit applications (like Finder, Mail, Safari, iCal, and iChat) will run just fine (including benefits) on a 32-bit kernel in Mac OS X!
Snow Leopard is 64-bit for all users with a 64-bit CPU. The applications are, the memory space is. The ONLY THING that doesn't load into 64-bit - ON PURPOSE - is the kernel!
Why would Apple do that?
The problem is compatibility with third-party drivers. Some programs are so deeply intertwined with the OS that they reach deeply into its bowels and modify its core, the kernel - these drivers are called kernel extensions (or kext).
A 32-bit processor can only run 32-bit stuff.
A 64-bit processor can run 32-bit and 64-bit stuff.
(stuff can be system, kernel, applications, drivers, etc)
So you need a 64-bit processor to run 64-bit anything
On a 64-bit processor:
A 32-bit Kernel can run both 32 and 64 bit applications.
A 64-bit Kernel can run both 32 and 64 bit applications.
A 32-bit Kernel can load only 32-bit kexts (kernel extensions).
A 64-bit Kernel can load only 64-bit kexts (kernel extensions).
If a program uses a 32-bit kernel extension (like the PC emulator VMware Fusion) then that extension will not run in a 64-bit kernel. So until they update their kext the program will not run if you start the kernel as 64-bit. However the program will run fine if the kernel stays 32-bit, even if the application itself is 64-bit)
The ability to start up with a 64-bit kernel (by holding 6 and 4 while booting) is meant for developer so they can start developing 64-bit kernel extensions. The average user never really 'needs' to be in 64-bit kernel - in fact, you wouldn't want to have a problem with your 32-bit kernel extension, would you?
So Apple leaves the kernel at 32-bit for now but includes the ability to start the kernel in 64-bit mode.
Unlike how other vendors have approached 64-bitness Apple's implementation will just work without worrying about whether you have 64-bit everything or not - just install and go ;-)
Which Macs will boot into a 64-bit Kernel?
By default only the Xserve (the other ones in this list are officially capable to do so) - simply because (a) a 64-bit kernel is useful for heavy lifting (many connections and lots of RAM and hard disk space to deal with), and (b) there is no need for kernel extensions as the Xserve is a fairly closed system.
NOTE: this list is the current situation - nobody outside Apple knows what might happen in the future.
It is possible that they will not support a 64-bit Kernel on MacBooks and Mac minis (consumer machines) but only on MacBook Pro and Mac Pro - similar to how they only supported a mirrored display on iBooks with an external monitor and not the desktop spanning mode available to Powerbooks (though that was easily fixed with a little hack too).
NOTE: Apple probably has a check in the EFI that starts the kernel in 32bit mode on unsupported hardware. So unless you want to hack the EFI firmware (really bad mojo) or Apple releases a firmware upgrade there is nothing anyone can do.
What about other 32-bit dependencies?
Quicktime uses InterProcess Communications (IPC) to load 32-bit codecs into its 64-bit player. The 64-bit version of Safari also uses IPC to load the 32-bit Flash Player plugin.
Can I try out 64-bit mode?
Sure you can. With Snow Leopard installed boot up holding the 6 and the 4 keys to boot into 64-bit kernel mode, and hold the 3 and 2 keys to boot into 32-bit kernel mode (these are not remembered!).
Thanks to an EXTREMELY generous donation of $250 from Singapore we smashed through the $1,000 barrier (and yes, I emailed back and had confirmation that it wasn’t a typo :-)
To date 211,184 people visited this website (combined total for the English and German website) of which 239 donated a total of $2,772:
Originally I wrote that 50% of donations would go to the relief project - however I don’t think the big donors intended to give me $25, and would feel bad about accepting it.
So I’ve decided to give all the money to the relief project instead.
PayPal takes a few percent which I will cover out of my own pocket so that everyone can rest assured that their full donation will reach the kids.
Thank you to all donors - as the numbers show you are truly “one in a thousand”!
Version 1.5 now available
Please be aware that you are using it at your own risk. The app is doing the same thing that the terminal commands are doing so nothing should go haywire.
Download it from here (1,6 MB)
To check your configuration:
• Intel Mac
• MacOS X 10.5 Leopard or higher
To set the kernel's startup mode:
• Intel Mac
• MacOS X 10.6 Snow Leopard or higher
• Admin rights (as a system file needs changing)
How to use:
Simply check or uncheck the boxes.
If you hover over a check box then a balloon pops up with descriptive text.
How to tell if you’ve successfully loaded the 64-bit kernel in Snow Leopard:
Launch System Profiler (Applications > Utilities > System Profiler or About This Mac > More Info…)
Click on the “Software” heading in the left pane
Check the “64-bit Kernel and Extensions” line for a Yes or a No.
This is what it looks like in 32-bit:
This is what it looks like when the 64-bit kernel and extensions are loaded:
What do the pictures mean?
How to uninstall:
When you set it to 64-bit then it writes the info to the nvram and the com.apple.Boot.plist.
To set it back to 32-bit just click the other button.
During operation it writes a small temporary script file to disk, executes it, and deletes it (otherwise you would have to enter the password twice, once for the nvram changes, once for the plist changes)
To uninstall just drag the app to the trash – it is self-contained and does not install anything else.
Frequently asked questions:
Q: I tried your program and I tried holding the 6 and the 4 key on startup but it still says that the kernel is running in 32-bit mode. How can I start the kernel in 64-bit mode?
A: You can’t. Not unless you hack the EFI which is a bad idea. As explained above Apple currently does not support booting into a 64-bit kernel on a range of Macs - and for very good reasons. Apple might deliver a firmware upgrade when third party apps had enough time to rewrite their kernel extensions as 64-bit kernel extensions. The officially supported Macs are shown in the list above, though there are some more Macs which can boot into the 64-bit kernel and which are not on the list (like the MacBookPro5,5).
Q: My Mac is one of the supported machines but I still can’t start the kernel in 64-bit mode.
A: Even if you computer is fully capable to boot in 64 bit but you have an EFI PASSWORD set, pressing 6 and 4 at the boot will not work.
- New: added info for MacBookPro5,4
- New: improved feedback window
- Bug fix: resolved issue when no boot mode was set
- New: added feedback window for when unknown Mac is encountered
- New: added info on new models
- New: added icons for unknown and capable but not supported models
- New: made some help text model specific
- New: shows Mac model
- Change: the ability to set the boot mode was disabled again for earlier MacOS versions as changes to the kernel boot mode only effect MacOS X 10.6.
- Bug fix: Corrected permissions problem which would lead to a NilObjectsException when trying to change the kernel’s boot mode
- Bug fix: RadioButton is now correctly reset when the authentication is canceled
- Bug fix: Some machines were shown as unsupported when they were in fact supported
- Improved: Use more reliable method to detect 64-bit processors
- Improved: Improved setting and reading of kernel boot mode (uses both nvram and com.apple.Boot)
- New: added splash screen strongly urging users to first read the information on the accommpanying website
- New: in version 1 the kernel panel showed the boot mode setting, in version 1.1 it showed the actual kernel mode. As this confused quite a few people I added another button to show both the kernel boot settings and the kernel running mode
- New: added info to show if Apple officially supports a 64-bit kernel on your Mac
- Bug fix: showing which mode the kernel is running in only worked on English systems. It should now also work on German, French, Spanish, Italian, Portugese, Dutch, Swedish, Danish, and Polish systems
- Change: Changed donations policy: 100% of donations will go to the relief project instead of 50%
- Graphic now displays actual running mode of kernel, not just the boot mode
- corrected help texts
- expanded website info
- added german website
- First release. Bug reports are much appreciated.
If you’d like to know more about REALbasic then just read what I wrote about it on my REALbasic page or go to the REALsoftware website.
REALbasic affiliate program:
If after trying REALbasic you decided to buy it then you can support this site and the software I develop by clicking the image left - it will take you to the REALsoftware store, and as a referrer I get a small percentage.