Skip to content
Tenzro
Documentation menu
Start here

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

ArchiveOperating systemGPU backendInstall gate on
tenzro-node-linux-x86_64-cpu.tar.gzLinux x86_64, glibc 2.39 or newernone (CPU)Linux x86_64 server, CPU role: passed
tenzro-node-linux-x86_64-cuda.tar.gzLinux x86_64, glibc 2.39 or newerNVIDIA CUDANot yet published. It is added to the release only once it has a passing install gate.
tenzro-node-linux-aarch64-cuda.tar.gzLinux aarch64, glibc 2.39 or newerNVIDIA CUDANVIDIA GB10 (DGX Spark class), GPU role: passed
tenzro-node-windows-x86_64-cuda.zipWindows 10 or later, x86_64NVIDIA CUDAWindows x86_64 with an NVIDIA RTX-class GPU: passed
tenzro-node-macos-aarch64-metal.tar.gzmacOS, Apple siliconMetalFresh hosted runner, Darwin arm64: archive digest and self-check
tenzro-node-macos-x86_64-cpu.tar.gzmacOS, Intelnone (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.rocm and the rocm cargo 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:

bash
bin/tenzro-node hardware

It 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 hardware on 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 hardware and tenzro 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.

MachineWhere the node's keys live
Linux or Windows with a TPM 2.0The TPM. Run tenzro-node tpm provision once per machine, as a user that can open /dev/tpmrm0 on Linux, before the first start.
MacThe Secure Enclave.
A machine with no TPM, such as a Raspberry PiAnother 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 authorises 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

ClassStatus
Linux x86_64 server, CPU buildInstall gate passed. The archive was built twice on two hosts and the two builds are byte-identical.
Linux aarch64 with NVIDIA GB10, CUDA buildInstall 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 buildInstall gate passed (build CUDA, one GPU, ONNX CUDA provider, startup ok). Built once.
macOS Apple silicon, Metal buildSelf-check on a fresh hosted runner. Not run as a node with the Secure Enclave by this check.
macOS Intel, CPU buildSelf-check on a fresh hosted runner. Same limit.
Linux x86_64 with an NVIDIA GPU, CUDA buildNot yet published; no result to report.
Raspberry Pi and other TPM-less boardsUntested on hardware. A Pi image is a separate artifact, is not part of the signed release and has not been booted on a Pi.
LaptopsUntested.
AMD, Intel and other non-NVIDIA GPUs on Linux or WindowsUntested.
ExploreJoin the network