В новой версии ядра Linux 7.0 разработчики устранили давнюю проблему с зависаниями графических процессоров AMD серии Hainan. Ошибка, впервые зафиксированная ещё в 2021 году, затрагивала старые видеокарты архитектуры GCN 1.0 и оставалась нерешённой несколько лет.
Речь идёт, в частности, о мобильной видеокарте Radeon R5 M430, пользователи которой сталкивались с зависаниями при работе на высоких уровнях производительности. Проблема проявлялась в версиях ядра Linux, начиная примерно с 5.4, тогда как в более старых релизах система работала стабильно.
Как выяснилось, решение оказалось относительно простым. Разработчики внесли небольшое изменение в драйверы Radeon и AMDGPU, скорректировав правила для максимальной частоты шейдеров. В обновление были добавлены дополнительные идентификаторы устройств, включая 0x6660 и 0x666F, что позволило устранить причину зависаний.
Исправление уже включено в ветку Linux 7.0 и планируется к обратному портированию в стабильные версии ядра.
Это означает, что пользователи старых видеокарт AMD смогут получить исправление без необходимости перехода на последнюю версию системы — патч будет доступен и в поддерживаемых стабильных релизах.
Графические процессоры Hainan относятся к первому поколению архитектуры AMD GCN, известному под кодовым названием Southern Islands. Эти чипы поддерживаются как устаревшим драйвером Radeon, так и более современным AMDGPU, поэтому исправление было применено сразу к обеим подсистемам.
Почему это важно
Хотя речь идёт о старом оборудовании, подобные исправления остаются критичными для пользователей, продолжающих использовать проверенные системы или устаревшее железо. Кроме того, случай показывает, что даже небольшие изменения в коде могут закрывать проблемы, остававшиеся без решения годами.
В ближайшее время обновление должно появиться в стабильных ветках Linux, что позволит устранить баг без сложных настроек и ручных исправлений.
Источник: Phoronix
Дополнительный источник: Linux Kernel




