Skip to content

Steam ARM 2.2

Choose a tag to compare

@Scrumpper Scrumpper released this 07 Oct 01:26
· 6 commits to main since this release
23a0557

Steam ARM 2.2

Added support for Debian 13 and Raspberry Pi OS

sudo bash steam-arm-install.sh             # settings menu: Install / Setup
sudo bash steam-arm-install.sh --defaults  # recommended components, no questions
bash steam-arm-install.sh --detect         # GPU family and defaults, installs nothing

Upgrades 2.1 and 2.0 in place: client, game library, sign-in, component choices and title
profiles are kept (sudo bash steam-arm-install.sh --keep repeats earlier choices).

Assets

File What it is
Steam.ARM.2.2.zip Installer steam-arm-install.sh (settings menu steam-arm-config included) and documents
Steam.ARM.2.2.zip.sha256 SHA-256 of zip
README.md, CHANGELOG.md, COMPATIBILITY.md, GAMES.md Documents, also inside zip
steam-arm-fex-mesa-26.1.8-x86_64-i386.tar.zst, .sha256 Driver archive for gpu-in-emulation, unchanged from 2.0, and its SHA-256

Installer downloads driver archive from 2.0 release
(steam-arm-fex-mesa-26.1.8-x86_64-i386.tar.zst);
when that address fails, it tries same file name under releases/latest/download, which
this release serves. Both copies have same SHA-256, which installer checks.

New in 2.2

  • Debian 13 and Raspberry Pi OS. Outside Ubuntu family, setup writes FEX's PPA as apt
    source /etc/apt/sources.list.d/steam-arm-fex.sources with Ubuntu series matching Debian
    release (Debian 13: noble) and signing key /etc/apt/keyrings/steam-arm-fex.gpg, checked
    against pinned fingerprint. Earlier FEX source naming Debian release is renamed to
    .disabled. --remove deletes both files once no FEX build is installed. Ubuntu path
    unchanged.
  • Host package check first. Before any package or package source change, setup reads
    apt-cache policy and stops naming missing packages and minimum releases: Ubuntu 25.10,
    Debian 13. Ubuntu 24.04, Debian 12 and older have no SDL3 packages.
  • FEX from other sources. With FEX command not owned by fex-emu package and its x86
    binfmt entries registered, setup installs no FEX packages. Thunk folders come from FEX's
    own prefix (/usr or /usr/local); GL and Vulkan thunks turn off with warning when none
    is complete.
  • Close Steam in settings menu. Screens that need Steam closed (Install / Setup,
    Components, Controllers, Update / Repair, Uninstall, Remote Play, Restore settings) offer
    Close Steam, which runs steam-arm --shutdown; refused while game runs.
  • Tray menu. Open in Big Picture, Settings and View log entries. Stop runs
    steam-arm --shutdown; Stop and entries that restart client are greyed while game runs.
    Autostart entry names no desktops, so labwc (Raspberry Pi OS) and other desktops start
    tray at login.
  • Menu entries. "Steam ARM Settings" opens settings menu in terminal. .deb package adds
    "Steam ARM Setup"; package install over earlier setup names installed version and
    sudo steam-arm-setup --keep, and never runs setup.
  • Check for new version. Maintenance > Check for new version and
    steam-arm-config update-check compare newest GitHub release with installed version; by
    hand only, nothing downloads.
  • Godot rules. Godot 3 Linux titles get GL 3.3 report (MESA_GL_VERSION_OVERRIDE=3.3,
    log godot 3: GL 3.3 report); profile godot=vulkan leaves them as is. Engine version is
    also read from PCK embedded in executable and from .pck files in Godot's own order.
    Godot rules apply to Linux builds only. Godot 3 rule not run on test device without
    profile yet.
  • Download progress. Settings menu progress screen shows curl progress bar for client
    package (about 110 MB) and driver archive (about 75 MB).
  • Launcher checks. Page size at each start: 16K or 64K page kernel stops start with fix;
    STEAM_ARM_IGNORE_PAGESIZE=1 skips check, and setup keeps it in
    /etc/steam-arm/steam-arm.conf. Warning when no GPU render node is usable by account,
    naming group to join. steam-arm.log over 1 MiB moves to steam-arm.log.1. Warnings
    that need action also show desktop notification on menu starts.
  • Mali families. Mali-G615/G715 (arch v11) get mali-csf-v11 (gpu-in-emulation and
    glx-lax on, untested); Mali-G1 (arch v14) gets mali-csf-g1 (Mali components off, needs
    Mesa 26.2).
  • Hardware report. Adds last launcher log lines, start, update and error lines of
    client's bootstrap log, closing block of newest setup log, and game account groups.

