Cross-Platform
Windows, Linux, macOS and more.
A modern, GPU-accelerated UI renderer for Kotlin.
Kanvas is a cross-platform rendering stack that brings native GPU rendering to Kotlin applications while staying compatible with the Compose Desktop workflow.
Windows, Linux, macOS and more.
Vulkan, OpenGL, Metal and native backend work.
Use a familiar Kotlin UI workflow with GPU acceleration.
Multiple rendering paths behind one shared model.
What is Kanvas?
Kanvas is a complete rendering stack for Kotlin Multiplatform. It gives applications a consistent way to display UI through native graphics backends while keeping the development experience familiar.
Whether you are building a desktop app, a custom interface or experimenting with rendering itself, Kanvas provides the building blocks to work with modern graphics APIs without tying the application to one platform.
Why I built it
I wanted a better view of the path between application code and the GPU. Kanvas gives me room to experiment with renderer ownership, backend behavior and platform-specific graphics APIs without throwing away Kotlin or Compose.
Under the hood
Kanvas uses a shared display-list layer between Compose capture and the native renderer. That keeps drawing behavior consistent while allowing the backend to change between Vulkan, Metal, OpenGL and other platform paths.
Rendering path
Current status
The core renderer architecture, native runtime, Compose integration, project adapter and multiple backend paths are already in the repository. Current work is focused on coverage, compatibility and making Kanvas easier for other developers to try.
View on GitHub ↗