Decision 0023
x86_64 first, aarch64 second, three GPU vendors, tiers, Apple as community
Architecture decision record 0023: x86_64 first, aarch64 second, three GPU vendors, tiers, Apple as community
Context
“Any device” is the long run; the first releases must promise only what is physically tested.
The three plans
- Grok: an x86_64 laptop, a mini PC, one ARM board with an NPU; Apple and phones out.
- Fable: NVIDIA, AMD and Intel all first-class with one reference machine each; Raspberry Pi as a headless node.
- Codex: x86_64 and aarch64 from the start; NVIDIA launch-quality; Apple Silicon via Asahi on mature models only; certified/supported/community tiers; a hardware lab and an embedded bench; Flatpak as a compatibility layer.
Decision
x86_64 UEFI first; aarch64 UEFI second with native builders; riscv64 aspirational; phones far
future via Mobile NixOS. NVIDIA (CUDA, open kernel module where supported, PRIME hybrids, suspend
and resume, external displays, explicit sync), AMD (Vulkan by default, ROCm opt-in), Intel (Vulkan);
no support claim before the physical matrix passes, and physical NVIDIA CI before edge is
public. Tiers certified/supported/community, published. ARM boards as headless nodes with a
workstation as remote builder. Apple Silicon as a separate community channel on the Asahi stack for
models with mature support; the installer never touches APFS. Flatpak available and not
pre-populated; Podman by default; distrobox available; the app-source ladder nixpkgs → Tacid module
→ upstream flake → Flatpak → container → wrapper.
Consequences
- Reference machines must be bought: Intel laptop, AMD laptop, NVIDIA desktop, two hybrid laptops, an aarch64 UEFI machine, a board, probes and boards for the bench.
- NVIDIA + Niri + Secure Boot + frequent kernels is the highest-churn combination and is treated as its own workstream.
Alternatives rejected
- Universal hardware claims: the fastest way to lose the audience.
- Apple Silicon at launch: would delay everything else for a moving target.