Steam Linux Runtime 4 (Medic)
As a note, you're not using medic, because we discontinued that without ever releasing it to the public. medic (based on Debian 12) was superseded by steamrt4 (based on Debian 13).
If the Steam client is installing the wrong thing, that would be more of a Steam client problem than a Steam Runtime problem: the Steam Runtime has no control over what you install, and is only responsible for working correctly after it has been installed. So this issue should probably be moved to https://github.com/ValveSoftware/steam-for-linux if it can be confirmed. — now done
cc @TTimo - could this have been related to the newer runtimes having their installation directory renamed to eliminate spaces, perhaps?
On an Arch Linux x86_64 system, Steam is incorrectly identifying the architecture and downloading ARM64 depots for the Steam Linux Runtimes.
What did you do, ask for, or install, to get these to be downloaded? Are you sure you didn't somehow install the wrong app-ID?
I didn't think the arm64 depots were actually meant to be available to the public yet, although there's nothing particularly secret about them, and their content has been available outside Steampipe from https://repo.steampowered.com/steamrt3/images/ and https://repo.steampowered.com/steamrt4/images/ for a while.
SLR 3.0 for x86 and SLR 3.0 for arm64 are technically two separate Steampipe apps, and it is technically possible to install neither, either or both of them, on any hardware, whether x86 or arm64. In practice installing the arm64 version on x86 hardware is basically useless, but the x86 version needs to be available on arm64 hardware for CPU-emulation-related reasons.
The complete range of SLR versions is:
steamapps/common/SteamLinuxRuntimesteamapps/common/SteamLinuxRuntime_soldiersteamapps/common/SteamLinuxRuntime_snipersteamapps/common/SteamLinuxRuntime_sniper-arm64steamapps/common/SteamLinuxRuntime_4steamapps/common/SteamLinuxRuntime_sniper-arm64
drwxr-xr-x - SteamLinuxRuntime_sniper-arm64
Is this really the arm64 runtime, or is it the x86 runtime? From the directory name, I would expect arm64.
A good way to find out which one you have is that the x86 runtimes all contain *_platform_*/files/lib/x86_64-linux-gnu and *_platform_*/files/lib/i386-linux-gnu, but the arm64 runtimes contain *_platform_*/files/lib/aarch64-linux-gnu instead. (The parts that I've replaced with * depend on the version.)
My best guess at what has happened there would be that you have somehow installed app 3810310 instead of the intended app 1628350?
drwxr-xr-x - SteamLinuxRuntime_4
Similarly, is this really the arm64 runtime, or is it the x86 runtime? This time, from the directory name, I would expect x86 (unless you copy/pasted the directory name incorrectly).
external launchers like Heroic Games Launcher, which cannot find the expected x86_64 paths
Valve doesn't provide support for these third-party tools, but if they're borrowing Steam's container runtimes, then they're correct to expect that steamrt/common/SteamLinuxRuntime_{soldier,sniper,4} will be the ones to use for x86 games.
this issue should probably be moved to https://github.com/ValveSoftware/steam-for-linux
(has now been done)
I tried to reproduce this in a repeatable way, using an Ubuntu 24.04 live image (working around https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/2065088 along the way):
$ wget https://repo.steampowered.com/steam/archive/stable/steam_latest.deb
$ sudo dpkg -i steam_latest.deb
$ sudo apt -f install
$ echo 0 | sudo tee /proc/sys/kernel/apparmor_restrict_unprivileged_userns
$ steam
then:
I couldn't reproduce the reported issue. I get a ~/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper directory, which contains *_platform_*/files/lib/x86_64-linux-gnu as expected.
If I change the filter in my Library from "Games" to "Games"/"Tools" and search for steam linux runtime, I see the four x86 runtimes SLR 1.0, 2.0, 3.0 and 4.0. I don't see either of the two arm64 runtimes that are (partially) visible on SteamDB.
After choosing to install SLR 4.0 (which is not actually used for anything, yet), I get a ~/.local/share/Steam/steamapps/common/SteamLinuxRuntime_4 directory, which contains *_platform_*/files/lib/x86_64-linux-gnu as expected.
ls ~/.local/share/Steam/steamapps/appmanifest*.acf confirms that I have app-IDs 404410 (Endless Sky), 1628350 (SLR 3.0 for x86) and 4183110 (SLR 4.0 for x86).
I didn't think the arm64 depots were actually meant to be available to the public yet
I tried steam steam://install/3810310 in the same environment, and got error "No licenses", which seems correct for runtimes that aren't available yet.
It really is a naming issue (I didn’t notice it at the time because I was already quite tired from trying to fix it), but when using fzf inside the directory I found files that seem to be related to x86.
At that moment, what I was basically doing was deleting the folder, going to Sniper’s page on Steam, and clicking Verify integrity. Steam would download the files again, but into a folder named *arm64.
I’ve now repeated the process using steam://install/3810310 and received the same message again. After that, I tried installing via the console using app_install 1628350, and once more I ran into the same naming error.
This really does seem to be a client-side issue. Sorry for reporting this under runtime, but I’m attaching a video below that shows the problem happening.
https://github.com/user-attachments/assets/3dc22a68-6e80-42ca-88f9-bac4009cfbd2
Nothing extracted yet.
Your system information
steamapps/common/SteamLinuxRuntime_sniper/VERSIONS.txt?Please describe your issue in as much detail as possible:
On an Arch Linux x86_64 system, Steam is incorrectly identifying the architecture and downloading ARM64 depots for the Steam Linux Runtimes.
Despite
uname -mconfirmingx86_64, Steam creates folders with the-arm64suffix. I attempted to install Steam Linux Runtime 4 (Medic) to see if it would correct the behavior, but the issue persists across different runtime versions.This makes the runtimes unusable for both Steam (due to architecture mismatch during execution/driver query) and external launchers like Heroic Games Launcher, which cannot find the expected x86_64 paths.
Steps for reproducing this issue:
steamapps/common/directory.-arm64.Current directory state: