Ontwikkelaar bouwt eigen opensource-gpu die Quake stabiel kan draaien

De prijzen van videokaarten mogen dan wel enigszins dalen, het is nog steeds moordend duur een goede gpu in je build te zetten. Dylan Barrie vond het daarom tijd zijn eigen gpu te ontwikkelen. Vooruit, de FuryGPU haalt het niet bij een 4090, maar is wel opensource en kan Quake op Windows stabiel draaien.

Ontwikkelaar en hobbyist Dylan Barrie, die zelf in de game-industrie werkt, ontwikkelde de FuryGPU in zijn vrije tijd. Hij werkt daar al aan sinds augustus 2021, toen hij zijn eerste commit deed naar het project. De FuryGPU is een videokaart die is gebaseerd op een Xilinx-fpga, specifiek de Zynq UltraScale+. De gpu heeft een PCIe 2x4-interface, waarvoor Barrie eigen schema's moest ontwerpen. FuryGPU heeft onder andere vier onafhankelijke tile rasterizers en een kloksnelheid van 400MHz, zegt Barrie.

FuryGPU
Bron: Dylan Barrie

De gpu kan nog niet helemaal overweg met Crysis, maar Quake lukt wel degelijk. Barrie schreef een Windows-driver voor de gpu en vervolgens een api om met de gpu te kunnen communiceren, naast kerneldrivers om beeld en audio af te kunnen spelen. Daarmee lukte het hem om Quake stabiel te draaien met 60 frames per seconde.

Barrie wil de data van zijn gpu open source beschikbaar maken. Hij heeft het dan over de volledige code: zowel het schema van de pcb als de Windows- en de api-runtimedrivers. In een post op HackerNews schrijft Barrie dat hij nog niet kan zeggen wanneer hij dat denkt te doen.

Door Tijs Hofmans

Nieuwscoördinator

29-03-2024 • 16:53

47

Submitter: Gaming247

Reacties (47)

47
46
33
0
0
10
Wijzig sortering
Ik ben zeer benieuwd of dit project ooit helemaal van de grond zal komen. Ik buig dit zeker toe, maar ik zou mijn huidige GPU er niet voor inruilen.

De omvang van vrijwilligers kan gigantisch zijn, maar los van alle kennis die we bij elkaar kunnen krijgen missen we toch echt een fatsoenlijke productie faciliteit.
Zelfs al zou een chipmaker zo gek zijn om dit soort chips te produceren, zal deze in prijs-prestatie nooit kunnen concurreren met de grote 3, puur door productie omvang kunnen deze goedkoper produceren dan opensource alternatieven.
(Laat staan als er ook al naar patenten gekeken moet worden)

Het was mooi geweest als de community’s echt concurrerend zouden kunnen zijn met de grote makers. Maar ik denk dat dit bij een droom blijft.
Zelfs Intel kon het met een miljarden budget maar lastig van de grond krijgen en is het nog maar de vraag of ze het vol zullen gaan houden.
Zelfs al zou een chipmaker zo gek zijn om dit soort chips te produceren
Als jij betaald, produceren die gewoon hoor. Maakt ze weinig uit wat precies die chip doet. Punt is wel dat je grote aantallen nodig hebt voor het uit kan.
Zou je zeggen hè? Maar gelukkig is daar ome google met grote dorst naar opensource projectjes die ze wellicht kunnen gebruiken.
Dus als je ze lief aankijkt printen zij tout gratuit een chippie voor jou!
Dat is voor prototype runs. En een kleine chipje in 130nm, waar het daar over gaat, valt wel mee qua kosten. Voor paar duizend Euro moet je wel 20-50 chipjes kunnen krijgen als Google het niet betaald. Maar dat zijn dus de prijskaartjes waar het over gaat in dat voorbeeld. Als jij in 5nm productie wil draaien van grote chips wordt het heel ander verhaal ;) .
Helemaal van de grond komen? Met welk doel?
Ik kan me niet voorstellen dat dit project doelt op concurreren met bestaande GPU’s.
De omvang van vrijwilligers kan gigantisch zijn,
De omvang van vrijwilligers hoeft niet gigantisch te zijn. Dit is één persoon. Zelfs enkel als je "omdat het kan" meerekent, zie ik dit nu als een succesvol project.
Hier een commercieel product van maken wil hij helemaal niet.
Je bekijkt het helemaal van de verkeerde kant denk ik. Dit is 1 enthousiasteling met een bijzonder idee/passie.

