Backends
Kanvas separates backend implementation from higher-level Kotlin/Compose rendering integration.
| Backend | Platform | Status | Notes |
|---|---|---|---|
| Metal | macOS | Present | Primary macOS path |
| Vulkan | Linux | Present | Primary Linux path |
| Vulkan | Windows | Present | Primary Windows GPU candidate |
| Direct3D 9 | Windows | Present | Legacy Windows GPU backend |
| OpenGL | Windows | Present | Alternative Windows GPU path |
| GDI | Windows | Reference | CPU/software reference, not GPU acceleration |
A backend marked Present has an implementation in Kanvas. It does not mean every GPU vendor, driver, resize/device-loss path, or Compose operation has been broadly certified.
Automatic selection
backend = "auto" currently means:
- macOS: Metal
- Linux: Vulkan
- Windows: Vulkan → Direct3D 9 → OpenGL
GDI exists as a Windows software/reference path. Kanvas does not describe it as GPU acceleration and does not silently treat software rendering as equivalent to a successful GPU takeover.
Linux
Attached rendering currently targets X11/XWayland.
A Wayland desktop running an XWayland-compatible application path can work through the current Linux attachment model. Native Wayland attachment remains future work.
Verification status
Use Compatibility for the currently investigated Compose/Skiko lines and Technical Backend Architecture for implementation details.