- GitHub Release artifacts and source builds do not expose the same backend set.
- Metal is the primary accelerated source-build path on Apple Silicon.
- CUDA source builds are useful for development, custom validation, and fallback debugging. Linux and Windows GitHub Release artifacts are CPU-only; the CUDA distribution path is the Docker CUDA image/profile on NVIDIA Linux hosts.
Prerequisites
All Platforms
- Git — Version control
- Rust — 1.83 or later (stable). CI and Docker builds use current stable Rust; the Docker CPU builder currently uses Rust 1.88.
- Node.js — 18+ for UI development. Release CI uses Node 20, while the Docker UI builder currently uses Node 24.
espeak-ng(optional, required only forKokoro-82MTTS)
macOS
Linux (Ubuntu/Debian)
Windows
- Install Visual Studio Build Tools
- Select “Desktop development with C++”
- Install Rust
- Install Git
Clone the Repository
Kokoro-82M, install espeak-ng using your platform guide before running TTS:
Build
Recommended: Use the Install Script
The install script builds the CLI, server, and desktop binaries together and makes the backend choice explicit:cpu. On Apple Silicon macOS, it defaults to metal.
Manual Cargo Builds
If you only want specific binaries, use package-scoped commands:flash-attn or cudnn, for example
cargo build --release -p izwi-server --features cuda,flash-attn. Only enable
cudnn when the matching cuDNN development and runtime libraries are installed.
Install UI Dependencies
The web UI requires Node.js:Build the UI
Required for desktop app builds. The UI must be built before compilingizwi-desktop:
Install CLI Tools
Using the Install Script
~/.local/bin:
izwi— Main CLIizwi-server— API serverizwi-desktop— Desktop application
izwi serve, run izwi status --detailed to confirm which backend the runtime actually selected.
Manual Installation
Development Mode
Run Server in Dev Mode
Run UI in Dev Mode
In a separate terminal:http://localhost:5173 and proxies API requests to the server.
Run with Hot Reload
Project Structure
Running Tests
Building Release Packages
macOS DMG
target/release/bundle/dmg/Izwi_*.dmg
Linux DEB
target/release/bundle/deb/izwi_*.deb
Windows Installer
target/release/bundle/nsis/Izwi_*-setup.exe
Troubleshooting
Rust version too old
Missing OpenSSL (Linux)
Metal not available (macOS)
Ensure you’re on Apple Silicon and macOS 12.0+:CUDA build fails
Ensure CUDA toolkit is installed andnvcc is in PATH: