Энтузиаст с нуля создал видеокарту и запустил на ней Quake

Энтузиаст с нуля создал видеокарту и запустил на ней Quake

Новость взята с 3dnews

Разработчик игрового программного обеспечения Дилан Бэрри (Dylan Barrie) создал собственную видеокарту. Проект FuryGPU, которым он в одиночку занимался в свободное от работы время, потребовал четырёх лет. За этот период Бэрри успел значительно подтянуть знания в инженерном деле, а именно в разработке графических ускорителей и их программировании. Его видеокарта формата PCIe, основанная на платформе Xilinx FPGA, способна запускать игру Quake.

Идея создать собственную видеокарту посетила Бэрри после его знакомства с проектом другого энтузиаста, Бена Итера (Ben Eater), собравшего с нуля программируемый 8-битный компьютер. Как можно увидеть на фотографиях, видеокарта FuryGPU выглядит как вполне типичный графический ускоритель PCIe 20-летней давности. Правда, он оснащён современными видеоразъёмами DisplayPort и HDMI. В рамках этого проекта было создано не только аппаратное обеспечение. По словам Бэрри, на самом деле самой сложной частью разработки было написание драйверов для Windows.

Бэрри начал реализовывать свою мечту о создании видеокарты после того, как взял в руки макетную плату Arty Z7 с FPGA и провёл предварительную разработку и тестирование. Впоследствии проект получил импульс благодаря дебюту системных модулей Xilinx Kria SoM (System-on-Modules), сочетающих в себе «безумно дешёвые ПЛИС Zynq UltraScale+ с массой модулей DSP, сравнительно большим количеством LUT и FF, а также усиленное ядро PCIe», объясняет энтузиаст.

Чтобы перейти от макетной платы к дизайну видеокарты, которую можно видеть на фотографиях, Бэрри самостоятельно изучил язык описания и верификации оборудования SystemVerilog, а также программный пакет KiCAD EDA/CAD для проектирования электроники. По его словам, для разработки схемы FuryGPU с 4-канальным PCIe потребовались титанические усилия, даже при наличии схемы FPGA, встроенной в SoM. После сборки FuryGPU он принялся за написание для неё программного обеспечения.

По словам энтузиаста, разработка драйвера Windows для FuryGPU оказалась «самой болезненной» частью всего проекта, даже несмотря на то, что последние 14 лет его основной деятельности были связаны с программным обеспечением рендеринга графики в индустрии разработки игр. Изначально Бэрри лишь хотел создать видеокарту и доказать, что она работает, запустив на ней простой демо-ролик. Однако с развитием проекта энтузиаст поставил перед собой цель добиться приемлемого уровня производительности видеокарты в классической ПК-игре Quake.

После написания драйвера для Windows, он также написал кастомный API для его взаимодействия с GPU, драйверы ядра Windows для дисплея и звука, и в итоге получил «полноценный графический ускоритель, способный отрисовывать Quake при 60 кадрах в секунду».

Ещё месяц назад Бэрри опубликовал ускоренное видео, на котором Quake работал на данной видеокарте в разрешении 720p с частотой кадров до 44. Однако, по словам разработчика, карта способна на большее. Он обнаружил некоторые узкие места, которые будет устранять при оптимизации.

FuryGPU является открытым проектом. Бэрри собирается опубликовать на сайте проекта статью, в котором подробно опишет весь процесс разработки видеокарты, опубликует схемы, драйверы, API, дополнительные материалы, а также порт игры Quake, оптимизированной под этот ускоритель.

От себя - честно говоря очень впечатляет, учитывая весь контекст, создание полноценно функционирующего GPU в одиночку от идеи до драйвера. Да - это ПЛИС, да, кто-то скажет может "GPU устроен гораздо проще CPU", но тем не менее такая работа у меня лично вызывает огромное восхищение!

9797
60 комментариев

Комментарий недоступен

7
Ответить

хотел сделать что-то подобное (правда 2д)Нарисовать видеокарту?

43
Ответить

Я как-то тоже хотел сделать что-то подобное (правда 2д), но я слишком тупой, поэтому забил хуйца

С вашими уникальными навыками мы приглашаем Вас в команду по разработке российской игровой консоли. Там вы найдёте единомышленников, которые смотрят на жизнь схожим образом, сможете обеспечить своё финансовое благополучие и потом успешно затеряться в анналах истории.

19
Ответить

Новый игрок на рынке получается

19
Ответить

А мы тут как раз собираемся российские консоли начать производить. Надо выкупать человечка

2
Ответить

Так я не понял, он и кристал кремния сам выростил, напилил на пластины болгаркой, потом посыпал сферху химикатами из ближайшего магазина и вытравил маску, потом запек чип в духовке и ножовкой распилил на квадраты, собрал сам станок по печати плат, сделал макет и разводку под чип и напечатал на станке?

8
Ответить

Ну по сути он сделал +- то, что делает nvidia и amd. Они то сами тоже ничего из вышеперечисленного не делают, а вот запрограммировать ПЛИС, чтоб она была как видеокарта это примерно и есть "разработать" видеокарту.

4
Ответить