It's actually really small, according to Steam Hardware Survey, Macs are only 1.88% of Steam users, which is less than that of Linux, which is probably why most developers don't care.
Between the deprecation and stagnation of OpenGL on the platform, the removal of 32 bit support completely, the refusal to natively support Vulkan in favor of Metal, and the switch to ARM based systems... I can't believe it's still that "high".
Don't worry, they plan to gut Rosetta 2 so it will only support Mac games from the Intel era, that should help shrink that number!
> Rosetta was designed to make the transition to Apple silicon easier, and we plan to make it available for the next two major macOS releases – through macOS 27 – as a general-purpose tool for Intel apps to help developers complete the migration of their apps. Beyond this timeframe, we will keep a subset of Rosetta functionality aimed at supporting older unmaintained gaming titles, that rely on Intel-based frameworks.
Their compatibility layers being intended as exclusively transitional can be frustrating, but on the other hand it’s also why near every Mac app now has a proper aarch64 build. If it were known that Rosetta were going to remain part of the OS forever, many apps would’ve never been ported and would’ve been at an effectively permanent 30-60% performance penalty and disproportionate drags on battery life.
On the other side of the fence in Windows land, adoption of features much more trivial than an architecture change are absolutely glacial because devs know they can lean on back compatibility in perpetuity.
Apple’s approach is perhaps too aggressive but Microsoft’s is far too lax. I don’t think it’s realistic to dump a binary and expect it to work forever with no maintenance.
Even if Windows wanted to push hard to get off x86 they still lack ARM hardware worth moving to in the first place. I wouldn't be surprised if the 13" M1 MacBook alone shipped more units than all Windows 8/8.1/10/11 ARM devices combined. The 32 bit -> 64 bit app migration for x86 was also much slower on Windows but, again, there wasn't any real performance gain to be had until your app needed more than 4 GB of RAM in a single process, so no real pressure there either.
The moment Windows actually has non-x86 hardware which people actually want to buy I bet native app support comes pretty quick.
> The moment Windows actually has non-x86 hardware which people actually want to buy I bet native app support comes pretty quick.
Snapdragon X laptops are here already, and reviews are generally positive (of course, use and workload dependent, nobody should get one to game, but for web browsing and long battery life it's perfect).
Qualcomm's exclusivity deal with Microsoft started 9 years ago, but if you've got the numbers to say people are actually buying the latest Snapdragon option more often for web browsing than x86 laptops I'd be willing to believe something has finally changed. Otherwise there is always some special stat advertised about how "this time it really is better", yet it's never what people actually want.
Looking at the M1, there was no "if", "but", "for certain", etc wording. It was just better all around, even comparing gaming performance vs older MacBooks. Even running Windows ARM in a VM was better than buying a Windows laptop (x86 or ARM) in terms of both performance and battery. Based on your description, I don't think the Snapdragon X laptops are the same story?
1. You've named the release order, but not your argument behind why that should be limit what's currently supported today. E.g. if someone "OpenGL precedes Metal" wouldn't be an argument why Apple should not have added Metal support either.
2. I can easily list 5x as many AAA games, engines, or libraries supporting a Vulkan backend vs a Metal backend, does that mean Apple shouldn't support Metal? I'd say no, but maybe you're seeing this kind of logic differently. I'd be fully in support of macOS/iOS/iPadOS/visionOS adding native DirectX support, if that's what you mean. It just seems less likely than Vulkan (for several reasons).
This is of course horseshit. Vulkan was being developed before Metal and Apple was even part of that development - they only dropped out once they decided to do their own thing instead.
Vulkan is the primary rendering API on Android and Linux these days and also well supported on Windows by GPU vendors. Applications that don't use it yet generally don't because they don't need it and still OpenGL (ES) (or for Windows applications, use D3D instead).
> This is of course horseshit. Vulkan was being developed before Metal and Apple was even part of that development
It's fascinating that history is changing so fast now that even events of 10 years ago can be claimed to be something they weren't.
- 2013: AMD starts developing Mantle, and it is only available as part of AMD Catalyst, and only on Windows.
- 2013 (at least): Apple starts working on their own graphics API.
- June 2014: Metal 1.0 on iPhones is announced by Apple (it means it had already been in development much earlier, that's why I wrote "2013 at least" above)
- July 2014: Khronos starts work on Vulkan
- August 2014: The announcement of the Vulkan project and the call for participation.
- June 2015: Apple announced Metal on Macs.
- Sometime in 2015: AMD discontinues Mantle and donates it to Khronos.
- December 2015: Vulkan 1.0 specification announced by Khronos group
- February 2016: The full spec and SDK for Vulkan 1.0 released
So, reality: Metal had been released two years before Vulkan even had a specification.
> also well supported on Windows by GPU vendors.
Keyword: GPU vendors. Not by Microsoft.
> Vulkan is the primary rendering API on Android and Linux these days
But not on Macs, iPhones, Windows, XBox, and Playstation.
And yet, "omg why doesn't Apple support this late-to-the scene quite shitty API that it must support because we say it must".
Aside of the technical merits there are also the questions of open vs proprietary, platform availability etc.
Also the question of "technically best solution" is also fraught with subjective definitions of "better". You also want competition in approaches. E.g. Vulkan might not have happened (an we would be stuck wit OpenGL) without the newer more modern GPU APIs from Metal and DX12.
It would be smaller than that overall because Steam stats are incomplete, they don't count all the Game Pass users. I haven't opened Steam in the six or so years I've been taking advantage of Microsoft providing a few hundred games for $10/month.
It's worth noting that the percentage of Steam users that are Mac users is not going to be equal to the percentage of gamers who play games on Macs, because not only is Steam not the only distribution channel for games on Mac, it's always been a fairly poor UX there, so bad I don't usually even bother installing it on my Macs anymore. Steam sees me as a Linux user as I have a Steam Deck, but I spend more time playing non-Steam games on my Mac than I do using that.
Actually, I think the last time I installed Steam on a Mac I did so in a CrossOver Games bottle, so even there Steam would have seen that install as a non-Mac user.
EDIT: Also just because I think it's interesting to note this, Steam Deck accounts for most of Linux's headroom there, if you subtract the SteamOS numbers from the rest of Linux it's at 2.07% instead, which is much closer to Mac.
Mac users might prefer to get their games through the default Mac App Store than Steam for distribution which plausibly could unrealistically distort the numbers.
I went the other direction: moved away from mac, windows, and game consoles into a monster PC running Manjaro. Now I can invest all my money into one machine and see benefits in all aspects of my life: work, personal projects, gaming, video editing, photo editing. I just stream from it to other devices if I'm mobile.