- cross-posted to:
- apple_enthusiast
is linux already better for gaming on macs than macos?
Sure looks like it
As an actual M1+Asahi user and a gamer: Asahi is not there yet. Right now, if you’re on macOS, Crossover (or Porting Kit) and/or Parallels is able to run more games and with better performance compared to Asahi (using krun + FEX). Also, Steam on macOS (non-native) is much more peformant compared to Asahi, where it’s currently slow and glitchy.
But that will all change in the future once the Vulkan driver and TSO patches are ready. FEX is also seeing a lot of improvements, so by the end of the year, there’s a good chance that gaming on Asahi would be much better than macOS.
I’d argue that it may come to that, given the poor availability of (steam) games for the macos platform. And when it is available, you may end up with a disclaimer that it may not run anyway.
You’ve gotten a lot of answers (mostly no), but I will say Minecraft runs better on Linux on Mac than MacOS on Mac!
You can use Whisky which is a convenient wrapper for WINE to run the Windows version of Steam. Simple games like Dredge work flawlessly on my M1 but anything used for benchmarking FPS is unacceptably slow. Translation of Intel code is the biggest issue. I assume Asahi has the same limitations as Mac OS but it is impressive what they’ve been able to do.
There’s a native Linux version of Steam (at least for Ubuntu / Mint) that works great. It also uses a proprietary Wine wrapper called Proton, that’s pre-configured for all your Steam Library games.
Native in this case means processor architecture, not OS. The Linux Steam is still x86/x86_64 code and to run it on an ARM system (even running Linux) will require an emulation layer. This adds substantial amounts of overhead, much more than Wine/Proton does for Windows games on Linux.
Sorry I was very unclear. Whisky is an app for MacOS. I’ve used Steam on Ubuntu as well and it works OK but sometimes is a pain to find a version of proton that works for a given game.
No Vulkan and just WineD3D on OpenGL makes it hard to consider good. Might be pretty good after they find a way to run Vulkan on it, which might be tricky given how the hardware was explicitly designed to run just the proprietary Metal API.
A vulkan driver already exists and has made progress, it just needs some more time.
I’ve heard something about Apple Silicon GPUs being tile-based and not immediate mode, which means the Vulkan API is different compared to regular PCs. How has this been addressed in the Vulkan driver?
The blog has multiple progress posts https://asahilinux.org/blog/
I’ll admit im not an expert but shes not brought up tiling at all as a problem.
Yeah, in a Reddit comment, Hector Martin himself said that the memory bandwidth on the Apple SIlicon GPU is so big that any potential performance problems due to TBDR vs IMR are basically insignificant.
…which is a funny fact because I had another Reddit user swear up and down that TBDR was a big problem and that’s why Apple decided not to support Vulkan and instead is forcing everyone to go Metal.
I’m still in shock how quickly they have progressed.
So how does that work given that most Steam games are x86/x64 and the M2 is an ARM processor? Does it emulate an x86 CPU? Isn’t that slow, given that it’s an entirely different architecture, or is there some kind of secret sauce?
Emulation.
Definitely going to incur a performance hit relative to native code, but in principle it could be perfectly good. It’s not like the GPU is running x86 code in the first place. On macOS, Apple provides Rosetta to run x86 Mac apps, and it’s very, very good. Not sure how FEX compares.
Virtualization actually, dont know why though
Thanks. That answers the part I couldn’t.
So it’s using Virtualization for the x86_64 bits, while the DirectX11 bits are being translated by WineD3D into OpenGL as normal and the Asahi Linux OpenGL driver executes that on the GPU.
Edit : I asked about it at the start of her steam apparently, the real Asahi driver is directly interacting with the with the game running in the VM.
I thought FEX was dealing with the x86_64 translation and the VM was converting 4K to 16K page sizes
It’s a bit hard to understand what she was saying because she likes super low level, even for me. But she’s was talking about how the VM is created & then the driver gets mapped directly into the VM. It’s a really interesting concept.
I’ll have to go back when the steam ends and pay closer attention to further grasp it.It really is cool, miniature VMs are such a good concept for security like QubesOS but actually possible.
ChromeOSs Linux VM is also crazy. It is a VM, running a container image. Actually is that krun?? It seems similar.
Then the stuff is streamed to the wayland compositor and displayed like regular windows.
Such a cool, secure and minimalist concept.
Speak of containers, you just reminded me of Waydroid, such a cool underrated project.
All this stuff is really really cool. Anything that allows running software from completely different OS’s and Architectures are just a wonder and they help with software preservation which is very important to me.
Why not click the link and find out? It’s literally a Mastodon post, you don’t even have to read much.
The post doesn’t answer the questions, it’s why I asked.
It says:
All running on a krun microVM with FEX and full TSO support 💪
I was not expecting Party Animals to run! That’s a DX11 game, running with the classic WineD3D on our OpenGL 4.6 driver!
Now I know some of these words, but it does not answer my question.
To answer your question, I’m sure for the x86_64(not separate things btw) specific code it might use some sort of emulator or a translation layer. Idk WTF “microVM with FEX” is, maybe that’s it?
But for the DX11 part, that’s just the normal DirectX to Vulkan/OpenGL translation layer e.g. WineD3D.
There’s actually nothing that special about DirectX on ARM, it’s the same API. The translation layer just takes those API calls from DirectX11 and translates them to the equivalent in OpenGL, and then the Asahi Linux OpenGL driver takes of actually executing those commands on the GPU.You asked how it works, the post states how it works. You also asked if it’s slow, which is clearly answered in the post (though you didn’t quote that part). You also asked if there’s some “secret sauce” allowing it to be fast, which is also a weird question since everything used is listed in the post.
If something wasn’t clear to you, why not specifically ask about it? Even in this comment, you still don’t specify what you don’t understand. What kind of answer are you expecting to get?
deleted by creator
You can Google the words you don’t know, and find out that it does in fact answer your question.
Yeah god forbid people have some interesting discussion on this platform, right?
Just to offer some support, you’re right and those are good questions
She’s the GOAT
I’ve always thought GOAT stands for Gentleman Of All Trades. I make a wild guess it’s Girl Of All Trades in this case?
Always thought it was “Greatest of all time”
Yeah, that’s what I meant too.
The Gods be damned it can run Crysis
I have no idea what asahi linux is and at that point I am to afraid to ask
Fedora linux distribution for apple silicon (M series) computers
With added firmware/drivers for better hardware compatibility
Yeah, I think my comment really undersold the work that the Asahi team has been doing
Asahi means “rising sun” in Japanese, and it is also the name of an apple cultivar. 旭りんご (asahi ringo) is what we know as the McIntosh Apple, the apple variety that gave the Mac its name.
If you’re thinking what I’m thinking, it doesn’t seem to have anything to do with beer.
Isn’t it cause its the handle of the main dev?
Or Let Me Duck That For You for added snarkiness
TIL: that exists.
Linux distro for apple ARM devices with reverse engineered drivers.
No Doom?
Since you asked…
Now it’s complete! No party without Doom. ^^
The Asahi team never fails to impress. You can support the project at their Patreon. You don’t need to care about Apple hardware to see the value in the work they’re doing getting ported over to ARM PCs. Who knows? You might be donating to the health of your preferred distro on a device you will own down the road.
Btw the “official COPR” for
krun
on Fedora seems unmaintained, but there is a new one with recent builds.