No reason to use it outside of a Steam Deck IMO. Compared to other immutable distros, SteamOS makes things pretty difficult if the thing you’re trying to run isn’t on Steam, Flathub or AppImage. Can’t just layer. Have to set up stuff like Nix yourself. Distro doesn’t come with gcc/make/cmake, so good luck building from source if you ever need to. It’s fine for a handheld PC, but as a power user I would never want it on my desktop. Not to mention the whole Gaming Mode/Big Picture GUI is just very limited and you have to constantly work around its limitations if you want to use it for anything other than Steam games.
I had an instance of SteamOS making things unnecessarily difficult yesterday. I wanted to use a Pokemon Ultra Sun/Ultra Moon HD texture pack for Citra. However, about a year ago there was a major rewrite of Citra’s texture pack code which broke a few older texture packs, including that one. The author recommended using Nightly 1880 at the latest for the texture pack to work correctly. However, last month, the Github repository for Citra was taken down and all of the old prebuilt binaries went down with it. Many mirrors of the repository exist, but they at best only offer the last nightly for download. On any normal Linux distro, this would be a trivial problem to solve. Clone one of the many mirrors of the Citra repository, rollback to whichever commit corresponds to Nightly 1880 and compile. Can easily be done in ten minutes. But on SteamOS, you can’t do that. What I had to do instead was going to the old Citra Github repository through archive.org and somehow finding an archived download for the latest Linux build of Citra released before 1880. This took a while, but I was eventually able to find a download for Nightly 1816, which I deemed close enough. Great. Except it didn’t launch. Because it was linking to some shared objects SteamOS did not have.
So I had to go to the Debian website and download deb files for Debian Buster that included the so files Citra wanted. I unpacked the debs into the Citra directory and created a shell script that simply launched Citra with LD_LIBRARY_PATH pointing to the libraries I’d downloaded. I had to to get at least a dozen libraries from Debian before Citra finally stopped complaining about missing so files and successfully launched. Then I had to reconfigure this second Citra build to match my preferences and transfer my Ultra Sun save file to it. I also had to change my Steam library entry for Ultra Sun to point to the shell script. Oh and I obviously also had to install the texture pack. And then I finally had the texture pack working. After hours of work. When it would’ve taken twenty minutes at worst on any other distro. Yeah, in retrospect, fuck SteamOS.
I’m already using the actual successor to Citra from here for my other 3DS emulation needs. I needed an old build of Citra from before the texture pack rewrite for the texture pack to work, using some meme fork based on the last Citra commit obviously wasn’t going to be the solution.
No reason to use it outside of a Steam Deck IMO. Compared to other immutable distros, SteamOS makes things pretty difficult if the thing you’re trying to run isn’t on Steam, Flathub or AppImage. Can’t just layer. Have to set up stuff like Nix yourself. Distro doesn’t come with gcc/make/cmake, so good luck building from source if you ever need to. It’s fine for a handheld PC, but as a power user I would never want it on my desktop. Not to mention the whole Gaming Mode/Big Picture GUI is just very limited and you have to constantly work around its limitations if you want to use it for anything other than Steam games.
I had an instance of SteamOS making things unnecessarily difficult yesterday. I wanted to use a Pokemon Ultra Sun/Ultra Moon HD texture pack for Citra. However, about a year ago there was a major rewrite of Citra’s texture pack code which broke a few older texture packs, including that one. The author recommended using Nightly 1880 at the latest for the texture pack to work correctly. However, last month, the Github repository for Citra was taken down and all of the old prebuilt binaries went down with it. Many mirrors of the repository exist, but they at best only offer the last nightly for download. On any normal Linux distro, this would be a trivial problem to solve. Clone one of the many mirrors of the Citra repository, rollback to whichever commit corresponds to Nightly 1880 and compile. Can easily be done in ten minutes. But on SteamOS, you can’t do that. What I had to do instead was going to the old Citra Github repository through archive.org and somehow finding an archived download for the latest Linux build of Citra released before 1880. This took a while, but I was eventually able to find a download for Nightly 1816, which I deemed close enough. Great. Except it didn’t launch. Because it was linking to some shared objects SteamOS did not have.
So I had to go to the Debian website and download deb files for Debian Buster that included the so files Citra wanted. I unpacked the debs into the Citra directory and created a shell script that simply launched Citra with LD_LIBRARY_PATH pointing to the libraries I’d downloaded. I had to to get at least a dozen libraries from Debian before Citra finally stopped complaining about missing so files and successfully launched. Then I had to reconfigure this second Citra build to match my preferences and transfer my Ultra Sun save file to it. I also had to change my Steam library entry for Ultra Sun to point to the shell script. Oh and I obviously also had to install the texture pack. And then I finally had the texture pack working. After hours of work. When it would’ve taken twenty minutes at worst on any other distro. Yeah, in retrospect, fuck SteamOS.
Citra is dead these twos are sucessors https://github.com/Lemonade-emu/Lemonade https://github.com/Lime3DS/Lime3DS
I’m already using the actual successor to Citra from here for my other 3DS emulation needs. I needed an old build of Citra from before the texture pack rewrite for the texture pack to work, using some meme fork based on the last Citra commit obviously wasn’t going to be the solution.