xXJSONDeruloXx/steam-android-runtime-research

Evidence archive for Android Linux runtimes, native ARM64 Steam, FEX, gamescope, and Steam-first UI research

★ 1Forks 0ShellGitHub ↗Compare

README

Steam Android Runtime Research

Private evidence archive for building an Android app with a Linux runtime and a Steam/gamepad-first experience, rather than a Windows/Wine container as the primary product model.

Status: evidence gathered through 2026-08-09.

Bottom line

No previous Android-app attempt has reached the actual Steam login/library on Android. The Nova lab now reaches the pre-login Steam Gamepad UI and the live Steam DOM reaches /login. The latest device run resolved the timeout-driven quiet-scene failure in the continuous Android AHardwareBuffer receiver: Android and X11 remained usable through a quiet Steam scene and reached the same timezone page, but login and frame-identity correlation are still unaccepted gates. The latest manual lifecycle run also proves that Activity stop cancels a blocking AHB ACK wait without waiting for the 15-second timeout. The current ARM handheld Linux ecosystem has moved further than the earlier experiments: Valve's ARM64 client and Steam runtime are directly reachable from live distribution endpoints, and Armada/PockNix document complete native-ARM64 Steam + gamescope sessions on supported Snapdragon handhelds.

The useful results are split across several projects:

Recommended direction

Use a layered strategy:

  1. Reuse GameNative's Android-side lifecycle, storage, download, controller, and session-management patterns.
  2. Use Armada/PockNix as the current reference for the Steam Deck-like session: native ARM64 Steam, gamescope, Xwayland, input, audio, Proton, and FEX for x86 games.
  3. Use Holo's aarch64 Arch package channel for compatible glibc/graphics/gamescope dependencies, while fetching the native Steam client from Valve's client/runtime channels.
  4. Prove the first Android product path with root: app-owned Linux userspace plus the existing AHardwareBuffer/SurfaceControl gamescope direction from steam-arm-findings.
  5. Keep the Termux:X11 kit as a desktop-mode diagnostic/fallback path, and keep FEX as the game-compatibility layer—not the native Steam-client runtime.
  6. Remove root only after the session, graphics, input, and lifecycle contracts are independently passing.

The first meaningful acceptance test is: native ARM64 Steam reaches its login or Gamepad UI screen, with hardware steamwebhelper rendering and controller input, on one known Snapdragon/Adreno device. The first Android-app acceptance test adds: the Android app starts/stops that Linux session and presents the gamescope frames on its own surface.

Blocker research rule

When a technical blocker appears, perform a current internet search before treating it as a hard boundary. Prefer primary project documentation and source, record the relevant URLs, revisions, and search date in the experiment record, and compare more than one implementation path when practical.

Keep Armada, PockNix, and their ROCKNIX foundation as standing prior-art references for SteamOS-like ARM64 Steam sessions, gamescope, Xwayland, Proton/FEX, input, audio, display, boot, and lifecycle details. Use those projects to extract implementation ideas while explicitly separating their full Linux/DRM/KMS assumptions from this repo's Android/rootfs path.

Documentation

The documentation is organized into browsable evidence bands. Start with the documentation map, then read the current roadmap and lifecycle contract before choosing work or running the device.

Current high-value records:

Use the folder indexes to browse historical experiment/result pairs without turning the root README into a second flat archive.

Evidence standard

“Proven” means the repository contains concrete on-device output, test artifacts, or a documented build/run result. “Partial” means a lower-level prerequisite works but the target milestone does not. “Claimed/untested” means the artifact describes a path but does not include enough device evidence to verify it independently.

Scope note

This archive records technical evidence, not a redistribution of Valve runtime binaries. The attached ZIP was inspected but is not copied into this repository. Its SHA-256 and original workspace path are recorded in the kit assessment.

Contributors

xXJSONDeruloXx

Issues