Over 101 million Nintendo Wii consoles have been sold since 2006, but only one of them runs Apple's Mac OS X Cheetah. Here's how it works.

That Wii is owned by developer Bryan Keller after he took considerable time to port Apple's 2001 software. We've seen Wiis running everything from Linux to Windows NT before, but this is the first we've ever seen running a flavor of macOS.

Understandably, the process of getting 25-year-old software to run on 20-year-old gaming hardware wasn't a short one. And it's absolutely something we expect that most people would have given up on. Thankfully, Keller is made of sterner stuff.

The story of how the Apple-powered Wii came about is a fascinating one, filled with interesting tidbits. Not least the Redditor who said that there was "zero percent chance" of the project ever working.

Choosing the right software

The pessimism around bringing Mac OS X to the Wii ignored the fact that it has more in common with a Mac than you might realize. And that starts with the chip that powers it.

As a blog post detailing the process explains, the Wii uses an IBM PowerPC 750CL processor, which is based on the PowerPC 750CXe used in Apple's G3 iBooks and iMacs. That alone meant that there was a good chance that Mac OS X, at some level, would work on the Wii's hardware.

While Mac OS X 10.0 Cheetah might not be many people's go-to releases, there's a reason it was chosen. Not only is it compatible with the family of Power PC chips that the Wii uses, but it also doesn't use much RAM.

While Mac OS X Cheetah technically requires 128MB of RAM, it can actually run on machines with much less. And with the Wii packing a modest 88MB, the case for the spotted cat was strengthened.

A complicated process

Once the software was chosen, Keller just needed to find a way to make Mac OS X boot and then run. That was no mean feat, and it required a more complicated process than most people would be willing to undertake.

Open laptop running code beside a white Nintendo Wii console on an airplane tray table, with green seatbacks and a passenger using a smartphone in the background

Keller took the Wii on vacation to keep working on the project

There were complications right out of the gate. The simple act of getting the Wii to accept Mac OS X and try to run the software required some heavy-duty technical knowledge.

Keller ultimately settled on writing a whole new bootloader that would tell Mac OS X what to do with the Wii's components. That bootloader needed a custom device tree, data that details the Wii's components and how they function. And the process didn't get any easier from there.

Next, Keller needed to patch Apple's XNU kernel so it would accept the Wii hardware and then write custom drivers for that hardware. Something that was much easier to write than to actually do, I'm sure.

By now, it should be clear that this project isn't one for the faint of heart. You'll need a deep understanding of how low-level systems work as well as how to make them do what you need them to.

Still, Keller was up to the job and even became so engrossed in the project that they took a Wii on vacation so they could keep plugging away. The change of scenery clearly worked, too.

I'm not sure how useful a Wii running Mac OS X really is. But the final paragraph of Keller's write-up explains exactly why these projects are so inspiring.

"In the end, I learned (and accomplished) far more than I ever expected," Keller writes. "And perhaps more importantly, I was reminded that the projects that seem just out of reach are exactly the ones worth pursuing."