It will never happen, but my dream is for the Asahi devs, Valve, and Apple to all get together to build out a cross-platform Proton to emulate and play games built for Windows on both x86 and ARM hardware running Linux.
A Steam Deck with the performance and power efficiency of an M-series ARM chip and the entire library of games that run on Proton is just...dreamy.
Her output is incredible.
And the root of the whole browser wars thing was microsoft making an absolute dog of a browser for Mac OS X when it came out and then refusing to support it. lmao.
The real reason Apple is ahead is because they're paying for more expensive more advanced nodes for their CPUs. I you compare CPUs on similar node sizes, you'll see that AMD and Intel are basically caught up architecturally in perf/W metrics.
But I guess there was never a time when an open graphics standard stood as the leader. Maybe during a brief stint in the Windows Vista era at best.
Sure it's a great design, but I believe x86-64 will catch up once again now with everyone using TSMC.
1) everything standardized, like it or not (note: I do not), on the Windows API, and it has remained relatively stable, which is important because
2) Linux-native games I've had, have become un-executable over time without semi-regular maintenance, and Windows games running on whatever version of Proton they best work with do not have that drawback
So, wait, does this mean that gaming is better on Linux, on a Mac?
Wine is wonderful and with Valve's help it only got better.
But why would gaming on a mac be better? Maybe one day, but for now:
FTA: "While many games are playable, newer AAA titles don’t hit 60fps yet."
I think the answer might be yes, because it's possible to play so many more titles!
You’re lucky to get 60fps playing a fairly undemanding game on MacOS, even on hardware that is otherwise a dream.
For example, Baldur’s Gate 3 is barely playable on my M3 MacBook Pro at well below native resolution with all settings turned down. It’s a brilliant game but hardly cutting edge graphically.
For instance, Alyssa mentions in this post that most emulated games will need at least 16 Gigs of RAM at minimum.
In addition, native ARM games on MacOS don't have the additional overhead of emulating a different CPU architecture and Graphics API.
However, that doesn't take away from this emulated support being an amazing achievement.
That's because the RAM is shared with the GPU and most of these games would require a GPU with at least 2-4GB on top of the normal system requirement to have at least 8GB. So, 8GB of RAM would be cutting it close on a mac since part of that would have to be sacrificed for the GPU.
And the minimum is pretty minimum. A 16 Gb arm mac will go into yellow memory pressure while running emulated games, I've noticed.
That includes raytracing support and heterogeneous paging support which are two things Alyssa calls out explicitly herself. Not to mention the VM overhead.
That’s not to say Alyssa’s work is not very impressive. It is. But GPTk is still ahead.
That’s not even including the other aspects of Mac support that Asahi still needs to get to. Again, very impressive work, but the answer to your question is No.
Then there's a case for it, since you can run AAA games that apple + macos doesn't support / allow.
Apple and Wine provide the tools, and apps like Whisky make them easy to use.
> Essentially, this app combines multiple translation layers into a single translation tool. It uses Wine, a translation layer that allows Windows apps and games to run on POSIX-based operating systems, like macOS and Linux. It also uses Rosetta and the Game Porting Toolkit, which are two official Apple tools that allow x86 programs to run on Apple Silicon and serve as a framework for porting Windows games to macOS, respectively.
Normally, this sort of process would require users to manually port games to Mac. But by combining Wine, Rosetta, and the Game Porting Toolkit, this can all happen automatically.
https://www.xda-developers.com/hands-on-whisky-macos-gaming/
However, as aleays, running games under emulation has a performance cost.
Valve and open source devs have put a lot of effort over the years on projects like Photon which is a translation layer for Windows games.
The correct answer is no, not yet anyway.
Linux running on x86 with proton is still the bee's knees for most games though.
> Geometry shaders are an older, cruder method to generate geometry. Like tessellation, the M1 lacks geometry shader hardware so we emulate with compute.
Is this potentially a part of why Apple doesn't want to support Vulkan themselves? Because they don't want to implement common Vulkan features in hardware, which leads to less than ideal performance?
(I realize performance is still relatively fast in practice, which is awesome!)
Yes, it's a big reason.
I tried to port the yuzu switch emulator to macos a few years ago, and you end up having to write compute shaders that emulate the geometry shaders to make that work.
Even fairly modern games like Mario Odyssey use geometry shaders.
Needless to say, I was not enough of a wizard to make this happen!
We (CodeWeavers) are doing this in (a fork of) MoltenVK, and Apple’s D3DMetal is as well.
Interestingly, Apple was on the list of the initial Vulkan backers — but they pulled out at some point before the first version was released. I suppose they saw the API moving in the direction they were not interested in. So far, their strategy has been a mixed bag. They failed to attract substantial developer interest, at the same time they delivered what I consider to be the best general-purpose GPU API around.
Regarding programmable tessellation, Apple's approach is mesh shaders. As far as I am aware, they are the only platform that offers standard mesh shader functionality across all devices.
Although its true that they are an optional feature (as is tessellation).
Which seems like an ineffective move when you have no market share.
I would not consider the lack of activity in some Asahi Linux areas to be a conflict of priorities. It is in my opinion mostly a result of these lacking areas naturally attracting less developers capable of moving them forward.
God I wish I was smart enough to help out with Asahi Linux...
If you want more, you'll have to take it up with Tim Cook or God (both have a nasty habit of ignoring us little guys). Also an option: not using a laptop that treats Linux as a threat to it's business model.
Ah yeah, here's the post: https://social.treehouse.systems/@marcan/112277289414246878
Besides, the main reason Valve is investing so heavily in Linux and Proton is so their destiny isn't tied to someone else's platform. MacOS is just another someone else's platform like Windows is, with the same threat of getting rug-pulled by a first-party app store that spooked Gabe Newell[1] into investing in Linux in the first place.
Personally 99% of my Steam Deck usage is with it docked. I do mostly use a controller, but also have it hooked to the same USB switch as my PC so I can hit a button to move my keyboard and mouse over.
Baldur's Gate 3 is the first game I ever ran on my Deck that did not run very well, though. Most stuff I've played runs at 60fps at my external monitor's 1920x1200 resolution. That in addition to not liking the gameplay on BG3 much made me not continue with the game, though I may revisit it someday.
I think you picked as an example one of the games that actually has a native Mac version?
Or is it a well hidden wine package? I've played it start to finish on Macs only and it looked too smooth to be emulation to me.
https://www.theverge.com/2023/10/30/23938676/apple-m3-chip-g...
Alyssa said in her talk that they'll probably get it working in 6 months or so: https://www.youtube.com/watch?v=pDsksRBLXPk&t=2932s
Is there a modern equivalent with FAANG, Microsoft, Sony, Valve, etc.?
In hell, Apple is in charge of gaming, Google does the customer service, Facebook is responsible for privacy, Microsoft does the UI, and everyone works at Amazon.
Sure this isn't Hell ? Because customer service at Amazon is a best non existant, at worse actively against you...
I do like the implication that were working in the warehouse and not AWS but maybe it's too subtle.
You might also be able to do something with the surprise switch from Linux to Linus. In heaven code is reviewed on GitHub [...], in hell [...] a nd your code is reviewed by Linus.
Are you putting them in charge of UI because they've made React? (which is already a cardinal sin in my book)
I mean this is an incredible achievement either way. Everything is emulated, but they are still running AAA games. Wow.
Other than the page size issue, FEX and Rosetta are comparable technologies (both are emulators, despite what Apple marketing might have you believe). Both FEX and Rosetta use the unique Apple Silicon CPU feature that is most important for x86/x86_64 emulation performance: TSO mode. Thanks to this feature, FEX can offer fast and accurate x86/x86_64 emulation on Apple Silicon systems.
From: https://docs.fedoraproject.org/en-US/fedora-asahi-remix/x86-...
https://fosstodon.org/@slp/113283657607783321
Sergio Lópéz has more info in his blog
https://sinrega.org/2024-03-06-enabling-containers-gpu-macos...
https://sinrega.org/2023-10-06-using-microvms-for-gaming-on-...
Also, there are plenty of Windows-only games that aren't subject to those practices. Free games, itch.io games, GOG games, etc. There's a big world out there!
Those games are generally not AAA by definition, and often either already have a Linux build released, run acceptably under traditional emulation, or both.
Modern C++ with move semantics is a lot more easy to reason about and memory safe than C99, IMO.
Since it's a greenfield project, they didn't have to worry about the nasty baggage of legacy C++ spaghetti that kills most projects.
Just because you prefer "simple" C99 doesn't mean they do :)
I also run Asahi so will have to check this out to compare
About once a decade someone inside of Apple who is really passionate about games pushes some project through - you had GameSprockets in the 90's, you had someone convincing Valve to port Half-Life, you have GamePortingKit now, but it's just not in the companies culture to give game developers the long-term support they need.
https://box86.org/2022/03/box86-box64-vs-qemu-vs-fex-vs-rose...
Which is an attempt to collapse the stack so that fewer translation and virtualisation stages are needed.
Alyssa Rosenzweig
Asahi Lina
chaos_princess
Davide Cavalca
Dougall Johnson
Ella Stanforth
Faith Ekstrand
Janne Grunau
Karol Herbst
marcan
Mary Guillemard
Neal Gompa
Sergio López
TellowKrinkle
Teoh Han Hui
Rob Clark
Ryan HoudekWhat an ingenious idea.