Энтузиаст-разработчик Дилан Барри (Dylan Barrie) спустя четыре года разработки наконец-то представил собственную видеокарту с открытым исходным кодом. Проект получил название FuryGPU. Утверждается, что графический ускоритель полностью создан с нуля.
Барри заявил, что его детище основано на платформе Xilinx FPGA и способно запускать компьютерную игру Quake с частотой 44 кадра в секунду. Как видно из опубликованных изображений, FuryGPU напоминает типичную видеокарту двадцатилетней давности, однако оснащена современными разъемами 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. Когда аппаратная часть была завершена, начался не менее лёгкий этап — написание программного обеспечения.
Автор проекта признался, что создание драйверов оказалось самым «болезненным» этапом. И это при условии, что последние 14 лет Дилан Барри работает с программным обеспечением рендеринга графики в компьютерных и видеоиграх. Изначально настолько сильно углубляться в создание видеокарты Барри не хотел — ему было достаточно запустить на ней простенький демо-ролик, чтобы доказать окружающим работоспособность самодельного GPU. Но со временем цели изменились, и энтузиаст захотел добиться приемлемого уровня производительности пусть даже в простенькой и классической игре — Quake.
После окончания работ по написанию основных драйверов, также были разработаны собственный API для взаимодействия с графическим ускорителем и драйверы ядра операционной системы Windows для дисплея и звука. В итоге Барри получил полноценную работоспособную видеокарту, которая способна «потянуть» Quake с частотой 60 fps.
Чуть ранее Барри опубликовал видео с демонстрацией игрового процесса на системе с FuryGPU. В разрешении 720p графический процессор показывал частоту 44 кадра в секунду. Автор проекта заявил, что его детище способно на большее. Он уже выявил некоторые узкие места в своей разработке и в ближайшее время готов их устранить во время оптимизации.
Очень скоро Барри обещает опубликовать всю информацию о проекте, который является открытым, на официальном сайте furygpu.com. Любой желающий найдёт там все подробности о разработке: схемы конструкции, API, дополнительные материалы и так далее.
Источник: trashbox.ru