There's A New Libre GPU Effort Building On RISC-V, Rust, LLVM & Vulkan

Written by Michael Larabel in RISC-V on 28 September 2018 at 12:09 AM EDT. 44 Comments
RISC-V
Over the past decade and a half of covering the Linux graphics scene, there have been many attempts at providing a fully open-source GPU (or even just display adapter) down to the hardware level, but none of them have really panned out from Project VGA to other FPGA designs. There's a new very ambitious project trying to create a "libre 3D GPU" built atop RISC-V, leveraging Rust and LLVM on the software side, and would also support Vulkan.

Luke Kenneth Casson Leighton, the open hardware engineer behind the EOMA68 project, is pursuing an open-source GPU project and is reported to have access to $250k USD in funding to make it happen.

His essential idea for this "libre GPU" is to use a RISC-V processor -- likely with some RISC-V extensions to increase the parallelism potential -- and the GPU would largely be software-based. He would leverage the LLVM compiler infrastructure and utilize a software-based Vulkan renderer emitting code to run on the RISC-V processor. His Vulkan implementation / display driver is talked about for writing in the Rust programming language. Along similar lines has been Vulkan-CPU and now known as Kazan as a software/CPU-based Vulkan implementation. Vulkan-CPU/Kazan was started as part of 2017 Google Summer of Code but there hasn't been any apparent activity on that since September 2017. In effect, the plan is like running LLVMpipe for software-based OpenGL on an open-source CPU -- but at least LLVMpipe is in good shape these days (albeit slow) where as there isn't any viable Vulkan software implementation currently.

The project's current road-map only details the software side of figuring out the RISC-V LLVM back-end state, starting to write a user-space graphics driver, implementing the necessary bits for his proposed RISC-V extensions like "Simple-V", and at that point start figuring out the hardware design and the rest of the project. It's quite a simplified road-map from the likely enormous task at hand, even with a reported $250k in funding from an anonymous sponsor.

More details on the proposed project can be found via libre-riscv.org/3d_gpu. This effort was pointed out in the forums earlier today.

On both the hardware and software side it's an enormous effort coming up with the planned RISC-V + Rust + LLVM + Vulkan open-source GPU offering even if there is funding secured and this is effectively being a software-based graphics processor. We'll see where this project leads or if it winds up in the heavens with the other past open-source GPU efforts.

The current SiFive Linux-friendly RISC-V developer board with SoC is very expensive and the performance is quite slow even compared to ARM SoCs (granted, there's software ecosystem enhancements to make as well). Should this Libre GPU materialize, it's likely to face those same challenges.

It's also worth noting that the EOMA68 effort started by Luke back in 2016 and raised over $227k USD from crowdfunding participants hasn't shipped yet. Back in February at FOSDEM we heard he hoped to ship EOMA68 in 2018 but that still looks ambitious and he is now tackling this Libre RISC-V chip and Libre GPU effort too. There are EOMA68 updates posted occasionally with the last being from June when he was hoping the first hardware might ship in late October.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week