Kael is a native desktop UI framework that compiles against platform graphics APIs — Metal on macOS, Blade (Vulkan) on Linux, and DirectX 11 on Windows. Most of the setup is handled by Cargo, but Linux targets require a handful of system libraries to be present before you build. This page covers everything you need to get from zero to a compiling project.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Augani/kael/llms.txt
Use this file to discover all available pages before exploring further.
Adding Kael as a dependency
Kael0.5.1 is published to crates.io. You can also depend on the Git repository directly to track the latest changes.
cargo build to fetch and compile Kael and its transitive dependencies. The first build takes several minutes because Kael compiles platform shaders and links against system graphics libraries.
Cargo features
Kael exposes optional features you can enable depending on what your application needs. Thedefault feature set is suitable for most desktop applications.
| Feature | Default | Description |
|---|---|---|
default | Yes | Font loading (font-kit), Wayland support, X11 support, Windows manifest |
media | No | Audio and video playback via kael-media |
screen-capture | No | Screen and media capture via scap |
test-support | No | Testing utilities, leak detection, and randomized test helpers |
inspector | No | Runtime UI inspector via kael-macros |
Cargo.toml:
Cargo.toml
The
test-support feature is intended for use in [dev-dependencies] or test crates. Enabling it in a production build adds overhead and is not recommended.Linux system dependencies
On Linux, Kael requires system libraries for Wayland, Vulkan, WebKit, GTK, D-Bus, and notifications. Install them using your distribution’s package manager before runningcargo build.
- Ubuntu / Debian
- Fedora
Platform support
Kael uses a different GPU backend on each platform. You do not need to configure this manually — Cargo selects the correct backend for your target at compile time.| Platform | Renderer | Status |
|---|---|---|
| macOS | Metal | Full support |
| Linux (X11) | Blade (Vulkan) | Full support |
| Linux (Wayland) | Blade (Vulkan) | Full support |
| Windows | DirectX 11 | Full support |
Building and running examples
Once your dependencies are installed, verify your setup by checking and running the project:crates/kael/examples/:
Next steps
Quickstart
Build an interactive counter application from scratch
Entities and context
Learn how Kael’s reactive entity model works