-
-
Notifications
You must be signed in to change notification settings - Fork 0
Usage Windows Steam Runtime
Part of the Usage reference. · ← Previous: Proton & Wine runtimes · Next: Luxtorpeda native-engine plugin (Linux only) →
Some Windows games require a live Steam client for their Steamworks/DRM handshake. Aurelia
can host a self-contained master Windows Steam prefix (a Wine prefix with Steam
installed inside it) and start that Steam in the background purely to answer the in-prefix
handshake, while the game itself is still launched directly by Aurelia (never through a
steam://run / -applaunch handoff). It is the no-host-Steam path for
play --steam: when you launch with --steam and no host Steam client is
installed, Aurelia uses this in-Wine runtime for the DRM/Steamworks handshake (subject to the
policy below).
New here? See WINDOWS_STEAM_RUNTIME.md for the exact step-by-step setup recipe, machine requirements (Vulkan + a DXVK/vkd3d runner), caveats, and troubleshooting. The rest of this section is the command reference.
Installing/repairing the master prefix needs a Wine/Proton runner configured as
steam_runtime_runner: background Steam runs under bare Wine, not through Proton's
proton run wrapper.
First-time setup. steam-runtime install fails until a runner is selected. Pick one
from your installed runtimes and set it:
aurelia proton list # see installed runtime names
aurelia config steam-runtime-runner GE-Proton9-20 # select one (or `experimental`, or a Wine path)
aurelia config steam-runtime-runner # verify — prints the bare Wine it resolves to
aurelia steam-runtime install # install Steam into the master prefix
aurelia config game <APP_ID> --steam-runtime on # opt a game into using it at launchThe runner value is an installed runtime name (as shown by aurelia proton list) or an
absolute path to a Wine build. A Proton runtime is accepted: Aurelia uses the bare
Wine bundled inside it (files/bin/wine64) automatically, never proton run. If you have
no runtime yet, install one first with aurelia proton install <NAME>.
A launch that asks for Steam integration (play --steam, forced on for
Family-Shared games) resolves where the Steam client comes from from a policy, checked
per-game first, then the global default:
| Policy | Behavior |
|---|---|
auto (default) |
Prefer the host Steam client when one is installed. Otherwise fall back to the in-Wine Steam runtime. |
on |
Always use the in-Wine Steam runtime, even if a host Steam client exists. |
off |
Host Steam only, never the in-Wine runtime. |
aurelia config steam-runtime-policy on # global default: always use the in-Wine runtime
aurelia config steam-runtime-policy # view the current global default
aurelia config game <APP_ID> --steam-runtime on # per-game override (wins over the global default)A game whose own policy is auto inherits the global default. on/off on the game
override it. Installing the master prefix does not, by itself, route any game through it. A
launch only uses the in-Wine runtime when it both asks for Steam (--steam) and the resolved
policy selects it. When the policy selects the in-Wine runtime, Aurelia starts the master
Steam client in Wine (on the configured runner) and points the game at it via
STEAM_COMPAT_CLIENT_INSTALL_PATH, satisfying the Steamworks/DRM handshake without a host
Steam client. --steam-prefix-mode shared|per-game chooses whether the game runs in the
master prefix directly (shared, default) or gets its own copy (per-game).
aurelia steam-runtime install [-r] [--json] # -r = --reinstall
aurelia steam-runtime repair [--json]
aurelia steam-runtime uninstall [--json]
aurelia steam-runtime login [--json] # alias: relogin
aurelia steam-runtime status [--json]
aurelia config steam-runtime-runner [<NAME>] # view/set the runner (empty string clears)
aurelia config steam-runtime-policy [auto|on|off] # view/set the global default policy
| Subcommand | Description |
|---|---|
install |
Download SteamSetup.exe (if needed), install Steam into the master prefix, then start the Steam client. Waits for the installer and fails loudly if steam.exe does not appear. Requires steam_runtime_runner to be set. |
install --reinstall |
Delete the existing master prefix first, then install a fresh copy. Use when Steam reports a corrupted install ("please reinstall"). Unlike repair, keeps no backup, a true clean slate. |
repair |
Stop Steam, back up the master prefix to a timestamped .bak-<unix-time>, then reinstall, which recovers a corrupted install that passes the file-exists check but crashes on start. Since v0.1.37-2, every backup is kept: earlier backups are never deleted, so clean them up yourself when you no longer need them. Requires steam_runtime_runner. |
uninstall |
Stop any Steam running in the prefix, then remove the whole master prefix (including every .bak-* backup). Reinstall later with steam-runtime install. |
login (alias relogin) |
(Re-)start the in-Wine Steam client interactively so you can sign in again (after the runtime's Steam session expired, or to switch accounts) without reinstalling. Stops any silent background Steam in the prefix first so the login window opens. Requires an installed runtime. See Authentication below. |
status |
Print the resolved master root, Wine prefix, layout kind, whether steam.exe is present, and whether a runtime runner is configured. |
The in-Wine Steam runtime is a real Windows Steam client and keeps its own login
inside the master prefix, separate from aurelia login (which authenticates Aurelia's own
CM session for the library/downloads). Aurelia never injects its session into the in-Wine
client.
-
First sign-in happens when you run
steam-runtime install(the Steam client starts: sign in there, including Steam Guard). The login persists in the master prefix. -
Later launches (
play --steamin in-Wine mode) start that already-signed-in client silently (-silent): no per-launch login. -
When the session expires (or to switch accounts), run
aurelia steam-runtime login. It restarts the client with its UI so you can sign in again.installis not the right command for this (it's for a missing install), andrepairis destructive (it reinstalls).
The in-Wine client must be signed into an account that owns/can access the game, or the
DRM/Steamworks handshake won't pass. That account is independent of the one aurelia login
uses, though it's normally the same person.
aurelia steam-runtime status
aurelia steam-runtime install
aurelia steam-runtime repairRunner: the Windows-Steam installer and the background Steam client always run under a bare wine, never
proton run(that wrapper derives its own prefix and expects the Steam Linux Runtime container). Pointingsteam_runtime_runnerat a Proton tree such asGE-Proton9-20is still fine: the wine bundled inside it (files/bin/wine64) is used automatically.
Diagnostics: set
AURELIA_DIAGNOSE_INSTALL=1beforeinstall/repairto run the installer with verboseWINEDEBUGand capture its output to a timestamped log under~/.config/Aurelia/logs/, useful for root-causing setupapi/file-copy failures. It has no effect on normal game launches.
Users
-
Usage
- Global behavior
- Authentication
- Library
- Store & discovery
- Collections
- Install & maintenance
- Launching
- Depots & branches
- Downgrade & pinning
- Steam Cloud
- Steam Workshop
- Friends & chat
- Inventory & market
- Configuration
- Proton & Wine
- Windows Steam runtime
- Luxtorpeda plugin
- umu-launcher plugin
- Launch scripts
- Session daemon
- Files & locations
- Exit codes & logging
- Windows Steam Runtime
Maintainers
Architecture