Supported hardware
Which machines run the Tenzro node: the operating system and CPU architecture of each release archive, the GPU backends that ship, the driver rule, the identity hardware a node needs, and what has and has not been tested.
This page lists what the released node runs on and what was actually run. A class marked untested has not been run by us: it may work, and nothing here promises it. The checks come from the release's matrix.json and the install gate that each archive passes before it is listed.
Release archives
| Archive | Operating system | GPU backend | Install gate on |
|---|---|---|---|
tenzro-node-linux-x86_64-cpu.tar.gz | Linux x86_64, glibc 2.39 or newer | none (CPU) | Linux x86_64 server, CPU role: passed |
tenzro-node-linux-x86_64-cuda.tar.gz | Linux x86_64, glibc 2.39 or newer | NVIDIA CUDA | Not yet published. It is added to the release only once it has a passing install gate. |
tenzro-node-linux-aarch64-cuda.tar.gz | Linux aarch64, glibc 2.39 or newer | NVIDIA CUDA | NVIDIA GB10 (DGX Spark class), GPU role: passed |
tenzro-node-windows-x86_64-cuda.zip | Windows 10 or later, x86_64 | NVIDIA CUDA | Windows x86_64 with an NVIDIA RTX-class GPU: passed |
tenzro-node-macos-aarch64-metal.tar.gz | macOS, Apple silicon | Metal | Fresh hosted runner, Darwin arm64: archive digest and self-check |
tenzro-node-macos-x86_64-cpu.tar.gz | macOS, Intel | none (CPU) | Fresh hosted runner, Darwin x86_64: archive digest and self-check |
Each archive holds bin/tenzro-node and bin/tenzro. A Linux CUDA archive also holds lib/ (ONNX Runtime with its CUDA providers); keep it beside bin/. Every file is listed in SHA256SUMS, which is signed; see Verify your download.
The Linux archives are built on Ubuntu 24.04, so they need glibc 2.39 or newer. Older distributions, including Debian 12 and Raspberry Pi OS based on it, are below the floor.
Not published
These are not in the release. Where a build exists in the source, it is built from the repository with the matching script in scripts/release/.
- A CPU build for Linux aarch64 and a CPU build for Windows. Both were built, but their install gate cannot pass on the machines available, which have NVIDIA GPUs and refuse a CPU build by design.
- A Vulkan build. It is built from source and serves llama.cpp models only; ONNX Runtime has no Vulkan provider.
- AMD ROCm. There is no published archive or image;
Dockerfile.rocmand therocmcargo feature build it from source. Untested by us. - Other backends the source can build (SYCL, OpenCL, WebGPU, MUSA, CANN, OpenVINO, zDNN, BLAS) are source-only and untested by us.
- 32-bit ARM and RISC-V are not built.
- The light edge build for small boards is built from source (
scripts/build-tier.sh edge). It is not in the release set.
Which build to take
Take the CPU build unless the machine will serve GPU-tier models. The CPU build runs a validator, an RPC node, a storage node or a light node, and serves models of 6 GiB of weights or less; it refuses a larger model and names the GPU build. The CUDA build refuses to start on a machine with no usable NVIDIA GPU or driver and names the CPU build. Neither falls back silently to the other. A validator does not need a GPU.
The install gate also refuses a CPU build on a machine that has an NVIDIA GPU, so a GPU machine is not left running on the CPU by mistake. To check a machine before installing, unpack the archive and run:
bin/tenzro-node hardwareIt prints what the binary was built for (build:), the GPUs it can drive (gpus:), the ONNX Runtime providers it will use (onnx:) and whether the node would start here (startup:). It exits non-zero when the node would refuse to start. On Linux, scripts/release/tenzro-node-install --dry-run <archive> in the repository runs the same check plus the archive checks and installs nothing.
GPU requirements
- NVIDIA CUDA: the NVIDIA driver and the CUDA 13 runtime come from your machine, not from the archive. The release records the CUDA 13 build base; the repository does not state a minimum driver version, so confirm with
tenzro-node hardwareon the machine. - Apple silicon: Metal is built in and needs no driver step.
- Memory for models: the node reads the machine's memory and accelerators itself and decides what fits. Do not size from this page; run
tenzro hardwareandtenzro model list. By default the node holds back 16 GiB for the operating system and its own services (--reserve-gb), lends always-resident models up to 60% of what remains (--resident-ceiling-gb), and loads image and video pipelines per job under a separate ceiling (--on-demand-ceiling-gb). On a machine with unified memory, such as Apple silicon or the GB10, these limits apply to the one shared pool.
Identity hardware
A node cannot start without a hardware key. There is no software-key mode.
| Machine | Where the node's keys live |
|---|---|
| Linux or Windows with a TPM 2.0 | The TPM. Run tenzro-node tpm provision once per machine, as a user that can open /dev/tpmrm0 on Linux, before the first start. |
| Mac | The Secure Enclave. |
| A machine with no TPM, such as a Raspberry Pi | Another machine's TPM, through a key holder. The TPM machine runs tenzro-node tpm serve, the small machine runs tenzro-node tpm key-holder, and the operator approves it with a passkey grant. |
A passkey authorizes the operator and grants the key holder; it never holds a node or validator consensus key. For a validator, the ML-DSA-87 plus P-384 scheme needs a TPM in the validator's own machine that implements ML-DSA and P-384. See Hardware-rooted keys and Validator lifecycle.
Small machines
The light build is for small machines. It leaves out the model engines, keeps identity, payments, agents, RPC, storage and chain following, forwards inference calls to providers, and refuses the ai, compute and tee roles. It is built from source (scripts/build-tier.sh edge) and is not in the release set. The node reference gives these figures, measured on an aarch64 host with 20 cores, 18 October 2026, on a private network with software TPMs: a light node used 130 to 210 MiB of resident memory idle and up to about 230 MiB under 40 RPC reads per second, and the stripped light binary is 86.8 MB (62.2 MB with the size profile). The release gate for a light node budgets 100 MB for the binary and 256 MiB idle and 320 MiB loaded resident memory. These were not measured on a Raspberry Pi, and the released x86_64 CPU archive holds binaries of 182 MB (tenzro-node) and 65 MB (tenzro) unpacked. A light build compiled with a Raspberry Pi 5 target does not run on a Pi 4; a binary built on Ubuntu 24.04 needs glibc 2.38 or newer.
Tested and untested
| Class | Status |
|---|---|
| Linux x86_64 server, CPU build | Install gate passed. The archive was built twice on two hosts and the two builds are byte-identical. |
| Linux aarch64 with NVIDIA GB10, CUDA build | Install gate passed. A solo chain ran on it and produced blocks once a transaction was submitted. Built once. |
| Windows x86_64 with an NVIDIA RTX-class GPU, CUDA build | Install gate passed (build CUDA, one GPU, ONNX CUDA provider, startup ok). Built once. |
| macOS Apple silicon, Metal build | Self-check on a fresh hosted runner. Not run as a node with the Secure Enclave by this check. |
| macOS Intel, CPU build | Self-check on a fresh hosted runner. Same limit. |
| Linux x86_64 with an NVIDIA GPU, CUDA build | Not yet published; no result to report. |
| Raspberry Pi and other TPM-less boards | Untested on hardware. A Pi image is a separate artifact, is not part of the signed release and has not been booted on a Pi. |
| Laptops | Untested. |
| AMD, Intel and other non-NVIDIA GPUs on Linux or Windows | Untested. |