In the last several days, several rumors have cropped up saying that Apple is going to switch the Mac platform from PowerPC processors made by IBM and Motorola to X86-64 processors made by Intel. Of course, this is not the first time that the rumormongers or pundits have predicted such a switch. And every time, it hasn't happened (for reasons that I mostly agree with).
Most of the discussion that I have seen has revolved around how "hard" the switch would be, in terms of all of the applications that would need to be re-compiled for a totally different CPU instruction set. And while I grant that would be a challenge, it is not an insurmountable one, and certainly, it isn't what has kept Apple from making the x86-switch.
What I haven't seen discussed, is the "real" reason why Apple hasn't switched to x86. In my mind, Apple hasn't switched to x86 because, if they did so, they would ultimately be killing their hardware business. The reason why is quite simple: if Apple were to release a build of MacOS X that was compiled for the x86 instruction set, people would take that build, and run it on non-Apple hardware.
Now, I'm assuming that an Intel-based Mac would contain some Apple-proprietary hardware, that MacOS X for Intel would require to run. However, any protection that Apple could come up with would be easy to defeat. Heck, the OS that forms the foundation of MacOS X, Darwin, is already open source. So, Apple would have to embed their security into the GUI layer. But still, that would be easy for the hackers to defeat. This sort of cracking has been around for as long as there has been copy protection, and it would be broken in a matter of weeks, if not days.
So, up until now, I haven't seen a whole switch to x86 as being "in the cards" for the Mac platform. I knew that if Apple did it, then people would start running MacOS X on non-Apple hardware, then less Macs would be sold, until Apple was either ruined or exited the hardware business altogether. Apple is run by some smart people (some of whom hate clones), so I know that they would never allow this to happen. Yet, I think that such a switch may be imminent. What do I know that I don't see anybody else talking about on the web?
Last week, Intel announced their newest "Pentium D" processors, along with a new chipset, the 945g. In the announcement, Intel made an oblique reference to the fact that these new chips have the latest iteration of their DRM technology built-in. All of the press coverage that I have seen of the DRM has focused on "protecting digital media" from thieves. While I'm sure that is what Intel is aiming at, I think that Apple could have a different purpose in mind for this DRM hardware.
Consider if all of the non-open source bits of MacOS X for Intel were shipped from Apple in an encrypted format. The DRM technology in the Intel CPU and chipset is able to decrypt the OS into memory, in such a way that there isn't much of a performance penalty. Furthermore, the MacOS itself leverages the DRM hardware, to prevent hackers from reading the OS that has been unencrypted in memory. Now, the only piece that is missing is the special key, that the CPU uses to un-encrypt the OS. This is where Apple's hardware engineers step in, crafting a special chip that holds the key, and is soldered onto the Apple motherboard.
From a very high level, it seems like such a scheme might be difficult enough for the hackers to crack, that it will keep widespread adoption of MacOS X on non-Apple hardware at bay. I think that this is why all of the rumors have been saying that Apple is switching to "Intel" and not "x86". If they just wanted to switch to x86, why wouldn't they consider AMD? I think that Apple would really like to go to AMD, because they are really kicking ass right now, but they won't, because AMD doesn't have the DRM technology that Intel has.
So, while I'm not saying that I want Apple to switch to x86, what I am saying is that for the first time, I see how such a move could happen. Monday could be an interesting day.
-Andy.
[UPDATE]: MacOSRumors has a nice roundup of the Mac-on-x86 rumors that have occurred over the past several years. And John Gruber has a great analysis of the whole situation as well.
[UPDATE2]: The New York Times is corroborating the switch to Intel story. The interesting part of this article is the discussion around the financial relationship between Apple and IBM. According to the NYT, less than 2% of the production capacity of IBM's Fishkill, NY plant goes to Apple processors. And the NYT says that IBM is probably barely breaking even making processors for Apple.
[UPDATE3]: Daring Fireball has some more odds 'n ends, his bet is Intel PowerPC's. And Leander Kahney mentioned the Intel DRM, but thinks that Apple wants it in order to woo Hollywood with some sort of oft-rumoured iTunes-for-movies.
Of course, one monkey wrench in all of this speculation is that Intel is now retracting their recent statements concerning DRM in the new Pentium D.
Posted by andyr at June 4, 2005 05:29 PMYou are wrong, as you'll see Monday. A CPU is not a platform - PCs aren't all compatible with each other just because they use the same CPU, they're compatible because the entire hardware platform from the chipset up is compatible. It's just been so many years since we had competing platforms based on the same CPU in PC-land that we've forgotten (just about every 8-bit home computer - Apple, Atari, Commodore - ran on the same 6502 CPU; and practically all of Japan ran a non-PC compatible x86 platform up until the Windows 3.0 era). This isn't something minor that can be hacked around. Mac OS X will -not- run on commodity hardware.
Posted by: Bobby at June 5, 2005 01:15 AMBobby,
A couple of things. If Apple were to go Intel, they would most certainly use an Intel chipset, which commodity PCs use. Aside from the CPU/chipset, Apple is already using components that commodity PCs use -- from Firewire and WiFi chipsets, to graphics cards.
Second, even if Apple were to produce some sort of computer that has an Intel CPU but was a totally different architecture, it would still be possible to run OS X on non-Apple hardware. The key is Darwin. All of things that make OS X "OS X" -- Aqua, the Finder, Core Image/Audio/Video/Graphics, etc. -- sit on top of Darwin. And of course, Darwin already runs on commodity PC hardware. So, it would simply be a matter of stripping off Apple's custom Darwin for their custom hardware, and melding that with the open source Darwin -- and voila -- MacOS X on a white box PC.
To put it another way, back in the late 90's, SGI decided to "go Intel", and released the SGI "Visual Workstation", which contained an Intel processor, but none of the other things that a commodity PC had at the time. No BIOS. Crazy chipset. The thing could run windows, but only with a modified HAL that came from SGI.
However, Linux was eventually ported to the SGI 320. Thus, any application that ran on Linux and compiled to the x86 ISA would run, un-modified, on the very un-PC-like SGI 320.
-Andy.
Everything I have heard just says "chips" not "x86". IIRC, the PPC architecture is open enough that anyone with enough technical prowess and resources could implement their own. Intel could very well be developing a PPC for Apple; Apple could simply be switching vendors as they did from Motorola to IBM. I really don't think Apple is ready to kill their hardware business (where they have the best margins in the industry) and become a software-only play.
Of course, I could be (and probably am) wrong. Guess we'll see on Monday!
Posted by: Mike Pirnat at June 5, 2005 07:02 AMMike,
I've seen pondering of Intel producing PowerPC chips, but I'm not so sure that would happen. I've seen that supposedly, IBM isn't interested in producing such a "low volume" processor (Apple is selling at least 4 million macs a year... How is that low volume?). So, I'm not sure that Intel would really be interested in getting in on such a business.
Second, as a company, Intel doesn't have a strong history of implementing ideas not invented within Intel (Itanium and Xscale are the two counter-examples that I can think of). I guess it's possible that Intel could start pumping out chips that are compatible with the PowerPC ISA, but I think that I would be more surprised if Intel started making PPCs than if Apple switched to x86.
-Andy.
Posted by: Andrew Reitz at June 5, 2005 12:19 PMFirstly Apple will be using a custom chipset - it has to use altivec on a chip somewhere. So any intel machine that does not use altivec will not work.
Secondly the OS X released for the Mac will only contain drivers for the type of devices that are used on the Mac. To get it to run on an intel machine means writing drivers specific to that machine. A task.
Thirdly the protection may not be that easy to break.
Fourthly - even if all these issues were surmountable ( on a machine by machine basis given the driver issue) the number of people in to downloading illegal operating systems that may not work is miniscule, and in any case these kind of goobers do not spend money on anything. So no sales lost.
OS X will not work out of the box on any normal Intel based machine , nor will it come installed on any machine, and the vast vast majority of users will not ever install it on their machine. Unless they like bust stuff with no possibiliy of support.
The idea that illegal downloads on cheap intel machines bought for the purpose of installing Mac Os X will eat into the average Mac user base is ludicrious. There may be people who do this kind of thing, but that would not be moma or popa OS X users.
And if people who are normally not interested in buying a mac do download the illegal modified OS for their existing cheap assed intel box, and download drivers, and chant incantations to get this to work - well that community of geeks is not significantly the Mac User base. I am not sure than any computer manufactuer is that interested in them, the cheapo freaks.
no issue here.
Posted by: eoin at June 5, 2005 06:34 PMEoin's right... Darwin is a non-issue. So far as I know it only runs on ancient 440BX chipsets at this point, and driver support is threadbare. Which is why x86 Darwin is mostly just a curiosity and not a useful platform. Doing what you suggest, Andy, might be technically possible (and I suspect it isn't actually possible without access to non-Darwin Mac OS X source code, if I'm correct and these things use a custom chipset) - but would require a monumental open source driver effort almost on the scale of Linux itself.
Let me be the first to officially eat my words -- according to the Almighty Steve, they've had OS X running on x86 for 5 years now, "just in case".
Pardon me while my head explodes.
Posted by: Mike Pirnat at June 6, 2005 10:45 AM