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

Изменения касаются текущего драйвера 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.
ИсточникПоделись видео:
