Many people preach the virtues of FPGA technology, and many projects have adopted these circuits as definitive solutions, but it is a mistake to think they work by magic. One of the best examples comes from Dylan Barrie, a software engineer with over two decades of experience in rendering. His original plan was to spend a few months creating a sort of technical demo, however, four years of work transformed it into a complete graphics card, with a PCI Express interface, Windows drivers, and a custom API. The name of his beast is FuryGpu, and it can already run Quake at over 40 FPS…
The idea of a DIY graphics card is not exactly new. Some of our readers probably remember The worst graphics card in the world created by Ben Eater, and The simplest in the world, an optimization by George Foot. But when we think of a GPU, our minds lead us to a more traditional design, one that can be installed and activated with relative ease.
The problem is that going from a prototype on a breadboard to a complete card requires an immense effort, even with decades of experience. Dylan Barrie's blog, who after specializing as a software engineer focused on rendering, decided to get his feet wet in the waters of hardware. Barrie planned to dedicate a few months to this project, “create a spinning cube”, and stop there… but with almost four years behind him, his result is FuryGpu.
FuryGpu: A DIY Graphics Card That Works on Windows and Runs Quake
FuryGpu is a “GPU-on-FPGA”, based on the Xilinx Zynq UltraScale+, with a frequency of 400 MHz in its core, and 480 MHz in its texture unit. It supports a front-end FP32 full, linear and bilinear filters, and uses a PCI Express 2.0 x4 interface. There are no programmable shaders, and instead of relying on conventional APIs like Direct3D and Vulkan, Barrie created his own solution, FuryGL.
That means all games need a port to work correctly on the FuryGpu, something difficult, though not impossible. Barrie had to learn SystemVerilog and struggle with KiCad, but he admits that the most painful part of the project was writing the video drivers compatible with Windows. Unfortunately he didn't share details about it, but it doesn't surprise us that Microsoft's operating system is an obstacle (without forgetting that writing drivers is complicated in any case).
Barrie intends to make FuryGpu open source, however, he warns that there is no time limit. The best is to closely follow his blog, and his YouTube channel for more news.
Official FuryGpu site: Click here
Dylan Barrie on YouTube: Click here