Files

4.1 KiB

SteamDeck 0.1.3

One thing, and it was owed: the client's network page works, and its connection indicator tells the truth. Install it over 0.1.2; same key, same runtime, nothing to re-download.


Settings → Internet works, and the header shows a connection

The Steam client builds its network page and its connection indicator on NetworkManager, and looks for one on the system bus as it starts. This runtime had neither, so the page stopped with "StartScanningForNetworks is not a function" under a header that showed no connection even while downloads ran. A user on an Odin 2 reported exactly that in the first day.

The session now starts a small system bus and a stand-in that answers for NetworkManager. It reports what is true and nothing more - one connection that is up while Android has a route out - and refuses what it cannot do, since nothing in this runtime can scan for or join a network. The session log says network: system bus up, NetworkManager stand-in running when it is working.

Both the stand-in and the bus configuration come from the app at every launch, so an installed runtime gets this without a re-download; dbus-daemon and python-gi were already in it.

The stand-in is maxjivi05's, written for WinNative and carried by Bannerlator since; this app was the only one of the three without it. Credit where it is due, and an apology to the Odin 2 reporter, who was told it was cosmetic and unfixed when it had been fixed upstream for days.

Where the runtime stands against its sources

With this release the standalone's runtime scripts are level with Bannerlator's, and its sandbox shims are byte-for-byte the same behaviour as Max's current branch - checked file by file today; every difference is a deliberate rename or an attribution header. What remains on his side and not here is a feature, not a fix: launching Epic games from the native client.


Everything from 0.1.2 and 0.1.1 is here

The hang on leaving a session, fixed · the two compositor log lines that explain a shrinking game · graphics drivers you can import and choose, per mode · Steam's overlay restored and a competing client asked to stop · DirectAudio for games and the microphone · client and game core masks · four session fixes · Download/steamdeck-env · a folder of logs per session with credentials scrubbed · a path for Adreno 710 / 720 / 722 · a README with an honest ledger of what is proven and what is merely wired.

If the client dies with nothing in its log

Android 12 and later kill the extra processes an app starts for itself, and a session is made of dozens. Some phones have a "restrict child processes" switch in Developer options - turn it off. Otherwise, once per device: adb shell settings put global settings_enable_monitor_phantom_procs false. device.txt in every session folder records what your phone reports.

Credits

  • maxjivi05 (Max) - the gamescope runtime this is built on, the sandbox shims, and the NetworkManager stand-in in this release, from WinNative.
  • The412Banner - the app, the Wayland compositor, the runtime plumbing and the Steam session.
  • Winlator (brunodev85) - the audio stack, the gamepad model and the shape of a session.
  • Vauzi (Vauzi-17/710) - the Adreno 710/720/722 device entries the experimental driver carries.

Frame generation: Win-FG is built in; LSFG uses the shader chain from your own copy of Lossless Scaling, read on device and never redistributed, on groundwork from lsfg-vk (PancakeTAS).

GPL-3.0. gamescope, Mesa, Turnip, Xwayland, labwc, LXQt, PulseAudio, proot and Arch Linux ARM are their own authors'. Not affiliated with Valve - Steam, Proton and Steam Deck are Valve's, and no Valve software is redistributed here: the client is fetched from Valve's own manifest on your device.


APK SteamDeck-0.1.3.apk - 15931221 bytes sha256 3f85118755234c5d8b1fb59640f817485d8360db7c63c142072c6b1025606542 versionCode 4, built from 3aa0162 by run 35676349317. Signed with the AOSP test key (v1 + v2 + v3), so it installs over 0.1.2 in place.