@vgpu/adapter-node
v0.4.0
Published
Node.js GPU adapter for vgpu, using Dawn-based WebGPU bindings.
Maintainers
Readme
@vgpu/adapter-node
Dawn adapter for vgpu/node.
@vgpu/adapter-node connects vgpu to Node.js through the webgpu Dawn native prebuild. Most callers should import init from vgpu/node; direct adapter/device helpers remain for core layer (vgpu/core) tooling.
Install
pnpm add vgpuUsage
import { init, draw, frame, target } from "vgpu/node";
const gpu = await init();
const colorTarget = target(gpu, { size: [256, 256], format: "rgba8unorm" });
const drawable = draw(gpu, { shader: TRIANGLE_WGSL, targets: [colorTarget] });
frame(gpu, (f) => f.pass({ target: colorTarget, clear: [0, 0, 0, 1] }, (p) => p.draw(drawable)));
const rgba = await colorTarget.read();
gpu.dispose();System requirements
- Node.js 22+ is the supported engine.
- Linux Dawn prebuilds require a compatible GLIBC. Use the repository Docker runner for reproducible CI and snapshots.
- Linux lets Dawn discover available backends. X11/OpenGL software rendering can use
LIBGL_ALWAYS_SOFTWARE=1andDISPLAY; display-free Vulkan/lavapipe uses a validVK_ICD_FILENAMESandXDG_RUNTIME_DIR. VGPU_DAWN_FLAGS=backend=vulkanorbackend=openglpins a backend when automatic discovery is not desired.VGPU-NODE-NO-ADAPTERincludes the attempted Dawn flags and adapter options plus Mesa, Vulkan ICD, and display diagnostics.
License
MIT.
