Як інформує «Перший Новинний» із посиланням на видання Tom’s Hardware,ОС Linux 7.3 отримає несподіване оновлення драйверів для однієї з найвідоміших відеокарт у історії комп’ютерних технологій — 3dfx Voodoo 3, яка була випущена на ринок у 1999 році. Через понад чверть століття ядро ОС (операційна система) зможе самостійно запускати прискорювач. Це стане можливим навіть на комп’ютерних платформах, чий BIOS (Basic Input/Output System / базова система введення-виведення) не здатний ініціалізувати застарілу відеопрошивку.
Технічні зміни у драйвері tdfxfb та вирішення проблеми ініціалізації
Внесені розробниками корективи стосуються існуючого програмного модуля tdfxfb, який відповідає за функціонування відеокарти Voodoo 3 у режимі framebuffer (буфер кадрів). Раніше цей драйвер передбачав, що графічний адаптер уже підготовлений до повноцінної роботи первинною системною прошивкою. На класичних персональних комп’ютерах із традиційним BIOS цей процес відбувався в автоматичному режимі. Однак на сучасних материнських платах із прошивкою UEFI (Unified Extensible Firmware Interface / Уніфікований розширюваний інтерфейс прошивки), а також на альтернативних платформах Amiga карта определялася системним шинним контролером, але відмовлялася виводити зображення на монітор.
Зі згаданою технічною перепоною зіткнувся програміст Деніел Палмер під час спроби інтегрувати та запустити Voodoo 3 на ретро-комп’ютері Commodore Amiga 4000, оснащеному спеціальним мостом розширення PCI (Peripheral Component Interconnect / з’єднання периферійних компонентів) Mediator. Замість робочого дисплея розробник отримував сповіщення про відсутність сигналу. Операційна система Linux успішно фіксувала наявність пристрою на шині PCI, проте сам графічний прискорювач не проходив стадію первинного запуску. Оновлена версія драйвера усуває цей недолік: тепер ядро Linux зчитує дані з власного мікрокоду Video BIOS Voodoo 3 і самостійно здійснює всі необхідні процедури старту, перетворюючи виявлене обладнання на працездатний відеоадаптер без допомоги базової прошивки комп’ютера.
Тестування патча та обмеження сумісності із серією Voodoo
Створений програмний патч вже пройшов успішні випробування як на сучасній комп’ютерній архітектурі x86-64, де пристрій створює робочий системний вузол /dev/fb0, так і на класичній Amiga 4000. Наразі підтримка реалізована виключно для графічного чіпа Voodoo 3. Моделі наступного покоління Voodoo 4 та Voodoo 5, що побудовані на базі процесора VSA-100, не увійшли до даного випуску через суттєві відмінності в архітектурі їхнього Video BIOS.
Водночас очікувати повноцінного повернення ретро-відеокарти до сучасного графічного стека не варто. Драйвер tdfxfb надалі функціонує на базі застарілої технології framebuffer і призначений насамперед для базового виводу системного зображення та роботи з текстовою віртуальною консоллю. Підтримка сучасних програмних інтерфейсів і графічних систем, таких як Mesa, OpenGL, Wayland або DRM/KMS (Direct Rendering Manager / Kernel Mode Setting / Менеджер прямого рендерингу та налаштування відеорежимів ядра), у цьому оновленні повністю відсутня.
Експериментальний 3D-стек, інтеграція з Quake та використання штучного інтелекту
Значно більший інтерес для технічної спільноти становить інший проєкт Деніела Палмера, який виходить за межі стандартного драйвера ядра. Розробник створив експериментальний програмний інтерфейс /dev/tdfx3d, який дозволяє стороннім програмам напряму керувати тривимірним прискорювачем Voodoo 3 через його регістри. На базі цього інтерфейсу функціонують спеціалізовані бібліотеки smoltdfx та smolminigl — компактна відкрита реалізація стандарту OpenGL 1.x, яка працює автономно та не потребує наявності дисплейного сервера X11, бібліотеки Mesa або фірмового інструментарію Glide.
Практичний експеримент виявився вдалим: відеокарта Voodoo 3 успішно виводить та запускає легендарну тривимірну гру Quake із використанням апаратного 3D-рендерингу. Рівень продуктивності поки що не досяг оптимальних показників, а окремі графічні функції, зокрема мультитекстурування, перебувають на стадії активної розробки. Для прискорення програмування Палмер створив спеціалізований емулятор Voodoo 3 для віртуальної платформи QEMU. За словами інженера, у процесі написання коду активно використовувався чат-бот із штучним інтелектом Claude: однакові графічні сцени паралельно рендерилися на емуляторі та на фізичній відеокарті, після чого згенеровані кадри порівнювалися в автоматичному режимі для виявлення помилок у коді.
Перспективи для ретро-комп’ютерів та значення оновлення Linux 7.3
У довгостроковій перспективі розробка відкриває широкі можливості для фанатів класичного комп’ютерного обладнання. Модифікація дозволяє передавати PCI-версію Voodoo 3 у користування віртуальній машині з операційною системою Windows 98 за допомогою технології PCI passthrough (прямий прокид пристрою через шину PCI), забезпечуючи запуск класичних відеоігор на оригінальному апаратному забезпеченні.
Реліз ядра Linux 7.3 не перетворює Voodoo 3 на сучасний графічний адаптер, однак повністю усуває критичне апаратне обмеження, яке тривалий час перешкоджало експлуатації культового прискорювача на нестандартних і новітніх комп’ютерних системах. Створений відкритий 3D-стек забезпечив графічній карті повноцінну «другу молодість» та можливість знову обробляти культові ігри кінця 1990-х років.
Раніше ми писали про те, що Samsung оновила ПЗ Galaxy S8 і Galaxy Note 8.
