Компания Intel опубликовала Xe, новый Linux-драйвер для своих GPU

Компания Intel опубликовала начальную версию нового драйвера для ядра Linux – Xe, предназначенного для использования с интегрированными и дискретными GPU на базе архитектуры Intel Xe, которая используется начиная с процессоров Tiger Lake. В качестве цели разработки драйвера заявлено предоставление основы для обеспечения поддержки новых чипов, не привязанной к коду для поддержки старых платформ. Также заявлено более активное совместное использование кода Xe с другими компонентами подсистемы DRM (Direct Rendering Manager).

Код изначально рассчитан на поддержку различных аппаратных архитектур и доступен для тестирования на системах x86 и ARM. Реализация пока рассматривается как экспериментальный вариант для обсуждения разработчиками, ещё не готовый для интеграции в основной состав ядра. Работа над старым драйверов i915 не останавливается и его сопровождение будет продолжаться. Довести новый драйвер Xe до готовности планируется в течение 2023 года.

В новом драйвере большая часть кода для взаимодействия с экранами, заимствована из драйвера i915 и в дальнейшем разработчики планируют обеспечить совместное использование данного кода в обоих драйверах, чтобы избежать дублирования типовых компонентов (сейчас подобный код просто пересобирается два раза, но обсуждаются альтернативные варианты совместного использования кода). Модель памяти в Xe во многом близка к реализации модели памяти i915, а реализация execbuf очень походит на execbuf3 из кода i915.

Для обеспечения поддержи графических API OpenGL и Vulkan помимо драйвера для ядра Linux проектом также подготовлены изменения для работы через модуль Xe Mesa-драйверов Iris и ANV. В текущем виде связка Xe с Mesa уже достаточно развита для запуска GNOME, браузеров и игр на базе OpenGL и Vulkan, но пока отмечается отдельные проблемы и ошибки, среди прочего приводящие к аварийным завершениям работы. Также пока не проводилась работа по оптимизации производительности.

Release. Ссылка here.