Dit is waarschijnlijk gemaakt omdat hij:
- Bezeten is van computers/gpu's.
- Te veel vrije tijd heeft/slecht is in niks doen.
- Omdat het kan.
- Of omdat hij zich hiermee wil profileren. Staat spectaculair op zijn CV en streeft misschien een baan bij een bepaald bedrijf of bepaalde sector na.
De omvang van vrijwilligers kan gigantisch zijn, maar los van alle kennis die we bij elkaar kunnen krijgen missen we toch echt een fatsoenlijke productie faciliteit.
Dit is een hobby project. Er zijn ook mensen die als uit de hand gelopen hobby een chip maken.
1+1=2
:)
Communitues zullen nooit ook maar in de buurt komen van recente commerciele varianten, alleen al omdat communities niet de resources hebben om de recente fabricage technieken te kunnen gebruiken. Als ze in de buurt komen van 10-15 jaar geleden danbis dat al bijzonder, zo ook deze, die duur was om te fabriceren, maar 25 jaar geleden hadden we al GPU's die beter waren.
Maar interessant als hobby project is het natuurlijk wel.

[Reactie gewijzigd door SuperDre op 26 juli 2024 13:06]

De omvang van vrijwilligers kan gigantisch zijn..
Noem je nu vrijwilligers dik? :+
Daarmee lukte het hem om Quake stabiel te draaien met 60 frames per seconde.
Video-omschrijving:
Quake Timedemo - 44fps!
Wat is er met die andere 16 FPS gebeurd?
Maarrrrr.... Draait het ook Doom?!
Alles draait Doom, want Doom had nog een engine die makkelijk alles op de CPU kon renderen zonder dat GPU hardware hier bijzonder nuttig bij was. Het was juist Quake dat als eerste kwam met versies van de engine die van 3D accelerators gebruik konden maken, en dat was op hogere resoluties ook geen overbodige luxe.
Tomb Raider en de alfa van Quake I waren voor mij DE reden om een 3Dfx kaart te kopen.
Ik was meer van de rally/race sims. Carmageddon heeft me nooit zo kunnen vermaken.
Leuk hobbyproject, maar ik begrijp het verhaal niet helemaal: nieuwe videokaarten zijn duur, dus ik koop een FPGA die ook niet bepaald goedkoop is (development boards voor deze FPGA bestaan niet onder de 150 euro) zodat ik een game van 25 jaar geleden stabiel kan spelen op Windows 11. Flinke prestatie om van een FPGA een open source GPU te maken, maar de use case ontbreekt mij hier even.
Soms gaat het niet om het praktische nut, maar alleen om “omdat het kan”. Dat het idee voortkwam uit “videokaarten zijn duur”, wil niet zeggen dat het doel is om dezelfde kwaliteit kaarten goedkoper te produceren. Dat was slechts een trigger voor het starten van een cool project. Ik vind het in ieder geval bijzonder knap van m. Ik doe het hem niet na.
Vooral de firmware / software kant hiervan lijkt me erg complex. De hardware kan je grotendeels baseren op de schema’s van de devkits voor de FPGA, maar voor een ‘videokaart’ firmware zijn er denk ik niet veel voorbeeld projecten.
(Voor de duidelijkheid, ik zie de configuratie van een FPGA als firmware)

Wie weet kan dit een stapje zijn naar een FPGA-only pc.
Wie weet kan dit een stapje zijn naar een FPGA-only pc.
Die bestaan eigenlijk al, in bepaalde vorm. Je hebt tegenwoordig van die heruitgaven van oude consoles, en dat is vaak alleen een FPGA. De originele chips worden allang al niet meer gemaakt, dus de meest rendabele oplossing is een FPGA. De originele chips opnieuw gaan bouwen lijkt me vele malen duurder.
Haha, dat is een understatement
De Zynq Ultrascale+ is het topmodel. Denk in de $3000+ range voor een development kit.
Dit is een leuke proof of concept (en volgens mij is hij niet de eerste die door gelukt is, maar goed, geen bronnen), maar niets met een serieuze markt. Zeker geen concurrentie voor nVidia, AMD of zelfs intel.

Edit: jij hebt waarschijnlijk naar de Zynq 7000 zitten kijken. Stel je voor: de Zynq Ultrascale+ is een Ferrari. Dan is de Zynq 7000 een fiets...

[Reactie gewijzigd door MeMoRy op 26 juli 2024 13:06]

Dat dacht ik ook, maar hij gebruikt een SoM met een Zync Ultrascale+ erop staat op zijn blog. Die dingen kosten blijkbaar maar $325.

