this post was submitted on 22 Sep 2024
76 points (97.5% liked)

Linux Gaming

15095 readers
128 users here now

Discussions and news about gaming on the GNU/Linux family of operating systems (including the Steam Deck). Potentially a $HOME away from home for disgruntled /r/linux_gaming denizens of the redditarian demesne.

This page can be subscribed to via RSS.

Original /r/linux_gaming pengwing by uoou.

Resources

WWW:

Discord:

IRC:

Matrix:

Telegram:

founded 1 year ago
MODERATORS
 

Almost every distro I've used so far ends up having problems installing Steam due to mismatching i386 packages. I've heard that they're being removed upstream. Anyone happen to know a timeline?

top 32 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 3 weeks ago

About the same time we get Steam with Wayland support:

"When the sun rises in the West and sets in the East. When the seas go dry and mountains blow in the wind like leaves."

[–] [email protected] 9 points 3 weeks ago (2 children)

Part of the problem is, sure, that installing an entire arch for a package touches up a lot of stuff... What I did was I set up a debootstrap schroot and added i386 arch to that so that neither they nor Steam touch my main system. Not only did I never have problems with Steam again, but I actually resumed pretty much from what I was when I got a new machine, simply by copying the schroot files over. Didn't even have to install anything (but the schroot serve on my new system itself).

[–] [email protected] 0 points 3 weeks ago (1 children)

Have you tried our saviour nixos? Its pretty hot, was very very easy to install and configure.

[–] [email protected] 1 points 3 weeks ago (1 children)

Tried Nix once, I liked it but overall found it too complicated to setup and manage for the [counts fingers] three programs I was using it for. Might be worth the while if I need a larger library of programs from Outside, but so far Debian and AppImages have not failed me.

[–] [email protected] 1 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

overall found it too complicated

If your used to shell it's really set and forget and a simple install would be very easy to configure. Best part being if you need to reinstall (highly unlikely for nixos being how easy it is to change OS config back) but it saves you an enormous amount of time on your subsequent installs/reinstalls. Anyway, getting preachy.

Its not just a much larger repo but also much more fresh, additionally can be used on any distro really

[–] [email protected] 2 points 3 weeks ago (1 children)

Oh no by all means do preach. I was just about doing the same about schroot. :p

And, like I said, it's not that I don't like it. It was just too much for the rather small usecase I had back at the time. I'm pretty sure if at some point I move to a distro less featured than Debian Sid I'm gonna have to pay more attention to Flatpak and Nix again.

[–] [email protected] 1 points 3 weeks ago

Debian branch will always have a special place for me as well.

Vimjoyer on youtube has some great resources for getting started in nix if you feel like dipping your toe.

[–] [email protected] 3 points 3 weeks ago (1 children)

This sounds like a good solution. Can you share how you did it?

[–] [email protected] 3 points 3 weeks ago

