Компания NVIDIA продолжила открытие компонентов для работы графического стека Linux на чипах Tegra 2 и Tegra 3. В дополнение к ранее опубликованному коду поддержки SoC для ядра Linux, в разряд открытых продуктов переведены драйвер nvhost для обеспечения взаимодействия с GPU, выполнения синхронизации, управления питанием и видеопамятью, а также 2D-видеодрайвер, позволяющий задействовать доступные в чипах функции 2D-акселерации. Ранее, работа с графической подсистемой SoC Tegra 2 и 3 была возможна только при использовании проприетарного драйвера NVIDIA.

Примечательно, что представленный компанией NVIDIA код основан на коде drm-драйвера, созданного энтузиастами в качестве независимого проекта (см. дополнение к новости) и предложенного для включения в ядро Linux 3.8. Ранее доступный для ядра Linux код был подвергнут реструктуризации, единый DRM-модуль разделён на две части: nvhost, c прослойкой для управления GPU, и tegradrm, c реализацией API для выполнения 2D-операций из пространства пользователя. В дальнейшем планируется опубликовать соответствующие патчи для поддержки нового драйвера в компонентах, работающих на уровне пользователя, таких как libdrm. Кроме того, рассматриваются пути реализации X.Org-драйвера для управления видеорежимами Tegra.

Дополнение: Создание начального прототипа драйвера было профинансировано компанией Avionic Design, официального партнёра NVIDIA в области продвижения решений для встраиваемых систем. Разработка изначально велась как совместный с NVIDIA проект.

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