Even after 14 years as a game graphics software developer, Dylan Barrie refers to his GPU project as “Herculean.”
Advanced hobby project took endless hours
The project is called “FuryGPU” and is a complete open source project where Barrie has developed the GPU and the software, i.e. the Windows drivers.
“The FuryGpu is a true hardware GPU implemented on a Xilinx Zynq UltraScale+ FPGA, built on a custom PCB and using PCIe. With support for hardware features equivalent to a high-end graphics card from the mid-1990s and a full modern Windows software driver stack, the graphics card can render true era games at better speeds.”
So what does it take to make your own GPU? It would have been a little tough if you stick to retro hits with a 90s theme. It will clearly be an advantage to be able to solder. You also need to know PCB boards, circuits and ensure that the hardware is correct and certified with SystemVerilog, which is referred to as “hardware description and hardware verification language.” In addition, you need expertise in KiCAD EDA and CAD software designed for electronics so that you can draw the card.
Windows driver coding is extra tricky
Then there’s also drawing and organizing the card Barrie refers to as “Herculean.” But as difficult as it was, the project took four years, it was programming the Windows drivers that he describes as painful. And even after the Windows drivers were finished, the software part of the project wasn’t finished: because he then had to code a special API to communicate with the GPU and create Windows kernel drivers for image and sound.
After all the hours, he finally reached his goal of running Quake at 60 FPS:
“I intend to open source the full stack (PCB schematic/layout, all HDL, Windows WDDM drivers, API runtime drivers and Quake port to use the API) at some point, but there are a number of legal issues, ” recently stated Barrie pointing out above interested that the project is not going to “change the landscape of GPUs,” but that it is a toy. But what a knowledgeable toy!
We are interested in hearing from those of you who make your own hardware and software, GPUs or not.