Comment by MrDOS
9 hours ago
Only the very first few models of Intel Macs had strictly 32-bit processors (the 2006 iMac and Mac minis with Core Solo/Core Duo processors), and none of them were realistically capable of playing Half-Life 2. Apple is guilty of many sins, but this isn't one of them. Valve should never have shipped a 32-bit application in the first place. The binary was already obsolete before it even left Bellevue.
> Valve should never have shipped a 32-bit application in the first place.
It's literally a 2004 game! That's ridiculous. A handful of opterons existed in the market, but Intel wouldn't get there for years still and it was well over a decade until x86_64 crossed 50% market share in consumer stuff.
Good grief, as it were.
In 2004, sure, but Valve didn't (publicly) ship Mac OS X software before 2010.
I hear what you're saying, but keep in mind that Bethesda shipped Skyrim as 32-bit in 2011. It wasn't until the Special Edition release in 2016 that it was updated to 64. Now, obviously, we could chalk that up to it just being Bethesda.
1 reply →
They didn't develop it from scratch though! The 2010 Mac HL2 binaries are a port of the existing 32 bit Windows product, with all the word size and alignment issues you'd expect for C++ code of that vintage. You don't magically wave a wand and expect high performance code to work when sizeof(void*) changes, and the effort to do that needs to be weighed against the perceived value and the size of the market.
Needless to say, annoying a bunch of HN nerds a quarter century in the future wasn't on Valve's radar. They just wanted some Mac revenue and picked the low hanging fruit.
> Only the very first few models of Intel Macs had strictly 32-bit processors (the 2006 iMac and Mac minis with Core Solo/Core Duo processors), and none of them were realistically capable of playing Half-Life 2.
What? First, those chips were plenty powerful to run HL2 (the game predates them). And second, all x86_64 chips can run older x86 32-bit code unmodified.
The reason macOS stopped supporting 32-bit code has nothing to do with the processors but more about them wanting to remove support for 32-bit binaries from the kernel and from all user-space libraries. To run a 32-bit binary, you need itself and all libraries it depends on to be 32-bit too, including the syscall boundary, which is "fine" (both Windows and Linux do this just fine, so it's really on Apple to have removed this). And I suppose Apple removed those because it was building towards a 64-bit-only world to simplify the Apple Silicon transition.
The CPUs were powerful enough, sure. The GPUs (Intel GMA950) absolutely weren't. Even on Windows with better drivers, Half-Life 2 is a slideshow on that class of hardware.
Depends a LOT on the res.
E.x. notebookcheck indicates that FEAR (released a yearish later) could get 20-30ish FPS at 640x480 but chokes at 1024x768 (at numbers matching the HL2 lost coast demo slideshow at 1024x768).
Gotta remember a lot of mac people were just happy to play something more modern than Marathon or Giants CK