Bazzite and mesa-git

Hello! Bazzite seems great so far, but one thing that I'm not really sure how to do is, how to use mesa-git. Specifically I'm interested in getting it working with Steam. I'm currently dual booting Fedora 40 KDE, and Bazzite 40 Gnome. On my Fedora install, it's simple enough to enable this repo, then update the system: https://copr.fedorainfracloud.org/coprs/xxmitsu/mesa-git/ - of course, I suppose this will only work with rpm packages, not Flatpak, but on Fedora I'm using the native Steam install so it's fine there. On Bazzite, well, I'm not sure how to proceed here. As far as I understand, there are at least 3 options: 1. I could still figure out how to layer mesa-git, but I'm assuming this is unsupported, could be prone to breakage, and lead to other issues 2. I could just install the flatpak version of Steam and run just Steam with mesa-git. For that, I would basically have to use this I believe: https://gitlab.com/freedesktop-sdk/mesa-git-extension 3. Distrobox container, for example: https://github.com/ublue-os/bazzite-arch - I would run Steam from this and have mesa-git installed on it
GitHub
GitHub - ublue-os/bazzite-arch: A ready-to-game Arch Linux based OC...
A ready-to-game Arch Linux based OCI designed for use exclusively in distrobox. - ublue-os/bazzite-arch
Solution:
Trying to use a different version of mesa will lead to gnome or kde crashing
Jump to solution
35 Replies
RTK | PrussianPrince
RTK | PrussianPrinceโ€ข2mo ago
I'm currently trying to go with option #3 for 2 reasons: learning purposes, and that this is apparently the only "supported way" if I read this correctly. I used this command, and omitted the --nvidia argument since I'm using a 7900 XTX (I assume that argument is only there for people with Nvidia GPUs):
distrobox-create --unshare-netns --image ghcr.io/ublue-os/bazzite-arch-gnome --name bazzite-arch-gnome -Y
distrobox-create --unshare-netns --image ghcr.io/ublue-os/bazzite-arch-gnome --name bazzite-arch-gnome -Y
However, running distrobox-enter -n bazzite-arch-gnome -- ' distrobox-export --app steam' lead to the following output:
Error: crun: executable file ` distrobox-export --app steam` not found in $PATH: No such file or directory: OCI runtime attempted to invoke a command that was not found
Error: crun: executable file ` distrobox-export --app steam` not found in $PATH: No such file or directory: OCI runtime attempted to invoke a command that was not found
I thought initially there was an issue with the extra spaces before distrobox-export so I removed those, but that didn't seem to be the case. Hm... interesting fact though is that doing that command as a separate command, like this:
distrobox-enter bazzite-arch-gnome
distrobox-export --app steam
distrobox-enter bazzite-arch-gnome
distrobox-export --app steam
Lead to the following output:
Application steam successfully exported.
OK!
steam will appear in your applications list in a few seconds.
Application steam successfully exported.
OK!
steam will appear in your applications list in a few seconds.
I can indeed confirm that it showed up in the host. I'm curious why the full command didn't work, though... In addition to this, I now have 2 Steams that show up - would it be advisable to unlayer Steam, now that I have it in distrobox, so that I don't have 2 of them? Additionally, how are the games/settings/etc shared between them? I'm slightly confused how this works, are they entirely separate or does the container use the same folder? I'd assume this command does something of the sort but I don't really understand what it does (and I'm guessing it may not work, like the previous full command that didn't work for me): distrobox-enter -n bazzite-arch -- ' mkdir -p ~/.steam && distrobox-export --bin /usr/bin/steamcmd --export-path ~/.steam && mv ~/.steam/steamcmd ~/.steam/steamcmd.sh' With all of this, there is still the actual mesa-git installation I need to do, and I'm not sure how I should proceed in that regard as I can't say I used Arch for more than an hour or 2 ever - seems like it's something to do with the AUR, and I could build the package but maybe there's an easier way with auto-updates and stuff ๐Ÿ˜… Ok, so, to conclude my questions/issues, since this got longer than expected ๐Ÿ˜…: 1. distrobox-enter -n bazzite-arch-gnome -- ' distrobox-export --app steam' - lead to an error (output above), not sure why this happened. Running the commands separately works. 2. What's the relation of the distrobox (bazzite-arch-gnome for instance) Steam vs native Steam? I'm thinking about "unlayering" (or well, removing the base package more like) the native Steam so I don't have 2 Steams. Do they share the same games/settings/saves/etc, or are they separate? Is this related to distrobox-enter -n bazzite-arch -- ' mkdir -p ~/.steam && distrobox-export --bin /usr/bin/steamcmd --export-path ~/.steam && mv ~/.steam/steamcmd ~/.steam/steamcmd.sh' command somehow (I don't understand what this command does) 3. mesa-git installation that updates using the package manager or some other form of "easy update" by running a command. Since I've barely touched Arch, not sure how I should go about doing this.
asen23
asen23โ€ข2mo ago
topgrade will upgrade all your distrobox automatically dont unlayer steam, it will take more space, just hide the desktop file
RTK | PrussianPrince
RTK | PrussianPrinceโ€ข2mo ago
Ah, interesting, I do notice that ujust update does update distrobox too, pretty cool, thanks.
asen23
asen23โ€ข2mo ago
also if you really want mesa-git in system you probably need to create custom image not that recommended tho
RTK | PrussianPrince
RTK | PrussianPrinceโ€ข2mo ago
You mean edit the desktop file of the native Steam installation and add NoDisplay=true or Hidden=true, or is there some better supported way? I'd assume this may get nuked on some update.
asen23
asen23โ€ข2mo ago
yes, and no, update wont touch your home the original is readonly anyway copy it and add nodisplay
RTK | PrussianPrince
RTK | PrussianPrinceโ€ข2mo ago
I think it's enough just for Steam, Lutris, Bottles or whatever So prob enough in distrobox Alright, I hid the original Steam by copying the desktop file and moving it to ~/.local/share/applications, then adding NoDisplay=true. So one thing's out of the way, thanks ๐Ÿ˜„ Now I guess I have to figure out how to get mesa-git installed in the bazzite-arch-gnome container, and so that it gets updated through ujust update as well. And there's the strange error with the single command above which was fixed with using the commands separately, and still that last command that is longer that I don't really understand what it's supposed to do which I haven't run yet, until I understand. ๐Ÿ˜„ And yeah, to better understand how the Steam stuff is shared between the host and the container (settings, games, etc).
asen23
asen23โ€ข2mo ago
mkdir -p ~/.steam # create .steam folder inside your home
distrobox-export --bin /usr/bin/steamcmd --export-path ~/.steam # export binary /usr/bin/steamcmd to folder you created before
mv ~/.steam/steamcmd ~/.steam/steamcmd.sh # rename the exported file to steamcmd.sh (probably so it recognized as shell script)(?)
mkdir -p ~/.steam # create .steam folder inside your home
distrobox-export --bin /usr/bin/steamcmd --export-path ~/.steam # export binary /usr/bin/steamcmd to folder you created before
mv ~/.steam/steamcmd ~/.steam/steamcmd.sh # rename the exported file to steamcmd.sh (probably so it recognized as shell script)(?)
also you can install mesa-git from aur
RTK | PrussianPrince
RTK | PrussianPrinceโ€ข2mo ago
Yeah that's what I was looking at, but I guess there are multiple ways to go about it and not sure which way would be easily updatable. I'd guess using paru
asen23
asen23โ€ข2mo ago
im not that familiar with arch but i assume aur would be easily updatable using the package manager and topgrade would run it, but you can always ask in bazzite or general there are more expert arch user than me lol
RTK | PrussianPrince
RTK | PrussianPrinceโ€ข2mo ago
Yeah I just did paru mesa-git and am installing it now. I'd assume since I used paru this likely gets updated with ujust update. I'll move to the general chat channel then, ty for your help so far ๐Ÿ˜„
asen23
asen23โ€ข2mo ago
np
RTK | PrussianPrince
RTK | PrussianPrinceโ€ข2mo ago
OK so, to recap: 1. I created a distrobox container following the instructions on https://github.com/ublue-os/bazzite-arch (but I went with the gnome variant, as I'm using bazzite-gnome so thought this would be more compatible?) - admittedly there were some errors and I had to run the commands listed there separately, but it looks like the Steam export worked fine eventually. 2. I installed aur/mesa-git and aur/lib32-mesa-git using paru. I noticed that these don't get updated with ujust update, and I have to do these manually by entering the container and running paru (I suppose it's fine though, as they tend to take a while, so maybe it's a good idea that they don't get auto-updated as well). 3. I hid the original Steam by copying the desktop file and moving it to ~/.local/share/applications, then adding NoDisplay=true. This makes it so I don't see 2 Steam entries in the app launcher - now I only see the one exported from distrobox. If anyone has any useful input to add on top of what I said above, please leave it here. Otherwise, I will mark it as solved because the solution seems good enough to me even though I'm not really understanding some things (like the errors, or the fact that AUR packages don't get auto-updated with ujust update). Thanks again @asen23 ๐Ÿ˜„
antheas
antheasโ€ข2mo ago
Yeah, do not try to run mesa git Why are you trying to run mesa git? Trying to run steam under distrobox is a world of pain
Solution
antheas
antheasโ€ข2mo ago
Trying to use a different version of mesa will lead to gnome or kde crashing
Want results from more Discord servers?
Add your server