В ядре Linux 7.3 появится обновление для легендарной видеокарты Voodoo 3 от 3dfx. Современным графическим ускорителем она, конечно, не станет. Разработчики лишь исправляют старый драйвер tdfxfb, чтобы Linux мог самостоятельно запустить карту, даже если компьютер не сделал этого при включении.
Проблема возникает на необычных системах, где прошивка не умеет запускать старый видео BIOS Voodoo 3. Именно с такой ситуацией столкнулся разработчик Даниэль Палмер, установив карту в Amiga 4000 через PCI-мост. Linux видел Voodoo 3, но карта не работала и монитор показывал сообщение об отсутствии сигнала.
Новая версия драйвера сможет брать необходимые данные прямо из BIOS видеокарты и выполнять её запуск уже после загрузки Linux. Благодаря этому Voodoo 3 сможет нормально вывести изображение даже в тех случаях, когда прошивка компьютера не умеет работать с такой старой картой. Пока эта функция предназначена только для Voodoo 3. Поддержку Voodoo 4 и 5 решили убрать, поскольку их BIOS устроен по-другому.
На обычном современном ПК польза от обновления будет небольшой. После запуска драйвера Voodoo 3 сможет показывать Linux-консоль и работать как простое устройство вывода изображения. Однако ждать современной графики не стоит. Здесь нет полноценной поддержки Mesa, Wayland, современного OpenGL или других технологий, которые используются в новых видеокартах.
При этом Палмер занимается не только выводом изображения. Он разрабатывает отдельный способ работы с 3D-возможностями Voodoo 3, который позволяет программам напрямую обращаться к оборудованию карты. На его основе появились небольшие библиотеки smoltdfx и smolminigl с поддержкой OpenGL 1.x.
Разработка уже работает на настоящем железе. По словам Палмера, созданная MiniGL позволяет запускать Quake на Voodoo 3, хотя скорость пока невысокая и некоторые функции карты ещё требуют доработки. Для проверки результатов разработчик также использует эмулятор Voodoo 3 в QEMU. Тесты запускаются и на реальной карте, и в эмуляторе, а результаты сравниваются между собой.
Для современного компьютера всё это остаётся скорее необычным экспериментом. Но для старых систем вроде Amiga 4000 новая поддержка может оказаться действительно полезной и позволит использовать Voodoo 3 там, где раньше Linux просто не мог запустить эту карту.
