New open source GPU is free to all – FuryGPU runs Quake at 60fps, supports modern Windows software

by Pelican Press
76 views 9 minutes read



New open source GPU is free to all – FuryGPU runs Quake at 60fps, supports modern Windows software

An open source fully custom GPU has come out of stealth after four years in development. FuryGPU has been a one-man effort from games software developer Dylan Barrie, who says he put together this extremely complex hardware and software project in his spare time. FuryGPU is based on a Xilinx FPGA design, and the prototype PCIe graphics card is currently capable of achieving around 44fps in the Quake Timedemo. The work on FuryGPU was undertaken after Barrie was inspired by Ben Eater’s building a programmable 8-bit computer from scratch project.

As you can see from the pictures in this article, FuryGPU looks very much like a typical PC graphics card from about 20 years ago, modernized by equipping DisplayPort and HDMI outputs. The project is far more than the hardware, though, with Barrie admitting that the most painful aspect of this graphics card’s design was creating the Windows drivers.

Hardware, from maker board to graphics card

Barrie began realizing his dreams of building a GPU from scratch after picking up an FPGA-packing Arty Z7 development board and doing some preliminary development and testing. Subsequently, the project got a boost by the debut of Xilinx Kria System-on-Modules (SoMs), which combine “insanely cheap Zynq UltraScale+ FPGAs with a ton of DSP units and a (comparatively) massive amount of LUTs and FFs, and of particular interest, a hardened PCIe core,” enthused Barrie.

To go from this maker board to the FuryGPU PCIe add-in-card design we see in 2024, Barrie taught himself the SystemVerilog hardware description and hardware verification language and the KiCAD EDA / electronics CAD software suite. He says a Herculean effort was required to design the schematic for the FuryGPU with the 4-lane PCIe we see today, even with the FPGA circuitry built into the SoM. Now it was time to plug the FuryGPU into his test rig, write the drivers, and test games.

(Image credit: Dylan Barrie – FuryGPU)

Windows drivers and Quake at 60fps

Creating the Windows drivers for FuryGPU is described by Barrie as “the most painful” aspect of the entire project – despite his day job being in the software side of graphics rendering in the games development industry for the last 14 years.

Initially, the FuryGPU maker’s ambition was to put together a simple spinning cube demo, to show the GPU working. However, as the project developed, playing the iconic PC game Quake at playable frame rates started to become the new goal.

Barrie explains that after getting the Windows drivers ready, he wrote a custom graphics API to communicate with the GPU, wrote Windows kernel drivers for the display and audio, and now has “a fully-functional piece of graphics hardware that can render Quake at a solid 60 frames per second.”

We’ve embedded Barrie’s Quake Timedemo video capture, demonstrating that the FuryGPU could achieve 44fps in this benchmark at 720p about a month ago. The developer says there are clear opportunities to get Quake “running much faster,” as he saw some obvious bottlenecks that he will target for optimization efforts.

FuryGPU Windows drivers support both video and audio out (Image credit: Dylan Barrie – FuryGPU)

The FuryGPU is set to be open-sourced. “I am intending on open-sourcing the entire stack (PCB schematic/layout, all the HDL, Windows WDDM drivers, API runtime drivers, and Quake ported to use the API) at some point, but there are a number of legal issues,” Barrie wrote in a Hacker News post on Wednesday. Because he works in a tangentially related vocation, he wants to make sure none of this work would break his work contract or licensing etc. This same thread includes quite a bit of extra detail about the FuryGPU project for those particularly interested.

On the FuryGPU website, there is an article dedicated to the GPU’s texture units, for those wishing to take a deeper dive into the architecture.

To conclude our coverage of this interesting new (to us) project, it is worth explaining the intended scope of the FuryGPU project. It is clear this is a maker project, like the breadboard CPU, but the FuryGPU offers such impressive performance that some may mistake it for a serious new GPU architecture. Barrie makes it clear this is not the case in the afore-linked Hacker News thread (writing under the nom de plume of PfhorSlayer). “This is a toy,” asserted the FuryGPU maker. “This is not going to change the GPU landscape or compete with any of the commercial players.” 

Even though the FuryGPU (or its offspring) may never make our chart of the best graphics cards, we will watch FuryGPU developments with great interest. Now that the project has gone public, there’s a chance that publicity and expert collaborators can accelerate the plans already in place.





Source link

#open #source #GPU #free #FuryGPU #runs #Quake #60fps #supports #modern #Windows #software

You may also like