Легендарный 3dfx Voodoo 3 спустя 27 лет вновь поддерживает Linux и запускает Quake

Добавь сайт в закладки! Инструкция по ссылке.

+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

3dfx скончалась четверть века назад, но Voodoo 3 все еще в памяти

Linux 7.3 получит неожиданные обновления для одной из самых знаковых видеокарт в истории — 3dfx Voodoo 3, выпущенной в 1999 году. Спустя более 25 лет ядро ОС сможет самостоятельно активировать ускоритель даже на машинах, BIOS которых не может инициализировать старую видеопрошивку.

Изображение сгенерировано ChatGPTИсточник изображения: ChatGPT

Изменения касаются текущего драйвера tdfxfb, который отвечает за функциональность Voodoo 3 в режиме framebuffer. Ранее он предполагал, что видеокарта уже подготовлена к работе системной прошивкой. На классических ПК с BIOS это происходило автоматически, но на современных платформах, Amiga и других нестандартных системах, карта могла быть обнаружена, но не выводила изображение.

С такой проблемой столкнулся разработчик Дэниел Палмер, когда пытался запустить Voodoo 3 на Commodore Amiga 4000 с PCI-мостом Mediator. Linux определил устройство на шине PCI, но сама видеокарта не инициализировалась.

Новая версия драйвера устраняет эту проблему. Теперь Linux извлекает данные из собственного Video BIOS Voodoo 3 и самостоятельно выполняет необходимые процедуры запуска, превращая обнаруженное PCI-устройство в рабочий видеоадаптер без помощи прошивки компьютера.

Патч уже был успешно протестирован как на современной системе x86-64, так и на Amiga 4000. В настоящее время поддерживается только Voodoo 3 — модели Voodoo 4 и Voodoo 5 на чипе VSA-100 не включены в обновление из-за различий в структуре их BIOS.

Тем не менее, ожидать полного возвращения легендарной карты в современный графический стек не стоит. tdfxfb по-прежнему использует устаревший framebuffer и предназначен в основном для вывода изображения и работы текстовой консоли. Поддержка Mesa, современных OpenGL, Wayland или DRM/KMS отсутствует.

Гораздо интереснее другой проект Палмера, который уже выходит за рамки обычного драйвера. Разработчик создал экспериментальный интерфейс /dev/tdfx3d, позволяющий программам напрямую управлять 3D-ускорителем Voodoo 3. На его основе работают библиотеки smoltdfx и smolminigl — компактная открытая реализация OpenGL 1.x, не требующая ни X11, ни Mesa, ни фирменного API Glide.

Эксперимент можно считать успешным: Voodoo 3 способна запускать Quake с аппаратным 3D-рендерингом. Производительность пока далека от идеала, а некоторые возможности (например, мультитекстурирование) все еще находятся в разработке.

Для повышения производительности Палмер даже создал эмулятор Voodoo 3 для QEMU. По его словам, в разработке ему помог Claude: одинаковые сцены одновременно запускаются на эмуляторе и на реальной видеокарте, после чего кадры автоматически сравниваются, что помогает находить ошибки в реализации.

В будущем это открывает интересные возможности для пользователей ретро-ПК. Теоретически PCI-версию Voodoo 3 можно передавать виртуальной машине с Windows 98 через PCI passthrough, позволяя классическим играм работать на оригинальном «железе».

Linux 7.3 не делает Voodoo 3 современной видеокартой, но устраняет важное ограничение, которое мешало использовать легендарный ускоритель на нестандартных и современных системах. А экспериментальный открытый 3D-стек уже подарил карте вторую жизнь — и возможность вновь запускать Quake.

Источник
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Поделись видео:
Подоляка