Друге дихання для «динозаврів»: Valve виправила баг відеокарти Radeon 14-річної давнини

Автор: Павло Дорошенко | сьогодні, 16:24

Світ Linux — це місце, де залізо не вмирає, воно просто чекає на свого героя. Поки великі корпорації списують пристрої в утиль через два роки після релізу, опенсорс-спільнота продовжує копирсатися в коді, повертаючи до життя справжній антикваріат. Цього разу героєм став Тимур Кристоф (Timur Kristóf), розробник графічних драйверів Valve, який нарешті закрив гештальт власників Radeon HD 7870 XT.

Архітектурна пастка Tahiti LE

Проблема Radeon HD 7870 XT полягала в її неоднозначному походженні. На відміну від стандартної HD 7870, побудованої на чіпі Pitcairn, версія XT базувалася на урізаному кристалі Tahiti — тому самому, що використовувався в топових на той час HD 7950 та HD 7970. AMD просто заблокувала частину обчислювальних блоків, створивши такий собі «франкенштейн» для середнього цінового сегмента. Однак те, що добре працювало в Windows, стало головним болем для користувачів вільного ПЗ.

Сучасний драйвер AMDGPU, який є стандартом для графіки компанії в Linux, роками ігнорував цю модель через специфічну конфігурацію кешу TCC (Texture Cache Controller). Частково відключені блоки збивали драйвер із пантелику, змушуючи систему відкочуватися до старого модуля ядра radeon. Це автоматично позбавляло користувачів підтримки сучасних графічних API та багатьох оптимізацій.

Valve рятує антикваріат

Тимур Кристоф вніс необхідні правки безпосередньо в код драйвера, дозволивши AMDGPU коректно розпізнавати «обрізані» блоки Tahiti. Це рішення робить AMDGPU драйвером за замовчуванням для архітектур Southern Islands та Sea Islands. Головний бонус тут — повноцінна підтримка бібліотеки RADV. Це відкриває доступ до Vulkan «з коробки», що критично важливо для роботи Proton та запуску ігор з Windows.

Результати оптимізації виглядають майже фантастично: у деяких сценаріях продуктивність відеокарти зросла втричі. Звісно, трикратне прискорення на залізі 2012 року не перетворить комп'ютер на ігрову станцію для сучасних AAA-проєктів, але це робить систему значно чуйнішою та дозволяє впевнено запускати ретро-ігри або використовувати пристрій як медіацентр.

Продуктивність та сенс існування

Можна було б запитати: навіщо Valve витрачати ресурси на підтримку заліза, якому місце в музеї? Відповідь криється в уніфікації. Для стабільності SteamOS та всього графічного стека Linux важливо, щоб драйвер працював передбачувано на будь-якому підтримуваному поколінні GCN. Виправлення таких «хвостів» дозволяє чистити код від застарілих милиць, які накопичувалися роками.

Крім того, це чудовий приклад того, як відкритий код дозволяє виправляти помилки виробника навіть через десятиліття після того, як сама AMD припинила офіційну підтримку цих карток. Поки драйвер отримує оновлення, залізо залишається актуальним для специфічних завдань.

Хоча старі відеокарти отримують нове життя, сучасні технології вимагають зовсім інших потужностей. Наприклад, оновлені Asus Zephyrus G14 та G16 пропонують топову продуктивність, хоча їхня ціна може змусити вас ще довго триматися за свою стареньку Radeon.