Un développeur a fabriqué sa propre carte graphique et elle fait tourner Quake à 60 FPS

 
Concevoir et fabriquer une carte graphique n’est pas une mince affaire. Surtout quand on est un seul développeur avec peu de ressources. C’est pourtant le projet de Dylan Barrie avec son FuryGPU qui peut faire tourner Quake à 60 FPS.
Source : FuryGPU

Les cartes graphiques coûtent trop cher ? Vous voulez construire votre propre carte à un coût dérisoire ? C’est possible, mais seulement pour faire tourner Quake premier du nom à 60 images par seconde.

C’est le projet du développeur Dylan Barrie qui s’est lancé dans la conception et la construction de son propre GPU il y a plus d’un an. Relatant sa progression sur sa chaine YouTube et son site FuryGPU, il est actuellement dans la cruciale phase d’optimisation des pilotes.

Une carte graphique open source… ou presque

Vous vous en doutez, construire une carte graphique n’est pas une mince affaire. Dylan Barrie a tout d’abord conçu un circuit imprimé totalement personnalisé avant d’y apposer divers SoMs (System-on-Modules) programmables grâce à la technologie FPGA.

Après des mois d’essais et d’erreurs, l’apprentissage du langage de vérification matérielle SystemVerilog, la carte graphique a pu être testé tout récemment par le développeur après avoir finalisé les derniers détails, à savoir le connecteur PCI-Express 4 voies ainsi que l’intégration des ports DisplayPort et HDMI.

Le GPU peut se targuer d’être presque entièrement open source, si on écarte les différents SoM du constructeur Xilinx (racheté par AMD en 2022). L’ambition du projet était de proposer une puce avec « des caractéristiques matérielles équivalentes à celles d’une carte graphique haut de gamme du milieu des années 1990 ».

Mais selon le développeur, ce n’est pas cette phase de conception et de construction qui a été la plus compliquée, mais bien celui des pilotes.

Des pilotes pour faire tourner Quake

Pour Dylan Barrie, développer les pilotes fut de loin l’étape la plus compliquée du projet, décrivant tout le processus comme « douloureux » :

Finalement, j’ai réussi à tout faire fonctionner. J’ai écrit une API graphique personnalisée pour communiquer avec le GPU, j’ai écrit des pilotes de noyau Windows pour l’affichage et l’audio, et j’ai maintenant un matériel graphique entièrement fonctionnel qui peut faire tourner Quake à une solide fréquence de 60 images par seconde.

Dans la plus récente de ses vidéos publiée cette semaine sur YouTube, on peut voir les FPS tourner avec un niveau de performance proche des 60 FPS. Le développeur a en effet conçu sa propre API FuryGL, inspirée de Vulkan, mais ne supportant pas des technologies maintenant triviales comme les shaders.

Vous pouvez encore suivre les aventures de Dylan sur YouTube qui avoue sur son site, ainsi qu’au site Hacker News, son ambition de mettre à disposition tout son travail, matériel et logiciel, au grand public.


Rejoignez-nous de 17 à 19h, un jeudi sur deux, pour l’émission UNLOCK produite par Frandroid et Numerama ! Actus tech, interviews, astuces et analyses… On se retrouve en direct sur Twitch ou en rediffusion sur YouTube !

Les derniers articles