Почти 20 лет спустя: древние видеокарты AMD Radeon HD 2000 и 3000 получили исправление для Linux, устраняющее проблемы с воспроизведением видео

Linux Amd Radeon драйверы ядро исправление tomshardware.com

Новый разработчик ядра Linux использовал ИИ для исправления драйвера почти 20-летней видеокарты Radeon HD 2000/3000, устранив давнюю ошибку декодирования видео.

Исправлена давняя ошибка аппаратного декодирования видео на старых видеокартах AMD R600, которая будет включена в предстоящий выпуск Linux 7.5. Как заметил Phoronix, исправление нацелено на движок Unified Video Decoder (UVD) в семействах чипов RV610, RV620, RV630, RV635 и RV670, которые составляют линейки Radeon HD 2000 и HD 3000, выпущенные начиная с 2007 года. Пользователи Linux с этими картами сталкивались с визуальными искажениями при аппаратном ускорении воспроизведения видео, когда GPU одновременно обрабатывал активные 3D-задачи или отрисовку рабочего стола; эти проблемы теперь должны быть устранены.
Я исследовал искажения видео на своем старом iMac7,1 (RV610/M74, идентификатор устройства 1002:94c8). Когда декодер считывал сжатое видео из системной памяти, в то время как GPU выполнял отрисовку, это приводило к искажению видеокадров. Перемещение входных данных в VRAM позволяло декодировать кадры корректно. Отключение отрисовки графики также прекращало искажения.
Предлагается сохранять буферы UVD в VRAM для этого семейства устройств, как это уже делается драйвером для некоторых других чипов. Патч охватывает RV610, RV620, RV630, RV635 и RV670. Эти чипы используют общий путь декодирования RV6xx и устаревшую прошивку R600, поэтому я считаю, что они, вероятно, имеют одинаковые аппаратные требования. Кому-то с другим оборудованием потребуется это проверить.
Я тестировал это на Debian. Я использовал Codex для помощи в исследовании, тестировании и создании патча.

Тед Баллок, впервые внесший вклад в ядро
Интересно, что прорыв произошел не от опытного ветерана стека графики с открытым исходным кодом, а от новичка, использовавшего OpenAI Codex для помощи в распутывании устаревшего пути драйвера. Виновником оказалась ошибка размещения памяти: драйвер не закреплял входные буферы UVD последовательно внутри выделенной VRAM. Когда вызовы отрисовки графики конкурировали за ресурсы, кадры не декодировались должным образом. Принудительное удержание этих буферов в VRAM — поведение, которое драйвер ядра Radeon, по-видимому, уже применял для нескольких других семейств чипов — полностью устраняет проблемы с воспроизведением видео.
Легко забыть, насколько решающим было поколение R600 для графики ПК. Выпущенная в 2007 году как первая линейка настольных GPU под брендом AMD после крупной сделки по приобретению канадской ATI Technologies Inc., серия Radeon HD 2000 ознаменовала переход нового графического подразделения AMD от отдельных конвейеров пикселей и вершин на настольных компьютерах, после внедрения этой технологии сначала для Xbox 360. Переход к унифицированной шейдерной архитектуре произошел одновременно с DirectX 10 и Windows Vista, так что это было время многих перемен.
Хотя флагманская Radeon HD 2900 XT знаменито боролась с доминирующей Nvidia GeForce 8800 GTX в плане сырой игровой растеризации и энергопотребления, семейство R600 принесло серьезные мультимедийные возможности. Внедрение Unified Video Decoder (UVD) первого поколения в массовые чипы RV610 и RV630, а затем и усовершенствованный RV670, лежащий в основе любимых Radeon HD 3850 и 3870, позволило даже бюджетным ПК переложить тяжелое декодирование Blu-ray H.264 и VC-1 с процессора. В 2007 году плавное воспроизведение 1080p без максимальной загрузки двухъядерного процессора было серьезным преимуществом для многих пользователей, но особенно для сборщиков домашних медиацентров (HTPC).
Конечно, в 2026 году почти никто не использует видеокарту TeraScale 1 в качестве основной, особенно когда современная интегрированная графика превосходит их по производительности при гораздо меньшем энергопотреблении; автор, предоставивший патчи, хочет использовать их для своего старого iMac на базе Core 2 Duo. Тем не менее, есть что-то трогательное в долговечности драйверов Linux с открытым исходным кодом. В то время как проприетарная поддержка Windows для серий HD 2000 и 3000 была прекращена более десяти лет назад, основной поток ядра Linux продолжает нести этот факел. В сочетании с недавними усилиями по очистке с использованием ИИ в драйвере пользовательского пространства Mesa R600, старое оборудование Radeon, возможно, находится в лучшем программном состоянии сегодня, чем во время его фактического розничного срока службы.

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

В тренде:


Похожие новости: