Quem prega as virtudes da tecnologia FPGA não são poucos, e muitos projetos adotaram seus circuitos como soluções definitivas, mas é um erro pensar que funcionam por mágica. Um dos melhores exemplos vem de Dylan Barrie, engenheiro de software com mais de duas décadas de experiência em renderização. Seu plano original era dedicar alguns meses e criar uma espécie de demonstração técnica, porém, quatro anos de trabalho o transformaram em uma placa de vídeo completa, com interface PCI Express, drivers para Windows, e uma API personalizada. O nome de sua besta é FuryGpu, e ela já consegue executar Quake a mais de 40 FPS…

FuryGpu e o titânico desafio de criar uma placa de vídeo DIY
FuryGpu, placa de vídeo DIY

A ideia de uma placa de vídeo DIY não é nova. Provavelmente alguns de nossos leitores se lembram de A pior placa de vídeo do mundo criada por Ben Eater, e A mais simples do mundo, uma otimização de George Foot. Mas quando pensamos em uma GPU, nossa mente nos leva a um design mais tradicional, que possa ser instalado e ativado com relativa facilidade.

O problema é que passar de um protótipo em uma protoboard para uma placa completa exige um esforço imenso, mesmo tendo décadas de experiência. Assim chegamos ao blog de Dylan Barrie, que, depois de se especializar como engenheiro de software focado em renderização, decidiu molhar os pés nas águas do hardware. Barrie planejava dedicar alguns meses a este projeto, "criar um cubo giratório", e parar por aí... mas com quase quatro anos nas costas, seu resultado é FuryGpu.

FuryGpu: uma placa de vídeo DIY que funciona no Windows e roda Quake

FuryGpu é um "GPU-em-FPGA", baseado no Xilinx Zynq UltraScale+, com frequência de 400 MHz em seu núcleo e 480 MHz em sua unidade de texturas. Suporta um front-end FP32 full, filtros lineares e bilineares, e utiliza uma interface PCI Express 2.0 x4. Não há shaders programáveis, e em vez de depender de APIs convencionais como Direct3D e Vulkan, Barrie criou sua própria solução, FuryGL.

Isso significa que todos os jogos precisam de um port para funcionar corretamente na FuryGpu, algo difícil, embora não impossível. Barrie teve que aprender SystemVerilog e lutar com o KiCad, mas admite que a parte mais dolorosa do projeto foi escrever os drivers de vídeo compatíveis com Windows. Infelizmente ele não compartilhou detalhes, mas não nos surpreende que o sistema operacional da Microsoft seja um obstáculo (sem esquecer que escrever drivers é complicado em qualquer caso).

A intenção de Barrie é tornar a FuryGpu open source, no entanto, ele alerta que não há um prazo. O melhor é acompanhar seu blog e seu canal no YouTube para obter mais novidades.

Site oficial da FuryGpu: Clique aqui. Dylan Barrie no YouTube: Clique aqui.