protonscr

Steam Linux Runtime Sniper/Medic installing as -arm64 on x86_64 system

steamopen runtime
ValveSoftware/steam-for-linux#12936 · opened 2026-02-21 by Zed201 · updated 2026-03-01 · 6 comments · github
ZZed201 2026-02-21 github

Your system information

  • Steam Runtime Version: Steam Linux Runtime 3.0 (Sniper)
  • Distribution: Arch Linux x86_64
  • Link to your full system information: https://gist.github.com/Zed201/39ec7d2bfd1e57e68c1f3e8bd85267e1
  • Have you checked for system updates?: Yes
  • What compatibility tool are you using?: Steam Linux Runtime 3.0 (Sniper) / Steam Linux Runtime 4 (Medic)
  • What versions are listed in steamapps/common/SteamLinuxRuntime_sniper/VERSIONS.txt?
# Name            Version               Runtime  Runtime_Version
depot             3.0.20260119.200241            # Overall version number
pressure-vessel   0.20260115.0          scout    # pressure-vessel-bin.tar.gz
scripts           0.20260115.0                   # from steam-runtime-tools
sniper            3.0.20260119.200241   sniper   3.0.20260119.200241

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 -m confirming x86_64, Steam creates folders with the -arm64 suffix. 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:

  1. On Arch Linux x86_64, install "Steam Linux Runtime 3.0 (Sniper)" or "Steam Linux Runtime 4".
  2. Check the steamapps/common/ directory.
  3. Observe that folders are being suffixed with -arm64.

Current directory state:

ls ~/.local/share/Steam/steamapps/common | grep SteamLinuxRuntime
drwxr-xr-x - SteamLinuxRuntime
drwxr-xr-x - SteamLinuxRuntime_4
drwxr-xr-x - SteamLinuxRuntime_sniper-arm64
drwxr-xr-x - SteamLinuxRuntime_soldier

Ssmcv 2026-02-23 github

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).

Ssmcv 2026-02-23 github

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:

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).

Ssmcv 2026-02-23 github

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.

Ssmcv 2026-02-23 github

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:

  • created a new Steam account (never been used) to have a clean slate
  • searched for Endless Sky (app ID 404410), which is the smallest game I know of that uses sniper, and selected to install it

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).

Ssmcv 2026-02-23 github

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.

ZZed201 2026-03-01 github

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.

Image

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.