FuryGPU is an open source hardware GPU built from scratch

Alfonso Maruccia

Posts: 1,025   +301
Staff
In a nutshell: Can someone build a 3D graphics card from scratch? Dylan Barrie wanted to find out and spent four years trying. The result was a complete GPU that can theoretically run older gaming software on Windows.

Dylan Barrie is a game developer and hardware hobbyist. Over the last fourteen years of his career in the game industry, Barrie primarily focused on the software side of graphics rendering. However, he started developing a custom, full-stack GPU four years ago in his spare time.

Barrie said the process of creating a graphics card from the ground up was hellish, but after four years of diligence, he can finally share his efforts now that the add-in card design is essentially done. FuryGPU is a "real hardware GPU" built on a Xilinx Zynq UltraScale+ FPGA design. The card uses a custom PCB and connects to the host PC via a PCIe slot.

FuryGPU can support hardware features equivalent to a "high-end" graphics card from the mid-1990s, with a full software and driver stack for modern Windows versions. The GPU can render games from that decade with real-time, playable frame rates. Barrie will eventually release hardware schematics, software, and drivers through an open-source license.

The hardware homebrewer said he decided to build a graphics processor from scratch because he didn't know the "actual details" of how GPUs work. Being "extremely familiar" with the 3D rendering process from the software side, Barrie realized that creating a GPU could be a doable albeit daunting personal project.

He spent "countless hours" learning how FPGA chips work and how to build chip designs through hardware description, verification, and the implementation language SystemVerilog. Designing the schematics for a PCIe graphics card was a "herculean effort," Barrie said. Perhaps unsurprisingly, writing Windows drivers was the project's most painful task.

Also read: Anatomy of a Graphics Card

The developer wrote a custom graphics API to communicate with the GPU and created Windows kernel drivers for managing the display and audio signals. The FuryGPU can render Quake – the original Quake released in 1996 – at a "solid" 60 frames per second, which would have been a true pleasure for gamers in the 90s.

Barrie plans to write more about his GPU creation adventure on his FuryGPU blog, starting with the card's Texture Units. He also wants to optimize his custom Quake build to run much faster.

Permalink to story.

 
This should be fantastic for retro gamers who don't have access to 90's era hardware and want to retro game on newer hardware without resorting to VM's or emulators.
 
Cool. although I'm going a little further back. I have all the chips necessary to make an "almost" original CGA card and on github I found a project with the circuit board schematics... but in the meantime, I'm still trying to buy an original CGA from IBM at a good price, hahaha. A few days ago I lost a good deal, but from another, somewhat more modern card, a card that supported everything from Hercules to EGA, in addition to CGA and Plantronics, a shame.
 
This should be fantastic for retro gamers who don't have access to 90's era hardware and want to retro game on newer hardware without resorting to VM's or emulators.
certainly.
And although you can use PCem or 86box, the pleasure of using the real deal is much greater. Between donations, purchases and recovering from the recycling center or even from the trash, I have managed to obtain hardware from as far back as 1984 (and older), in working order or that I still need to repair/restore. It is a task of time and calm, little by little. In the next few days I will go for an excellent MSX2 that I saw for sale . Meanwhile, I'm trying to rebuild the first PC I touched when I was little, back in the 80s. Nostalgia is sometimes an expensive and difficult bit.ch
 
Last edited:
Damn, that’s very impressive to do all on your own. Glad this was featured, had no idea about it, will read his blog as I’m sure it’ll be quite interesting.
The guy should make it in versions with ISA, VLB, PCI o AGP bus, instead of PCIexpress. Those interested in run pre-2000 hardware would fight for it. of course, also need a OpenGL and DirectX compatible driver, not a custom API and modified Quake code
 
Last edited:
FPGA @ 40-60fps is impressive with homebrew drivers. like REALLY good ..

This guy could have someone fab and build a dedicated gpu out of the FPGA specs and put it on a ISA/VESA/PCI/PCIE PCB and net another 50%-80% fps out of dedicated silicon

In another 2 year AI could rewrite the drivers for another big boost
 
FPGA @ 40-60fps is impressive with homebrew drivers. like REALLY good ..

This guy could have someone fab and build a dedicated gpu out of the FPGA specs and put it on a ISA/VESA/PCI/PCIE PCB and net another 50%-80% fps out of dedicated silicon

In another 2 year AI could rewrite the drivers for another big boost
It needs to be a solution that accelerates 2D and 3D and also be fully VGA compatible. also,
take a look to the "graphics-gremlin" in github
 
Back