Skip to main content

Backends

Kanvas separates backend implementation from higher-level Kotlin/Compose rendering integration.

BackendPlatformStatusNotes
MetalmacOSPresentPrimary macOS path
VulkanLinuxPresentPrimary Linux path
VulkanWindowsPresentPrimary Windows GPU candidate
Direct3D 9WindowsPresentLegacy Windows GPU backend
OpenGLWindowsPresentAlternative Windows GPU path
GDIWindowsReferenceCPU/software reference, not GPU acceleration
What “Present” means

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 is not a GPU fallback

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.

Native Wayland is not implemented yet

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.