Kazan Software Vulkan Implementation is Optimized for RISC-V Processors

More and more people want to run fully open source systems due to philosophical, privacy and security concerns, but on embedded systems with a GPU is often hard to achieve due to closed-source binary blobs. Projects such as Freedreno and Etnaviv have freed Qualcomm Adreno and Vivante GPUs, but it takes years to implement workable reverse-engineered open source GPU drivers.

One solution to get an open source graphics driver from the get-go is to implement the rendering into the CPU, but the problem is that it’s usually really slow, and GPU’s are much faster thanks to their ability to quickly handle parallel tasks. Kazan is a software-rendering Vulkan implementation, but it may be eventually end up as a low-end soft-GPU in some RISC-V SoCs thanks to specific instructions.

Kazan Vulkan RISC-V GPUI found out about Kazan through the Libre RISC-V M-Class chip project that aims to be a low-power, mobile-class, 64-bit quad-core SoC clocked at a minimum 800 MHz clock rate and relying on Kazan implementation to provide a soft-GPU capable of handling 1280 x 720 output at 25 fps, 100 Mpixels/sec, 30 Mtriangles/sec, and 5-6 GFLOPs. This won’t break benchmark records, but if successful it would provide a nearly free-as-in-beer open source “GPU” can that be used for embedded systems requiring a display interface with 2D or 3D acceleration.

The project is now hosted on Debian, where you’ll find source code, tools, and documentation, including the SPIRV parser and shader compiler, as well as steps to get started. If you wonder about the custom RISC-V instructions that may be used for Kazan implementation, 64-bit Uniform Instruction Format Proposal.srt may be the file to read. While initially started in 2017, the project got dropped, before the developer decided to work again on it recently, and it will take a while before Kazan becomes mature, and silicon with the proposed RISC-V instructions  is taped out.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
4 Comments
oldest
newest
milkboy007
milkboy007
4 years ago

do people still use soft-rendering in production these days?

its been a while since i last use soft rendering.

blu
blu
4 years ago

People write renderers like raytracers in GPGPU — that should count ; )

theguyuk
theguyuk
4 years ago

They seem to be doing this to have a free no royalties display. And past history, I suggest shows it can be done.
MX player on Android under decoder has software decoder for video and sound options. Does need fast memory and CPU, as well as having limits.
The Z80 was used in many arcade machine and the ZX Spectrum and clones to give a video display. 800 MHz is a lot faster than the Z80 ever was. I think a limited video playing, information interactive display, is do able.

milkboy007
milkboy007
4 years ago

isnt that cpu decoding and driving display? not rendering.
vulkan is 3d rendering. if cost is the issue would it be cheaper in performance cost to soft-decode pre-rendered video than realtime 3d rendering..

Khadas VIM4 SBC