Второе дыхание для «динозавров»: 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.