I basically took the general idea from this Ubuntu doc and made som changes. After installing debootstrap, I followed these general steps:

  • set up an user for Steam, with adduser steam.
  • created a directory to host the "virtual machine" at /var/lib/chroot/steam64.
  • used the page linked above to create a schroot profile directory with the chroot data I want.
  • used the page linked above to create a schroot profile entry for the chroot, adding steam as one of its allowed users.
  • set up an Ubuntu 18.04 schroot with the following command: debootstrap --variant=buildd bionic /var/lib/chroot/steam64 http://archive.ubuntu.com/ubuntu/
  • on the host, allowed cross-"host" applications to lauch windows with xhost +local:.
  • once completed, entered the schroot as root and added the needed i386 arch and packages for Steam and for bubblewrap / Chrome containerization.
  • still in the schroot as root, installed enough packages for a basic graphical environment (basically: a text editor, xnest and xterm; between their dependencies, they'll take care of most of everything).
  • exited the schroot.
  • entered the schroot as steam and fired up the Steam launcher manually.

It's not perfect, there are a few issues (in particular with audio) but once I had the installed schroot ready, I never had to worry about its 32-bit packages ever again. And that was back in.... like, 2019 or something. Six months ago I copied to old schroot to my new machine and resumed playing, with no more cost than having to set up the schroot packages and the steam user (with the same old UID) on the new machine.

Here's a sample of the schroot profile file I'm using. The "steam64.local" is the profile directory, which is basically a copy of schroot/buildd (or of schroot/minbase) with some configurations in fstab and copyfiles to account for eg.: isolating /var/run and dbus, and giving the schroot access to the home directory for the steam user.

[–] [email protected] 24 points 3 weeks ago (2 children)

I use the Steam flatpak. The nice thing about that is that 32bit libraries aren’t installed on the host system.

[–] [email protected] 1 points 3 weeks ago (2 children)

Only reason I haven't done that is because of VR. Not sure if VR works through flatpak.

[–] [email protected] 2 points 3 weeks ago (2 children)

SteamVR works on Linux? What headset, if I may ask?

[–] [email protected] 2 points 3 weeks ago

Can report that ALVR with a Quest 2 works great.

[–] [email protected] 2 points 3 weeks ago (2 children)

Works perfectly fine, actually. I have a Valve Index. The only headsets with Linux support are the one I have, the HTC Vive and standalone headsets that work with ALVR (e.g. the Quest ones).

[–] [email protected] 1 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

Anything special you needed to do? I have the HTC Vive, and I've tried a few times over the years, without any success. Last time was about 2-3 years ago.

[–] [email protected] 1 points 3 weeks ago* (last edited 3 weeks ago)

It should just work. You install SteamVR through Steam, start it and it should detect the headset.

Here are a few ideas on what could have gone wrong:

  • Steam is installed as a flatpak
    • Doesn't work out of the box but I think it's also in this thread where I asked how to make that work
  • You use GNOME
    • Currently, VR works on KDE in X11 and Wayland but in GNOME only in X11. GNOME 47 (The next update, some people might already have it depending on the distro) adds support for VR in Wayland tho

These are the 2 things I could think of off the the top of my head. If you know what exactly didn't work I might be able to help you.

Edit: Forgot to add, you also need to install CoreCTRL and use it to set the GPU to high, otherwise performance is gonna be shit.

[–] [email protected] 1 points 3 weeks ago (1 children)

Weird, it had crazy lag for me. I will have to try again.

[–] [email protected] 2 points 3 weeks ago (1 children)

There's a weird issue with VR on Linux where it doesn't use the right GPU profile for some reason. A pretty easy workaround for that is to use CoreCTRL to manually set the GPU profile to high.

[–] [email protected] 1 points 3 weeks ago

Awesome, I will give that a try. Thank you very much.

[–] [email protected] 2 points 3 weeks ago (1 children)

Not out of the box, but you can make it work.

[–] [email protected] 1 points 3 weeks ago (1 children)

I'd be down to set that up. I thought VR just flat out doesn't work with flatpak. Do you know where I can find out how to set it up?

[–] [email protected] 2 points 3 weeks ago* (last edited 3 weeks ago)

This GitHub comment has the command to give Steam the permission it needs for VR.

https://github.com/flathub/com.valvesoftware.Steam/issues/898#issue-1222145279

[–] [email protected] 3 points 3 weeks ago

That's what I've resorted to but it's not working as well as the apt package. Freezes often, cloud sync breaks repeatedly.

[–] [email protected] 1 points 3 weeks ago

Aren't they needed to run all the 32-bit games that are on Steam?

[–] [email protected] 2 points 3 weeks ago* (last edited 3 weeks ago)

Isn't it a regression? I cannot upgrade Debian unstable, either, at the moment. Last time when LLVM had a major upgrade, it took weeks until it was fixed.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1082495

[–] [email protected] 59 points 3 weeks ago (2 children)

i could be wrong but my understanding it's still 32 bit because of game compatability with older steam games and since the app itself is only a limited web browser and library. It doesn't need that much memory. So the compatibility wins out for as long as it can.

[–] [email protected] 14 points 3 weeks ago (2 children)

Steam itself doesn't run the games, right? Couldn't they easily build a small 32 bit launcher for the older games that need it?

[–] [email protected] 2 points 3 weeks ago

Steam runtime includes a lot of common static libraries that most games expect to be there. This means that older games will still work even though the wider OS might not have 32bit libs present.

[–] [email protected] 13 points 3 weeks ago* (last edited 3 weeks ago)

You can start steam just fine without the packages. In fact, if you install without them, it'll ask you to install them every time, but you can skip that and it'll work, just 32bit games won't launch

Edit: Looks like I'm partially wrong, as pointed out by a commenter below, steam currently only launches the 32-bit version of the client, despite support for a 5l64-bit client

[–] [email protected] 2 points 3 weeks ago (1 children)

Wine can run 32 bit games with WOW64 without the 32 bit libraries

[–] [email protected] 2 points 3 weeks ago

I'm not talking windows games I'm talking about Linux games

[–] [email protected] 27 points 3 weeks ago* (last edited 3 weeks ago)

I'm not sure what you're referring to.

Steam itself is only available as a 32-bit binary, if I remember correctly.

checks

Yeah, on my system, looks like a 32-bit binary.

If Steam runs a game, which can be either 32-bit or 64-bit, I believe you need to have libraries for the corresponding architecture for stuff that isn't in the Steam Ubuntu-based collection of libraries, the stuff in ~/.steam/steam/ubuntu12*. If you're running a 64-bit binary, you need 64-bit libraries, and for a 32-bit binary, you need 32-bit libraries.

I have GPU libraries for both architectures installed on my Debian system, like libdrm-amdgpu1:amd64 and libdrm-amdgpu1:i386, with multiarch.