Experimental, independent integration work for making current Recoil RTS Engine source more testable on Apple Silicon and macOS.
This is not an official Recoil or Beyond All Reason project. It contains no game, map, artwork, replay, font, engine binary or proprietary driver. The repository reconstructs a pinned upstream source checkout and applies small, reviewable source patches.
The first public-facing slice deliberately starts with a Linux x86_64 headless build. Its purpose is to prove source acquisition, source locks, patch application and build verification without relying on any private graphics experiment. The formal result is recorded separately; Apple graphics and runtime packaging remain open work.
Pinned baseline:
- Recoil tag
2026.06.12; - commit
01b3161aa5d9d2c6583825da174c439ad9df4908; - source tree
d0e8d0b961f424e3cd9434ed8d2d3b18c0d9ca43; - one two-file headless correctness patch;
- an upstream-published Linux x86_64 build image pinned by digest.
The exact technical baseline at commit
d1646ca5b2679ade6580d051ae29f08843a6f813 passed 64 source regressions
and 473 checks in a fresh Linux x86_64 build. See the
compact verification record and
Known limitations before interpreting that result.
Requirements: Linux x86_64, Git, Python 3.10 or newer, Bash, GNU
timeout, Docker with at least 12 GiB allocatable memory plus host overhead,
and sufficient free disk space for a debug engine build. WORK must not
contain an earlier run.
WORK="${TMPDIR:-/tmp}/apple-recoil-r7b"
docker pull ghcr.io/beyond-all-reason/recoil-build-amd64-linux@sha256:31b3667ba0d37620b4ad9b45d1840c8d3e95317f2b233044d2e17697ce8fe61d
./scripts/verify.sh --work "$WORK" --jobs 3The build runs with networking disabled after source acquisition. It does not
use ccache, performs a second no-op build check and inspects the produced
binary only inside the same digest-pinned Linux image. Generated source, build
outputs and logs stay in WORK; they are not part of this repository.
bootstrap.sh --repository may point the parent Recoil clone at another Git
repository. It is not an offline mode: selected submodules still use their
locked declarations from the pinned source trees. Commit, tree, URL, license
and patch checks remain mandatory.
sources.lock.json— machine-readable source, submodule, patch and build pins;repository-files.sha256— exact public worktree hashes and Git modes;patches/series.json— ordered active patch series;scripts/— acquire, patch, build, verify and publication-audit tools;tests/— source-only regressions and the headless GL defaults probe;evidence/— compact, regenerable result summaries only;LICENSES/— exact applicable license texts and dependency notes.
Project guidance:
- Technical route — what each stage does and trusts;
- Roadmap — evidence gates, not delivery promises;
- Contributing — provenance, test and review requirements;
- Security policy — confidential reporting instructions;
- Known limitations — claims that remain open.
The repository is limited to a source-only headless baseline. It does not claim a functioning current-source macOS graphics client, a redistributable Metal translation stack, runtime or replay determinism, multiplayer compatibility, release performance, packaging readiness or an engine choice for any game.
This work was substantially AI-assisted and is explicitly disclosed in AI_DISCLOSURE.md. Do not submit its patches to Recoil without following Recoil's current contribution and AI policies, an accepted upstream issue, human review and real target-platform testing.
Project-original material is provided under GPL-2.0-or-later; derived and
third-party material retains its own terms. Read NOTICE.md, the
license map and THIRD_PARTY.md before
redistributing any source. No binary-distribution closure is claimed.
Use the repository's issue templates for reproducible integration failures or small patch proposals. Never place credentials, personal information or non-public vulnerability details in an issue, discussion or pull request; follow SECURITY.md instead.