Before figuring out how to tackle this project, I needed to know whether it would even be possible. According to a 2021 Reddit comment: There is a zero percent chance of this ever happening. Feeling encouraged, I started with the basics: what hardware is in the Wii, and how does it compare to the hardware used in real Macs from the era. I LOL'd
I ported Mac OS X to the Nintendo Wii
251–260 of 337 posts
Re: I ported Mac OS X to the Nintendo Wii
#252Earlier quoted context omitted.
Another funny history fact with the Wii is Windows Vista released the same month in North America. People were so upset that the minimum requirement for Vista said 512 MB (which was already more than the average existing home PC of the time had without an upgrade) but it ran like crap unless you had more. We truly had to get away with less back then. These days it feels like there is a bit more headroom where 8 GB is…
Recently I was ranting about this very thing, my work machine running win 11 has 16gb ram and Windows just sits at 8Gb on idle. My first laptop had 1 gig of ram... until I got my mac (16GB M1 Air) I used to manage with 4GB RAM while serving clients... Optimization seems to have been forgotten these days
Re: I ported Mac OS X to the Nintendo Wii
#253The one that really bugs me is the Apple TV. It would be a great little box to use for terminals/thin client style work and there are a ton of old cheap ones. Having a $50 dollar used box that was low power and could run OSX would be great.
Re: I ported Mac OS X to the Nintendo Wii
#254Not only is this an insanely cool project, the writeup is great. I was hooked the whole way through. I particularly love this part: > At this point, the system was trying to find a framebuffer driver so that the Mac OS X GUI could be shown. As indicated in the logs, WindowServer was not happy - to fix this, I’d need to write my own framebuffer driver . I'm surprised by how well abstracted MacOS is (was). The I/O Kit…
> I'm surprised by how well abstracted MacOS is (was). Usually the difference between something being well-abstracted vs poorly-abstracted is how well it's explained.
Re: I ported Mac OS X to the Nintendo Wii
#255Earlier quoted context omitted.
I probably have rose colored glasses, but this is what I associate with Hacker News when I first started coming to this site. Truly absurd projects for no reason other than the love of the game and detailed write ups. I'm not an LLM post hater, but it definitely has been a bit draining lately. This is exactly what I love to see here.
yeah - I wish the 'Hacker' part of 'HackerNews' got more attention. Last few years it often feels more like "VC-Buzzword-of-the-day-News" - AI is just the most recent cycle.
Re: I ported Mac OS X to the Nintendo Wii
#256In addition to the incredible engineering work here the OP casually flexes by showing the development happening _in an economy class airplane seat_.
Re: I ported Mac OS X to the Nintendo Wii
#257Not only is this an insanely cool project, the writeup is great. I was hooked the whole way through. I particularly love this part: > At this point, the system was trying to find a framebuffer driver so that the Mac OS X GUI could be shown. As indicated in the logs, WindowServer was not happy - to fix this, I’d need to write my own framebuffer driver . I'm surprised by how well abstracted MacOS is (was). The I/O Kit…
IOKit was actually built from the ground up for OS X! NeXT had a different driver model called DriverKit. I've never coded against either, but my understanding was they're pretty different beasts. (I could be wrong) That said, indeed, the abstraction layer here is delightful! I know that some NetBSD devs managed to get PPC Darwin running under a Mach/IOKit compatibility layer back in the day, up to running Xquartz on…
Re: I ported Mac OS X to the Nintendo Wii
#258Earlier quoted context omitted.
IOKit was actually built from the ground up for OS X! NeXT had a different driver model called DriverKit. I've never coded against either, but my understanding was they're pretty different beasts. (I could be wrong) That said, indeed, the abstraction layer here is delightful! I know that some NetBSD devs managed to get PPC Darwin running under a Mach/IOKit compatibility layer back in the day, up to running Xquartz on…
As I remember it, they were basically the same—but IOKit is C++ (with restrictions) because 3rd party developers didn't want to learn Objective-C. But that's a hazy, 20 year old memory.
When those fears proved not true, and devs were actually welcoming Objective-C, it was when they dropped Java and the whole Java/Objective-C runtime interop.
Re: I ported Mac OS X to the Nintendo Wii
#259Earlier quoted context omitted.
From here: https://news.ycombinator.com/item?id=10006411 "At some stage in the future we may be able to move IOKit over to a good programming language"
IOKit was almost done in Java; C++ was the engineering plan to stop that from happening. Remember: there was a short window of time where everyone thought Java was the future and Java support was featured heavily in some of the early OS X announcements. Also DriverKit's Objective-C model was not the same as userspace. As I recall the compiler resolved all message sends at compile time. It was much less dynamic.
To note that Android Things did indeed use Java for writing drivers, and on Android since Project Treble, and the new userspace driver model since Android 8, that drivers are a mix of C++, Rust and some Java, all talking via Android IPC with the kernel.
Re: I ported Mac OS X to the Nintendo Wii
#260It’s interesting because we don’t often think about OS-level abstractions in the same way anymore — but projects like this really show how powerful they are when they’re done right.
Makes me wonder how feasible something like this would be with modern systems, where things feel more tightly coupled and security constraints are much stricter.