Troubleshooting
Start here:
./gradlew kanvasDoctor
./gradlew kanvasCompatibility
Fix environment and toolchain failures before investigating renderer output. The useful order is Doctor → compatibility → renderer audit → strict mode → backend-specific debugging.
Kanvas cannot find my app module
Set it explicitly:
kanvas {
target = ":desktop"
}
Use ./gradlew projects to inspect project paths.
Native runtime will not build
Check:
- JDK 17+
- CMake
- Ninja or Make
- a native compiler/toolchain
- host graphics/runtime development packages
macOS
xcode-select -p
Linux
Check X11 development packages, the Vulkan loader/runtime, and a working Vulkan driver.
Windows
Confirm the expected MinGW-w64/native toolchain is installed and available.
App starts but rendering is wrong
Use:
kanvas {
backend = "auto"
audit = true
capture = true
}
Then inspect:
build/kanvas/renderer-audit.log
The application can launch while Kanvas fails to own the final frame. The audit log is the quickest way to verify whether the expected Skiko transforms were installed and takeover was armed.
For renderer development:
kanvas {
strictRenderer = true
}
That is expected when Kanvas encounters a renderer path it cannot safely claim. Strict mode is designed to expose false-positive “it rendered” results.
Bug-report details
OS:
Architecture:
GPU:
Backend:
JDK:
Gradle:
Kotlin:
Compose Desktop:
Skiko:
Kanvas version:
Project issues: Yuries-Public-Stuff/Kanvas