Компания NVIDIA подготовила для свободного драйвера Nouveau набор патчей с реализацией поддержки GPU GK20A, основанного на семействе Kepler и используемого в чипах Tegra K1. Реализация GK20A потребовала архитектурных изменений в Nouveau, необходимых, в частности, для обеспечения поддержки GPU на шине, отличной от PCI. Изменения представлены только для DRM-модуля Nouveau, работающего на уровне ядра Linux. В планы NVIDIA не входит реализация поддержки чипа в user-space части драйвера, т.е. Mesa и DDX.

Патчи позиционируются как подлежащие развитию прототип кода для поддержки в Nouveau будущих серий GPU Tegra. Предложенные архитектурные изменения отражают концепцию взаимодействия с новыми GPU, но подлежат обсуждению и могут быть пересмотрены разработчиками Nouveau. Основная часть патчей связана с реализацией уровня абстракции, не привязанного к шине PCI. Также подготовлен пример кода, демонстрирующий методы управления памятью и взаимодействия с GPU GK20A. Данный код является лишь прототипом, но отмечается, что для реализации рабочей поддержки GPU GK20A в Nouveau потребуются минимальные доработки.

Указанное событие примечательно тем, что это первое крупное участие NVIDIA в разработке Nouveau, который ранее развивался в основном через использование методов обратного инжиниринга. В прошлом году компания NVIDIA выступила с инициативой сотрудничества, но совместная работа ограничивалась предоставлением проекту Nouveau отдельной документации и технических консультаций. Другим интересным моментом является то, что патчи с поддержкой нового GPU предоставлены до выхода чипа Tegra K1 на рынок.

Источник: http://www.opennet.ru/opennews/art.shtml?num=38987