Kazan is an in-progress Vulkan driver that supports cross-platform software rendering, and (eventually) is a driver for libre-riscv.org's RISC-V based GPU.
Kazan is licensed under the LGPL, v2.1 or later. See LICENSE.md for details.
Kazan uses third-party software, which has their own licenses.
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.
-
Clone Git repo: git clone --recursive https://salsa.debian.org/Kazan-team/kazan.git
-
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 .
-
Install Rust via rustup: curl https://sh.rustup.rs -sSf | sh You need to restart your shell after installing Rust so
PATHgets 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 https://salsa.debian.org/Kazan-team/kazan.git
-
Build using Cargo: cd kazan cargo build -vv Building using
-vvis 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: ./run.sh [ ...] For example, to run
vulkaninfo: ./run.sh vulkaninfo -
Run the Vulkan Conformance Test Suite (CTS):
- Build and run the CTS: ./run-cts.sh
- Only build the CTS: ./run-cts.sh --update-only
- Run the CTS without trying to rebuild:
./run-cts.sh --no-update
The CTS is known to fail the
dEQP-VK.api.version_check.entry_pointstest due to a bug in thelibvulkan1.sothat comes packaged in Ubuntu 18.04. That test should pass when using thelibvulkan1.sofrom the Vulkan SDK.
Kazan's new canonical location is salsa.debian.org/Kazan-team/kazan.
The Kazan GitHub repository is now used as a read-only mirror.
Kazan's domain names, kazan-3d.org and kazan.graphics, now redirect to Kazan's canonical location on Debian Salsa.