14.08.2022

Из Mesa удалён код классических драйверов, не использующих Gallium3D

Из кодовой базы Mesa удалены все классические драйверы OpenGL и прекращена поддержка инфраструктуры для их работы. Сопровождение кода старых драйверов будет продолжено в отдельной ветке «Amber», но в основной состав Mesa данные драйверы больше входить не будут. Также из состава удалена классическая библиотека xlib, вместо которой рекомендовано использовать вариант gallium-xlib.

Изменение затрагивает все остававшиеся в составе Mesa драйверы, не использовавшие интерфейс Gallium3D, включая драйверы i915 и i965 для GPU Intel, r100 и r200 для GPU AMD и Nouveau для GPU NVIDIA. Вместо указанных драйверов рекомендуется использовать драйверы на основе архитектуры Gallium3D, такие как Iris и Crocus для GPU Intel, radeonsi и r600 для карт AMD, nvc0 и nv50 для карт NVIDIA. Удаление классических драйверов приведёт к прекращению поддержки GPU Intel с архитектурой старее Broadwell (в драйвере Iris оставлена только поддержка архитектур Gen9+), AMD Radeon R100 и R200 и старых карт NVIDIA.

Архитектура Gallium3D упрощает разработку драйверов Mesa и позволяет избавиться от свойственного классическим драйверам дублирования кода. В Gallium3D задачи управления памятью и взаимодействия с GPU вынесены на сторону отдельных модулей ядра DRM (Direct Rendering Manager) и DRI2 (Direct Rendering Interface), а для драйверов предоставляется готовый трекер состояний с поддержкой кэша повторного использования выводимых объектов. Классические драйверы требуют поддержания своего бэкенда и трекера состояния для каждой аппаратной платформы, но они не привязаны к DRI-модулям ядра Linux, что позволяет использовать их в таких ОС, как Solaris.

Источник.