TacidOS
DevelopersGitHub

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

Status
Accepted
Date
2026-09-03

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.