Hacker News new | past | comments | ask | show | jobs | submit login

While perhaps not so great from a defensive programming perspective, Mac OS feels like a different case since it's only designed to run on specific hardware.

Modern Mac OS also has all sorts of "bugs" that Hackintosh users need to patch or otherwise work around. Since we're doing something that was never intended, I don't really see these as flaws in the OS.




I would still consider them to be timebomb bugs, though. Even if you're developing for a restricted set of hardware, newer versions of that hardware could very easily violate some corner-cutting assumptions in the future. I would rather spend a little more time now to get something right and future-proof, rather than pass the problem onto future-me, who likely won't have the context anymore to find the issue quickly, or, worse, future-someone-else, who doesn't have the context at all.


Yeah, over a long enough time window I think portability and correctness will always come back to bite you. Apple could've saved time by making Darwin only handle one processor nicely, but then the Intel transition and ARM additions (iOS is still Darwin, after all) would've hurt more. Windows coasted on x86 for a while, but now that they're targeting ARM I'll bet they're pretty glad that it was originally built to be portable. Code that only works on the exact system you need today might be good enough sometimes, but if you survive long enough you'll want it to be more flexible than all that.

EDIT: I should add, this applies to applications, not just OSs. If you're an Android dev - will your app run on Android 15? Will it work on ChromeOS? Will it run on Fuchsia? If you're writing Windows software - will it run on ARM? If you're making webapps - does they work on Firefox? And maybe it's not worth the effort, especially if you don't plan to be selling the same software in 5 years, or maybe you think you can just deal with those things when you get there, but if you plan to still be in business in a decade then you should plan accordingly.


> Modern Mac OS

For my sanity would you mind calling it Mac OS X/OS X/macOS? I’m not too picky about you matching them all up to the right release but the moment I see Mac OS my mind jumps to the old one without memory protection ;)


Sorry about that—I was actually trying to use the name that implies a common product lineage (ie "Mac OS X is just the tenth version of Mac OS."), since we were comparing with the original Mac. Probably just ended up being confusing though.


I’m about to build my third hackintosh, although it will be my first on OpenCore. Can you expand upon why you call these “bugs” and which patches you are referring to?


Well, one specific thing I was thinking of was the limit of 15 USB ports in El Capitan and later. There's no reason for that to exist in an absolute sense, but no real Macs have enough ports to run into trouble.


Doesn't the Mac Pro get real close though?

2 built-in USB C ports on the top, the I/O card has 2x USB-C and 2x USB 3, and each GPU has 4x USB-C.

So with dual GPUs that's 14 USB ports. Maybe some are implemented via internal hubs?


PCIe cards don't count. So ignore the ones on the GPUs, I/O card, etc.

If not for that, it would in fact go way over, because USB3 ports count twice.


Do the cards actually have USB controllers on them though? I thought all the USB-C ports on the Mac Pro were routed through the motherboard in order to support using any port for displays irrespective of what GPU is driving it. Or is this one of those weird Thunderbolt vs USB things?


Oh—I have no idea then, sorry! Actually, as far as I know, Apple could have fixed the port limit bug in Catalina, since I've never set up a Hackintosh on that OS. Kind of hoping a proper Hackintosh developer will chime in here because I'm not really qualified!


What about USB hubs? Are you limited to 15 USB ports total?


No, only ports on the motherboard. I think the limit is technically per-controller, but I'm not sure and I don't want to say something wrong. If you add ports via a PCIe card, those don't count against the limit either.

That said, the limit is more problematic than it initially appears, because USB 3 ports count twice—once for USB 2 devices, and once for USB 3 devices. Some motherboards also use USB under the hood for things like Bluetooth (as do real Macs, btw), and even USB headers which aren't connected to anything will take up space if you don't explicitly exclude them.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: