Второе дыхание для «динозавров»: Valve исправила баг видеокарты Radeon 14-летней давности

Железо 2012 года не кажется: Valve восстанавливает поддержку Radeon HD 7870 XT в Linux. Источник: AI

Мир 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.