Install

What Warm64 needs, and how to build the package from its source.

Warm64 is the npm package warm64: the WebAssembly cores, the JavaScript API, and the wemu-system-aarch64 and wemu-img commands.

Note The package isn't published to npm yet. Until it is, build it from a checkout of the source, as below. Contact us for access.

Requirements

ToYou need
Run itNode 24 or later, or a current browser
Build itRust with the wasm32-unknown-unknown target, and Node 24 with npm
Build the 64-bit, threads and GPU coresRust nightly with the rust-src component

Building from source

In a checkout of the Warm64 source:

rustup target add wasm32-unknown-unknown
npm install
npm run build

npm run build compiles the standard core, wasm/warm64.wasm, and the TypeScript package in dist/. The other cores have their own scripts:

ScriptBuildsUsed for
npm run build:wasm64warm64-memory64.wasmMore than 3 GiB of RAM on one core
npm run build:wasm-threadswarm64-threads.wasmMore than one core
npm run build:wasm-gpuwarm64-gpu.wasmA virtio GPU without shared memory
npm run build:wasm-gpu-threadswarm64-gpu-threads.wasmA virtio GPU, in Node or a cross-origin-isolated page

Link it to use the commands anywhere:

npm link
wemu-system-aarch64 -version
# WEMU emulator version 11.1.50 (warm64 0.1.0)

Using it from a project

import { WEMU } from "warm64";                         // the machine, both platforms
import { nodeWEMUHost } from "warm64/wemu-node";      // Node's host

In a browser, serve the package's dist/ and wasm/ directories side by side. See Embedding in a web page.

Next steps