Проблема стабильности на старом железе
Команда Linux-графики Valve, в частности разработчик Timur Kristóf, провела масштабную работу по модернизации поддержки устаревших графических процессоров AMD. Фокус смещен на архитектуру GCN 1.0/1.1, включая легендарные карты серии Radeon RX 400/500 (Polaris). Главная цель — миграция с устаревших драйверов на современный стек AMDGPU и улучшение совместимости с Vulkan через драйвер RADV.
Внедрение очередей передачи (Transfer Queues)
Ключевым нововведением стала реализация поддержки очередей передачи данных (transfer queues). Эта функция позволяет выполнять асинхронные копии данных, что критически важно для производительности современных приложений и игр. Ранее эта возможность была недоступна или работала нестабильно на Polaris-архитектуре.
Результаты тестирования: от хаоса к стабильности
Разработчик предоставил конкретные метрики надежности после внедрения исправлений в ветку Mesa 26.3-devel. До патчей тестирование было крайне ненадежным, что делало использование Vulkan на этих картах рискованным для разработчиков и пользователей.
| Метрика | До исправлений | После исправлений |
|---|---|---|
| Успешность VK CTS | 50% (высокий процент сбоев) | 100% (20 полных прогонов без ошибок) |
| Статус драйвера | Нестабильный | Надежный (Reliable) |
| Поддерживаемые GPU | Polaris (частично) | Polaris + Hawaii (в экспериментальной ветке) |
Текущий статус и доступность
Код для включения поддержки очередей передачи находится в ветке radv_sdma_legacy. На данный момент для активации функции требуется установка переменной окружения RADV_EXPERIMENTAL=transfer_queue. Основные изменения уже объединены в Mesa 26.3-devel, однако полная интеграция в основную ветку (mainline) и поддержка карт серии Hawaii еще находятся в стадии разработки.
Эта работа значительно продлевает жизнь десятилетним видеокартам AMD, позволяя им корректно работать с современными стандартами Vulkan без критических сбоев.
Источник: Phoronix ↗
