Dylan Barrie, un sviluppatore di giochi e hobbyista di hardware, ha sfidato i confini dell'immaginazione e della realizzabilità, intraprendendo un viaggio unico e ardito: la costruzione da zero di una scheda grafica 3D. Dopo quattro anni di lavoro assiduo, il risultato è stato la creazione di una vera e propria GPU che, almeno teoricamente, è capace di eseguire software su Windows.
Barrie vanta oltre quattordici anni nell'industria del gaming, in particolare nell'ambito della renderizzazione grafica. Tuttavia, catturato dall'idea di approfondire le conoscenze hardware, Barrie ha deciso di dedicare il suo tempo libero a questo ambizioso progetto.
"Il processo di creazione di una scheda grafica dal nulla è stato infernale," ha confessato Barrie, aggiungendo che solo ora, con il design dell'add-in card finalmente completato, è pronto a condividere i dettagli del suo lavoro.
La sua creazione, denominata FuryGPU, rappresenta un "vero hardware GPU" ed è basato su un design FPGA Xilinx Zynq UltraScale+, utilizzando una PCB personalizzata e connettendosi al PC host tramite uno slot PCIe.
Qui sotto potete vederla in azione:
La FuryGPU si distingue per il suo supporto di funzionalità hardware equivalenti a quelle di una scheda grafica di fascia alta di metà anni '90, offrendo allo stesso tempo uno stack software completo e driver per le versioni moderne di Windows. Questa GPU è quindi capace di rendere giochi di quel decennio con frame rate reali e giocabili.
La motivazione che ha spinto Barrie a immergersi in un progetto tanto esigente quanto affascinante origina dalla sua curiosità verso i "dettagli effettivi" del funzionamento delle GPU. Pur essendo "estremamente familiare" con il processo di rendering 3D dal lato software, ha compreso che creare un GPU potrebbe non solo ampliare le sue competenze, ma anche sfidare il suo acume ingegneristico.
Barrie riporta di aver investito "innumerevoli ore" per apprendere il funzionamento dei chip FPGA, nonché per sviluppare design di chip attraverso la descrizione hardware, la verifica e l'implementazione del linguaggio SystemVerilog. Definisce la progettazione dei schemi per una scheda grafica PCIe un "sforzo erculeo", mentre scrivere i driver per Windows si è rivelato essere il compito più arduo del progetto.
Per testare le capacità della sua GPU, Barrie ha creato un'applicazione custom di Quake del 1996, riuscendo a eseguirlo a un solida frequenza di 60 frame al secondo, un risultato che sarebbe stato considerevolmente apprezzato dai gamers degli anni '90. Barrie non si ferma qui: ha in programma di condividere ulteriori dettagli del suo avventuroso progetto nel blog FuryGPU, iniziando dall'analisi delle Unità di Texture e mira a ottimizzare ulteriormente la sua versione personalizzata di Quake per migliorarne le prestazioni.