Skip to content

Add a verified SteamOS ARM64 desktop and terminal experiment - #21

Open
zachspartofaday wants to merge 1 commit into
mxhm11cr:mainfrom
zachspartofaday:codex/upstream-steamos-experiment
Open

zachspartofaday wants to merge 1 commit into
mxhm11cr:mainfrom
zachspartofaday:codex/upstream-steamos-experiment

Conversation

@zachspartofaday

Copy link
Copy Markdown

Add a prepared SteamOS ARM64 userspace experiment targeting a desktop and terminal. The supplied SteamFrame image contains ARM64 programs, but its default VR/gamescope session and service assumptions do not fit LinuxRunner. This change installs a verified userspace archive, uses Plasma X11, and offers the existing Metal/virgl groundwork through a compatible isolated Mesa overlay.

The installer checks the exact source/archive identity, size and free space, supports cooperative cancellation and normal account setup, and publishes a new environment. Archive import preserves validated PAX UTF-8 names in the C locale without changing process/thread locale, bounds and verifies its private copy, and cleans failed staging/resources. Generic imports retain their 512 MiB bound; only the exact prepared manifest admits the larger SteamOS archive.

SteamOS package operations remain inspection-only. Preserving per-account defaults disable unavailable service applets and Steam autostart, select Fusion after a Breeze crash, use grayscale font antialiasing for scaled output, and keep the reversible tags-worker workaround nonfatal. The optional GPU path checks its isolated Mesa payload and startup pixels before Xorg/Qt use; failed prerequisites select the software desktop. KWin effects stay disabled. Linux networking uses iPadOS sockets and DNS, not Linux Wi-Fi drivers.

This consolidates clean-reviewed, merged fork PRs #5, #8 and #10 into one commit directly on main. The complete accelerated experience also requires #19 (virtual DRM/host GPU) and #20 (desktop input/capture/presentation). Storage stays separate in #18. We recommend reviewing those shared prerequisites first; they are not duplicated in this diff.

The SteamOS image is supplied separately and is not included. The related 4.77 MB guest Mesa overlay retains pinned source identity, build/packaging instructions, license inventory, probe source and hashes. The packager recovers its preferred probe source from the verified archive if the standalone source from #19 is absent. Normal app identity/entitlements remain unchanged unless an operator explicitly selects the separate experiment build overrides.

Validation:

  • Grouped offline checks pass: 10 exporter/overlay contracts, 6 preserving font-default tests, 13 desktop-configuration tests, Swift manifest identity/hash/size/overflow contracts, Python compilation and the 97-resource manifest.
  • Release iOS Simulator app and UI test build-for-testing passes with JIT and native VIRGL disabled. This is compile-only, not a physical-device run.
  • The unchanged importer had already passed a freshly compiled macOS fixture using pinned libarchive: Unicode files/symlinks, locale/source preservation, invalid UTF-8/truncated gzip rejection, source/hash mismatch, symlink rejection and cancellation.
  • Composing this branch with the other grouped submissions reproduces the merged fork’s product/test/evidence tree byte-for-byte. Historical physical integration evidence establishes Plasma/Konsole launch and aarch64, user-reported Magic Keyboard operation, and DNS/HTTPS; it is not exact-branch requalification.

Steam client, gamescope, Vulkan, games, audio/system services, sustained performance and complete application compatibility remain outside the milestone. See docs/STEAMOS_EXPERIMENT.md, docs/ROOT_IMPORT.md and THIRD_PARTY_NOTICES.md for preparation, rollback, source availability and limits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant