LINUX.ORG.RU

Энтузиаст сделал с нуля видеокарту и запустил на ней Quake. Первый. В 2024.

 , , , ,


1

1

Сабж

Разработчик игрового программного обеспечения Дилан Бэрри (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, оптимизированной под этот ускоритель.

Сцылко

Честно говоря, я удивлён. Неужели воспроизвести технологии 30-летней давности так тяжело?

А вообще, ждём дров под линукс

★★★★★

Последнее исправление: tiinn (всего исправлений: 2)

Ответ на: комментарий от damix9

Сказал @damix9 за авторством которого это: Добавил массивам свойство isEmpty - нужен code review, потому что так «читаемее».

Лучше бы программировать FPGA научился, таких специалистов не так много.

a1ba
()
Последнее исправление: a1ba (всего исправлений: 1)
Ответ на: комментарий от anonymous

Помогают одни люди, а хамят совершенно другие.

Ну ок, даже если допустить, что эти множества пересекаются, новичок не должен платить за помощь терпением хамства.

damix9 ★★★
()

типичный графический ускоритель PCIe 20-летней давности.

Дак 2004 PCI-e только начал появляться в железе, обзорщики платы начали осенью 2024 щупать, а карты были на AGP-чипах с чипом переходником в PCI-e.

так тяжело

Тяжело, если бы он имея заранее все необходимые навыки лет 10 бился full time. А тут он изучал проектирование электронных устройств, поди ещё основную работу работал.

mky ★★★★★
()
Ответ на: комментарий от damix9

Новичок, который зачем-то припёрся за «помощью» на юмористический форум, должен как минимум доставлять.

token_polyak ★★★★
()
Последнее исправление: token_polyak (всего исправлений: 1)

По словам Бэрри, на самом деле самой сложной частью разработки было написание драйверов для Windows.

Данунах, а я думаю, почему даже иксбокс под линуксом разрабатывают.

steemandlinux ★★★★★
()