Kazan Software Vulkan Implementation is Optimized for RISC-V Processors

Orange Pi Development Boards

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.

Support CNX Software - Donate via PayPal or become a Patron on Patreon

4
Leave a Reply

avatar
1 Comment threads
3 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
milkboy007theguyukblu Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
milkboy007
Guest
milkboy007

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

its been a while since i last use soft rendering.

blu
Guest
blu

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

theguyuk
Guest
theguyuk

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
Guest
milkboy007

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..