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.
I 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.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
do people still use soft-rendering in production these days?
its been a while since i last use soft rendering.
People write renderers like raytracers in GPGPU — that should count ; )
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.
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..