En dan hoef je dus ook de memory interface niet te ontwerpen als ook het oscillator circuit.

Ik ben nog niet verder gekomen, maar vraag me af welke pcb lay-out tool hij gebruikt heeft. Als dit met KiCad kan is dat best netjes.
Oh wauw, die had ik nog niet gezien. Dat is wel een heel stuk goedkoper dan ik gewend ben. Inderdaad zeer goede prijs kwaliteit verhouding.
Ik vond deze lijst: https://www.fpgadeveloper.com/list-of-mpsoc-dev-boards/

Geen idee hoe duur de losse FPGA is, maargoed, je hebt natuurlijk iets van een bordje nodig om met dat ding te kunnen interfacen.
Ja, zie de andere reactie, ik heb gemist dat er een nieuwe budget serie (kria soms) is gereleased die voor bijna een tiende van de prijs te koop is. Die zal natuurlijk niet zo krachtig zijn als de duurdere, maar de specs zien er goed uit

[Reactie gewijzigd door MeMoRy op 26 juli 2024 13:06]

De use case is een persoonlijk hobby project, hetgeen open source gedeeld gaat worden zodat anderen er ook mee kunnen spelen. Althans, zo lees ik het.
Dat begrijp ik, maar in de context van de inleiding is het veel aantrekkelijker om gewoon een oude videokaart te kopen.
Je moet gewoon helemaal geen videokaart kopen en Quake met je iGPU renderen op je moderne processor, want die haalt dat met twee vingers in de neus tegen een stuk minder stroomverbruik ook nog. Dit project heeft geen enkele praktische waarde, de inleiding is puur scherts. Als je het serieus neemt sta je inderdaad voor een raadsel. :P

Staat tegenover dat best wat serieuze projecten ooit begonnen zijn als hobby-bob onderneminkje. Het beste voorbeeld is misschien wel Linux, dat begon als hobby-versie van Unix dat op een 80386 kon draaien. Nou zit het met hardware natuurlijk wel even iets anders en zal dit bordje vast niet het begin zijn van de nieuwe Nvidia, maar wie de hobby niet eert is het vak niet weerd.

[Reactie gewijzigd door MneoreJ op 26 juli 2024 13:06]

Het beste voorbeeld is misschien wel Linux, dat begon als hobby-versie van Unix dat op een 80386 kon draaie
Uh, nee. Linus is ermee begonnen als editor voor op Minix,maar dat kreeg zo veel uitbreiding (feature creep?) dat zelf hij het uiteindelijk als OS is gaan zien / benoemen.
Niet alles hoeft toch nut te hebben, gewoon superknap staaltje werk.
Nog een GPU erbij en je hebt een FuryGPU Maxx.
Knap staaltje werk!
Ik heb echt grenzeloze bewondering voor mensen die dit soort dingen "gewoon even" in hun vrije tijd erbij doen. En er ook in slagen om iets voort te brengen i.p.v. het op te geven na 2 weken. We zijn tegenwoordig heel erg verwend wat technologie betreft dus het is makkelijk om te vergeten wat er allemaal schuil achter gaat. De nodige kennis, toewijding en tijd die je nodig hebt om zoiets in je eentje op te bouwen... Echt niet te onderschatten.
Dit soort zaken kan de catalysator zijn voor iets veel groters, benieuwd of we hier in de toekomst nog wat van gaan horen :)
Ik moest even naar de datum kijken, zowel het onderwerp als de schrijfwijze doet me denken aan de artikelen van Tweakers in de beginjaren (in positieve zin).

Heerlijk knutselproject en leuk om inzicht te krijgen in hoe een GPU werkt, praktische toepassing is natuurlijk beperkt. Zou wel leuk zijn als een dergelijk project ook PCI of AGP ging ondersteunen, dan zou het met wat optimalisaties interessant kunnen worden voor retro builds.
Alhoewel je natuurlijk met drivers, DirectX en OpenGL meteen tegen probleem aan zou lopen. Als je ziet hoe moeilijk het voor een reus al Intel al is om driver support in orde te krijgen voor (oudere) games dan is het waarschijnlijk onmogelijk voor een project zoals dit.
It runs off a custom Vulkan-like graphics API (“FuryGL”) and due to the lack of shaders and other modern features, is unable to support modern D3D or Vulkan
Nu nog een miniGL-driver voor de ware 3dfx-ervaring met GLQuake.
Heel tof gedaan, met recht een tweaker :)

Op dit item kan niet meer gereageerd worden.