Work-in-progress software-rendering Vulkan implementation
Clone or download


Kazan is an in-progress Vulkan driver that supports cross-platform software rendering, and (eventually) is a driver for's RISC-V based GPU.


Kazan is licensed under the LGPL, v2.1 or later. See for details.

Kazan uses third-party software, which has their own licenses.

Code of Conduct

As part of Kazan being hosted by Debian, it is important to follow the Debian Code of Conduct when participating in Kazan's development.


The master branch is the new Rust version. The previous C++ version is in the kazan-old branch. The version as of the end of GSOC 2017 is in the gsoc-2017 tag.

Building using Docker

  • Clone Git repo: git clone --recursive

  • Build: cd kazan docker build -t kazan-cts . If the build fails due to Out-of-Memory, reduce the number of processes run simultaneously by passing --cpuset-cpus=<cpu-numbers> to only use the specified CPUs: # only use CPUs 0, 1, and 2 docker build --cpuset-cpus=0,1,2 -t kazan-cts .

Building on Ubuntu 18.04

  • Install Rust via rustup: curl -sSf | sh You need to restart your shell after installing Rust so PATH gets set correctly.

  • Install required packages: sudo apt-get install cmake ninja-build libgl1-mesa-dev libxcb-shm0 libclang-dev clang build-essential git

  • Clone Git repo: git clone --recursive

  • Build using Cargo: cd kazan cargo build -vv Building using -vv is recommended because the build process builds LLVM and it doesn't show LLVM's build progress unless using -vv.

  • Run unit tests: cargo test

  • Run a program using the built driver: ./ [ ...] For example, to run vulkaninfo: ./ vulkaninfo

  • Run the Vulkan Conformance Test Suite (CTS):

    • Build and run the CTS: ./
    • Only build the CTS: ./ --update-only
    • Run the CTS without trying to rebuild: ./ --no-update The CTS is known to fail the dEQP-VK.api.version_check.entry_points test due to a bug in the that comes packaged in Ubuntu 18.04. That test should pass when using the from the Vulkan SDK.


We've moved! - 2018-10-23

Kazan's new canonical location is

The Kazan GitHub repository is now used as a read-only mirror.

Kazan's domain names, and, now redirect to Kazan's canonical location on Debian Salsa.