Files
omarchy-pkgs/pkgbuilds/omarchy-steam-fex
534f007d6b Add Steam FEX launcher for Apple Silicon (aarch64)
Package the tested Asahi Steam launcher as omarchy-steam-fex, with
runtime-only dependencies and offline launcher checks in makepkg.
Preserve the original launcher behavior and document its runtime
requirements and downstream ownership handoff.

Co-authored-by: dl-alexandre <166029845+dl-alexandre@users.noreply.github.com>
Co-authored-by: Santeri Hernejärvi <santeri@santeri.se>
2026-09-20 13:45:47 -04:00
..

Steam launcher for Apple Silicon

omarchy-steam-fex provides omarchy-launch-steam for the Asahi Linux steam, muvm, and FEX-Emu stack. Those runtime packages come from asahi-alarm; FEX-Emu provides FEXBash. The package is restricted to aarch64 and assumes that stack's ~/.local/share/fex-steam/steam-launcher/bin_steam.sh layout.

The launcher runs Steam through muvm and FEXBash with the CEF occlusion workaround. Once Steam's client files are present, it also disables bootstrap verification and repair and patches the Steam UI network initialization block that can leave login waiting indefinitely. Initial bootstrap keeps the normal bootstrap flags. If the FEX launcher is unavailable, it falls back to steam.

omarchy-launch-steam --prepare writes the current user's desktop override with Exec=omarchy-launch-steam %U and applies the same UI patch. Each matching chunk is backed up as .omarchy-bak before its first patch; existing backups are preserved, and already-patched and unrecognized chunks are left unchanged. The regex depends on Valve's client code and may need updating when that code changes.

Only the launcher and license are installed. Steam's system desktop entry and downloaded client files remain outside this package's ownership; preparation runs as the desktop user, never in a package installation hook. A downstream Omarchy package that already owns the launcher must release that path before this package is installed, or in the same upgrade transaction.

Runtime dependencies are declared in package() so assembling the scripts does not require the Asahi stack in the build container. They remain required dependencies in the resulting package. check() runs the offline launcher tests using temporary homes and mocked Steam/muvm commands. To run them directly:

python pkgbuilds/omarchy-steam-fex/test-launcher.py

The launcher was extracted from omarchy-mx-mac commit 5e8e1188, credited to Scott Jones, dl-alexandre, and Santeri Hernejärvi. The extraction replaces omarchy-cmd-present with command -v, removing the dependency on Omarchy itself. The launcher matches the version published in omarchy-pkgs-aarch64.