🎮 Announcing Steam gaming on Fedora Asahi Remix! 🎮

Get the scoop here: alx.sh/gaming.

... or just fully update your system, then dnf install steam and give it a go!

Don't forget to check out our documentation too.

AAA gaming on Asahi Linux - Asahi Linux

Images for this post may not load due to CDN maintenance on this instance. Please click through to the article to view them. Sorry for the inconvenience!
Note: GNOME installs might fail with a "Failed to mount filesystems" error. To work around it, run sudo hostnamectl hostname YOUR_HOSTAME. This was an issue we noticed at the last minute and didn't quite get the workaround for right. It'll be fixed soon!
@AsahiLinux thanks for the workaround!
@AsahiLinux LESSSS GOOOOO
This has single handedly made my day :)
@AsahiLinux yooo, vulkan for everyone? 

@AsahiLinux yep! godot works now with the Forward+ renderer that uses Vulkan

this is awesome! thanks for your hard work 

@AsahiLinux Awesome work from everybody involved!!

@AsahiLinux
This is awesome!

I didn't see a place to report bugs in the blog post, so sharing this here :)

@ayke This is mentioned in the documentation, it's just a spurious error and should go away if you retry.
Running x86/x86-64 applications on Fedora Asahi Remix

Learn more about Fedora Linux, the Fedora Project & the Fedora Community.

Fedora Docs
@AsahiLinux It doesn't, but I see now there are updates available (even though I just installed them). Will retry with all new updates installed.

@AsahiLinux
Installing all available updates doesn't seem to help. And retrying doesn't help.

I see a bunch of errors like these in the console. I don't know what's going on, but I suspect this is not supposed to happen:

```
glx: failed to create dri3 screen
failed to load driver: asahi
MESA: info: wrong context_type: 2
TU: error: ../src/freedreno/vulkan/tu_knl_drm_virtio.cc:1294: could not get connect vdrm: No such file or directory (VK_ERROR_INCOMPATIBLE_DRIVER)
```

@ayke If you updated your kernel, did you reboot?

@AsahiLinux Yes, I rebooted several times.
I also removed .steam and .local/share/Steam thinking it might be in an invalid state after the update, but that doesn't seem to work either.

Should I restart Steam or should I restart just steamwebhelper? The documentation doesn't clearly say which. (I tried both, neither helps. And after restarting steamwebhelper the whole process seems to get stuck).

@ayke Do you have an existing FEX-Emu config from a previous guide? If so, you need to delete all that, as it will conflict with our setup.

@AsahiLinux
Ah yes that was it! I renamed .fex-emu to .fex-emu.bak and it got Steam to run :D

I don't remember configuring it much, but I do remember playing around with FEX in the past (to try and get the Saleae Logic software to work).

@AsahiLinux this is really amazing, it is a huge advantage over MacOS, not just for maybe people who rely on some recent graphics APIs or Linux tools, but people who play video games, which are so many.
This might be like what the steam deck moment was for general Linux gaming, but now it is the Linux superiority on Macbook moment!
Also I wonder if Valve will be interested in this...
@lw64 @AsahiLinux I've heard rumors that Valve is working on an ARM64 system, so yeah I suspect they are :)
@ayke @AsahiLinux I think that work is probably targeting a new valve device though
@lw64 yes, but the work done for Asahi Linux (FEX etc) will probably help :)
@ayke actually I think valve might even have been looking into fex earlier than asahi. Anyways the x86 emulation layer existed before, so both projects probably only made minor adjusments, if at all.
@lw64 @AsahiLinux for games this is kinda possible on macOS too, due to gameportingkit + whiskyapp (an app that combines gameportingtoolkit with proton or whatever else needed) more lacking on macOS imho is f e using part of the gpu from a container.

@AsahiLinux I'm getting strange error that complains about no network connection when I'm fully connected to the internet. Weird...

EDIT: Seems like resolv.conf is empty inside muvm and this causes the problem. Why is this happening?

@noahimesaka1873 @AsahiLinux probably a missing dependency in one of the packages (muvm). if it is not installed install dhcp-client

the package should be foxed tomorrow

@janne @AsahiLinux It was actually dhcpcd issue. I had to swap my DHCP client to dhclient to make it work. See GH issue for details.
@AsahiLinux truly incredible stuff! I'm having trouble finding the words to express how cool this is. Love seeing just how far the M1 architecture can go.
@AsahiLinux muvm still doesn't start with "failed to move_mount tmp to etc" error.
Maybe some update still hasn't hit the mirror I'm downloading from? 🤔
@sesivany @AsahiLinux Using gnome? probably missing /etc/hostname (this is a long standing gnome initial setup bug, see https://pagure.io/fedora-asahi/remix-bugs/issue/11 )
we tried to work around this, ended with 2 fixes and unfortunately failed to verify that the end result works
Issue #11: Gnome install finishes without setting a hostname - remix-bugs - Pagure.io

@AsahiLinux Amazing! But my powerful MBP runs macOS... how much more effort to make all that work when running in a VM? :)

@ross macOS does not support GPU passthrough equivalent to our native context passthrough, so this is not possible. VMs on macOS are limited to high-level Metal passthrough at most, which comes with all the same limitations and graphics driver bugs as native gaming directly on macOS.

You need to run Linux natively 😉

@AsahiLinux Damnit macOS! Steam on macOS is just such a disappointment and I keep on hoping that the 0.0% of users still using Steam on macOS will convince Valve to officially support Proton on it.
@ross @AsahiLinux why would you do that? Use whiskyapp for that
@ross @AsahiLinux I mean sure it has issues, but either install Linux or use more native solutions before you do anything with a vm. https://getwhisky.app/
Whisky - A modern Wine wrapper for macOS built with SwiftUI

Run the latest DirectX 12 titles effortlessly on your Mac with Whisky!

@fl0_id @AsahiLinux Ooooooh hadn't seen that before, will try thanks.
@ross @AsahiLinux happy to help. Sorry if my reply was a bit curt
@AsahiLinux Congrats on the incredible work!
@AsahiLinux this is incredible work! Where should I report issues? Currently have one where every 20-30 mins steam will abruptly close entirely including the terminal window if I run through there. Thinking it might be the memory manager killing it?

@pyxlwuff That looks like an OOM issue, yes. Please remember that 8GB machines are not really supported for gaming, you really want to have 16GB or more.

You can report bugs related to the Remix integration in general here: https://pagure.io/fedora-asahi/remix-bugs/issues

Or if you think it's specifically related to muvm, here: https://github.com/AsahiLinux/muvm/issues

Issues - fedora-asahi/remix-bugs - Pagure.io

@AsahiLinux Yeah this is on a 16GB M1 Pro machine. I’m noticing the memory usage seems to slowly creep up during my game download as well

@pyxlwuff That's probably expected due to page cache RAM usage on the guest. By default muvm allocates up to 80% of the host memory, so if you're using more than 20% on host-side apps then you'll probably OOM sooner or later. You can control this with muvm --mem=X.

This will be improved once we enable virtiofs DAX later on, since that makes the guest and host share the filesystem cache pages, so guest RAM usage should largely be true RAM usage.

@AsahiLinux I'd be eager to install Asahi for my leisure time Mac mini but not sure how huge dance it is as of today to get it on external drive. I have one of those docks that stack nicely and has M.2 slot :-)
@jarkko Apple Silicon platforms do not support USB boot at all, so you would have to install just the boot components on the internal SSD and then manually install the filesystems on an external drive. We don't have a supported process for this at the moment, sorry!
@AsahiLinux OK I thanks for detailed info!

And relocating home partition to the external is not actually such a bad workaround so putting that into consideration :-) That's anyway were the space is mostly consumed in a desktop.
@jarkko You can also just move and symlinks the steam or steamapps folder to external if game storage is the primary issue! That's how a lot of us run it 😉
@AsahiLinux ya for me it's the gits that eat all the space (and builds from them) :-) so full home migration is better idea (and not that difficult to implement).
@AsahiLinux that said i will definitely give a shot also to steam as there is no macOS version of xenonauts 2. amazing work, thanks!
@AsahiLinux holy shit this is awesome! good work everyone who contributed!

@AsahiLinux congrats to the team, looks awesome!

Love your blogging style as well @alyssa, great balance of technical, explained well, and fun.
https://asahilinux.org/2024/10/aaa-gaming-on-asahi-linux/

AAA gaming on Asahi Linux - Asahi Linux

@AsahiLinux wow! Genuinely amazing engineering, love what you folks have done!
Has anyone tried Steam VR yet?
@tenfourty VR requires quite specific hardware support so that's a whole can of worms on its own!
@AsahiLinux thanks, I’m super grateful for the work that has gone into this project already, it’s truly amazing!

Congrats @AsahiLinux \o/ 🎉

Alyssa Rosenzweig's gave a talk at #XDC2024 about this work today. Roughly 20 minutes into the stream: https://www.youtube.com/watch?v=pDsksRBLXPk

XDC 2024 - Day 2 - October 10, 2024

YouTube
@AsahiLinux This is really impressive work. Congratulations!

@AsahiLinux For some reason with this fedora update, vkcube-wayland is now hanging (not displaying anything either) and wgpu-based programs crash on startup:

Error in Surface::configure: Validation Error

Caused by:
Requested present mode Fifo is not in the list of supported present modes: []

Any ideas?

@theoparis You might need to reboot after updates, particularly if the kernel was updated.

@AsahiLinux is USB device passthrough something that might work in the future? I have use some proprietary applications (Saleae Logic and nRF Connect) that need USB access to some special hardware, but sadly the only Linux variant is x86-64 for both applications.

I know it's very much at the bottom of the priority list, just wondering whether this is something that could work at all with the current architecture (inside a VM and all).