Skip to content

Steam ARM 2.1

Choose a tag to compare

@Scrumpper Scrumpper released this 06 Oct 01:12

Steam ARM 2.1

Renderer check, FEX build per chip, display mode restore, MangoHud in x86 titles, first start progress, and other fixes.

added steam-arm --shutdown

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.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.1.zip Installer steam-arm-install.sh (settings menu steam-arm-config included) and documents
Steam.ARM.2.1.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 contains below. Both copies have same SHA-256, which installer checks.
You don't need to download them :-)
They are board specific.

New in 2.1

  • Renderer check. Launch handler logs which device title draws on:
    renderer: GPU (<driver> <node>), forwarding to host driver, or
    renderer: warning: GPU forwarding not active: rendering on CPU (llvmpipe) with reason.
    GPU counts once title allocates GPU memory on it; CPU verdict comes after 30 s. Hardware
    report lists renderer lines of five newest starts. STEAM_ARM_RENDERER_CHECK=0 turns it
    off per title.
  • Page size up front. Settings menu title bar starts with page size state
    (pages 4K ok, pages 4K (setup kernel switch), pages 16K: reboot for 4K,
    pages 16K: needs 4K); setup and removal banners name page size and what page-size
    component does about it.
  • FEX build matches CPU. Setup picks fex-emu-armv8.0, fex-emu-armv8.2 or
    fex-emu-armv8.4 from CPU features, same rule as FEX's own installer, and names chosen
    build in setup log.
  • Display mode restore. X11 session: launcher saves mode and position of each output
    when title starts and puts them back once no title runs, and when Steam closes.
    STEAM_ARM_MODE_RESTORE=0 turns it off.
  • steam-arm --shutdown. Asks client to exit, sends SIGTERM after 20 s, never
    SIGKILL. --desktop and --bigpicture switch running client through it.
    steam-arm --help prints launcher usage.
  • MangoHud in x86 Linux titles. mangohud %command%, MANGOHUD=1 %command% and
    profile mangohud=on draw HUD in 64-bit titles.
  • kde-input-prompt component, off by default. KDE Plasma (Wayland): no "Remote
    control requested" prompt when controller drives desktop. Trade-off: every X11 program
    may then send input without asking. Turning it off or --remove puts earlier value back.
  • Profile key multiblock=on|off. FEX Multiblock per title. Test device, one 32-bit
    Unity title: 5 to 9 % higher frame rate, first frame 2 to 4 s later.
  • Log lines. compat: warning when Steam's saved Proton choice and started build
    differ; goldsrc: note on OpenGL or Software renderer in GoldSrc (Half-Life engine)
    titles.
  • Information. OpenGL line (host renderer and versions) and CPU governor line with
    governor and max clock per CPU cluster.
  • Help page Fixing a game. Entries "Game is slow (CPU-bound)" and "Proton version
    keeps changing back".
  • steam:// links. Menu entry declares x-scheme-handler/steam; links open in
    Steam ARM.
  • Update / Repair asks first. Maintenance > Update / Repair shows Run / Back
    (Back by default) before setup runs.
  • First start progress. Desktop notification from first click until client opens:
    download percentage of client files, then unpacking and installing; later starts show none.
    Test device: first start took 102 s, previously with nothing on screen.
  • Icons before first start. Menu and desktop entries show plain disc icon until client
    has downloaded its files, then client's own icon.
  • CPU check. Setup and launcher stop with clear message on Armv8.0 CPUs without LSE
    atomics (Cortex-A53, A57, A72: Raspberry Pi 4, Pi 3): current client builds crash there
    (steam-for-linux #13288). STEAM_ARM_ALLOW_ARMV80=1 skips check.

Fixed

  • CPUs without Armv8.2 features: setup stopped because fex-emu-armv8.2 has no install
    candidate there. Setup now installs fex-emu-armv8.0.
  • Information showed FEX package string, not FEX version, with FEX 2608 and later.
  • MangoHud never loaded in x86 titles: handler now loads root filesystem's MangoHud from
    client folder. 32-bit titles get no MangoHud (root filesystem has no 32-bit build).
  • Launch option mangohud %command% failed (no host mangohud command); setup adds small host shim where MangoHud package is absent.
  • Title that switched refresh rate (for example 1080p at 24 Hz) left it switched after exit.
  • Client that stopped acting on forwarded command lines kept running on --desktop and
    --bigpicture.
  • Settings restore: Proton/tool per game from backup replaced choice made since; choice
    made now wins.
  • Settings menu: restore summary button read Back but led on to confirm screen (now Next);
    Install / Setup Back from parts could skip Vulkan screen; Information showed governor of
    first CPU only.
  • Included profile 248570 overlay=off (custom OpenGL engine title that stops when Steam
    overlay attaches), absent since 1.2, restored.
  • Client in SteamOS mode switched host Bluetooth adapter off at every start. Launcher now
    writes host adapter state to System/Bluetooth/Enabled in config.vdf before start,
    and at exit powers adapter on again when client left it off.
  • Components checklist cut off kde-input-prompt label; label now fits.
  • Setup started from folder game user cannot enter (for example /root) stopped with
    "client program missing after unpacking"; steps that run as game user now start in that
    user's home folder.
  • Maintenance > View logs: empty launcher log showed blank page; menu now says log is empty (launcher writes warnings only).

Known issues

  • MangoHud draws no HUD in Unity titles on Vulkan renderer.
  • Custom OpenGL engine title with included overlay=off profile (app 248570) stops about
    20 s in when MangoHud is loaded; leave MangoHud off for it.
  • steam://rungameid/<appid> for title not in library can leave install dialog over games
    started later; restart Steam to clear it.
  • powerprofilesctl launch -p performance -- %command% holds profile only when Steam was
    started from desktop session (menu or autostart); started from other context, hold is
    refused and title does not start.
  • Raspberry Pi OS and other Debian systems: setup adds FEX package source with
    add-apt-repository ppa:fex-emu/fex, which works on Ubuntu only; on Debian, FEX step
    fails. Fix planned for 2.2.

Raspberry Pi 5

Page-size flow, renderer line, Raspberry Pi graphics facts and performance tips:
COMPATIBILITY.md, sections Raspberry Pi and Raspberry Pi 5 performance tips. Expectations
per game type and community reports: GAMES.md, section Raspberry Pi 5. Read
renderer line in title's log first: CPU warning there means GPU forwarding is not active.

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.