Fixed

  • Ubuntu 24.04 and Debian 12: setup added FEX package source, then failed at host packages.
    Host package check now stops setup before any change.
  • Host package check and FEX package choice read apt-cache policy in C locale; under
    translated locale every package counted as missing.
  • First start: client that exited before its files were complete made launcher exit with no
    message. Launcher now says to start Steam ARM again, and starts client once more when
    bootstrap exited after updating itself.
  • Settings menu and tray counted Steam client of any account as running; now only game
    account's client counts.
  • steam-arm --help did not list --bigpicture and --desktop and refused to run as root.
  • Tray kept generic icon after client's first start until next login.
  • KDE Plasma 5 got no window rule; setup now writes and removes it with kwriteconfig5.
  • Settings menu Games and Graphics showed hand-installed GE-Proton* tools as Linux build;
    tool names containing proton now count as Windows build.
  • View logs: empty game and setup logs said launcher writes warnings only; logs not
    readable by menu account, and setup logs of sudo steam-arm-config runs, are now named.
  • Settings menu header on ARM systems without device tree (ACPI boards) printed
    /proc/device-tree/model error.
  • Dialog sentences no longer break into one-word lines on built-in screens.
  • Setup run from settings menu: closing summary no longer shows command line hints.
  • --remove summary names libgtk2.0-0 and libgtk2.0-0t64; PPA removal hint on Ubuntu
    only, when FEX package is installed.
  • Documents: Apple GPU notes say 16K page kernel is not supported (no muvm setup); Remote
    Play cause names ARM64 streaming client's V4L2 decoder path.
  • .deb package removal message: Steam ARM client and its files stay.

Known issues

  • Java (LWJGL 2) titles on Valve FEX tool FEX-2607: about half of first-start map loads
    fail (Java runtime crash, server thread stall or deadlock). Cause lies in FEX; Steam ARM
    settings and FEX options do not lower rate. FEX-2609.1 beta: 2 of 10 failed.
  • 32-bit Source engine titles, native Linux build: loading screen draws, then title hangs.
    Windows build through Proton reaches menu and plays on GPU; set it from
    Graphics > Route per game > windows.
  • Armv8.0 CPUs without LSE atomics (Cortex-A53, A57, A72: Raspberry Pi 4, Pi 3): current
    client builds crash there
    (steam-for-linux #13288);
    setup and launcher stop, as in 2.1.
  • Other 2.1 known issues still apply, except Debian FEX source step (fixed above).

Raspberry Pi

Raspberry Pi OS (Debian 13 base): setup writes FEX source as apt source file (New in 2.2);
tray autostart entry no longer excludes labwc. Both not yet run on Raspberry Pi hardware.
Page-size flow, Raspberry Pi graphics facts and performance tips: COMPATIBILITY.md.
Expectations per game type: GAMES.md.

Full list: CHANGELOG.md.

Test device: RK3588 board with Mali-G610 GPU.

This project is not affiliated with, endorsed by or sponsored by Valve Corporation. Steam,
Proton, Steam Deck and Steam Frame are trademarks of Valve Corporation.