I don’t like this decision, since I know the lack of support for different platforms than Windows as someone playing on Linux. Valve invests into proton and thus game support on Steam Deck and ChromeOS, so I’d have thought they’d make sure CS runs on macOS too.
I’d have thought the pain point would have been the processor architecture (ARM64) rather than operating system - MacOS still supports AMD64 using a compatibility layer but it would probably be quite a drawback to game performance.
Not really, unless the game code was written in X86-64 assembly language, does low-level VM allocation for some reason, or otherwise has special dependencies on Intel CPU-isms. With a few exceptions, C/C++/Objective-C code written for X86-64 can be easily recompiled for ARM64.
The PowerPC to X86 transition was much rougher, because of the byte order change + PPC allowing integer division by zero while X86 disallowed it.
What’s your experience here? I’m interested to hear about projects that you have done this for.
The source engine has code that’s over 20 years old. A monolithic project like a game engine, which is statically and dynamically linked with god knows how many libraries they don’t even have code for, let alone permission, to compile in a different architecture, is not gonna be an easy thing to do.
Big difference I see from Linux and Windows is that they are OS that can be installed on different devices. MacOS is not the case, and even trying to get Linux to be stable and reliable on Apple hardware after the move to their own CPUs is a project in itself with Asahi Linux.
So I can see the lack of interest with how MacOS is a very restrictive Mac hardware only type experience for most people with how getting a hackintosh working is rather involved.