Новая стратегия AMD по разработке графических драйверов для Linux

На проходящей в Бордо (Франция) конференции XDC компания AMD анонсировала новую стратегию разработки графических драйверов для Linux.

Разработчики AMD сдержали свои обещания и представили наглядные слайды, описывающие их видение процесса, проблемы встреченные на этом пути и дальнейшие планы. Основная идея изменений сводится к тому, что выполняемый на уровне ядра модуль и его "обвязка", касающаяся DRM и KMS, будет целиком базироваться на открытом коде.

Разработчики называют такой подход "Base Graphics", а драйвер получил название "amdgpu". Эта часть будет основана на уже существующем коде Radeon. Тем не менее, это скорее всего коснется только новых GPU, предположительно начиная с серии Pirate Islands. Отмечается, что обкатка идей на уровне прототипа делается на уже существующих GPU семействах Sea Islands. Важным изменением станет то, что теперь работающая на уровне ядра открытая часть драйвера станет разрабатываться параллельно с разработкой нового оборудования, с использованием инженерных прототипов и взаимодействием с командой разработчиков оборудования.

В "классический" Catalyst поддержка новых GPU скорее всего добавляться не будет - вместо этого будет развиваться драйвер amdgpu, за основу которого будет взят Radeon. Пользуясь случаем, дополнительно можно отметить планы реорганизации устройства драйвера, работающего на уровне ядра. Теперь вместо множественных ветвей кода (code paths), различных для разных чипов, деление на компоненты драйвера будет выполняться на основе версий IP-блоков (IP, Intellectual Property) оборудования (например, декодера UVD) и для каждой версии будет своя реализация работы с этим блоком. При взаимодействии с тем или иным чипом драйвер будет задействовать модули, соответствующие версиям блоков из которых состоит чип.

С вариантами графического стека на основе подхода AMD можно ознакомиться по следующей ссылке.