Для Android реализована возможность применения штатных видеодрайверов Linux

29 марта 2017 года

В ходе совместной работы инженеры из Collabora и Google подготовили прослойку "drm_hwcomposer", обеспечивающую работу графической подсистемы платформы Android поверх штатного графического стека ядра Linux и API DRM (Direct Rendering Manager). Код прослойки drm_hwcomposer принят в основной репозиторий проекта Chrome OS.

Напомним, что в Android применяются специфичные видеодрайверы, работающие в пространстве пользователя и предоставляющие интерфейс для доступа к графическому оборудованию через API Hardware Composer (HWC). Прослойка "drm_hwcomposer" работает поверх mesa и libdrm, обеспечивая трансляцию API DRM в API HWC, что позволяет реализовать поддержку HWC на базе обычных DRM-драйверов. При этом SurfaceFlinger (Архивная копия от 7 сентября 2017 на Wayback Machine), композитный менеджер Android, продолжает использовать API HWC и не требует модификации.

Прослойка может работать только с ядрами Linux 4.10 и новее, так как завязана на использовании появившегося (Архивная копия от 30 октября 2017 на Wayback Machine) в ядре 4.10 механизма "explicit fencing" (in-fence/out-fence), позволяющего управлять синхронизацией буферов между устройствами из пространства пользователя. Поддержка "explicit fencing" в ядре также дала возможность обеспечить поддержку в прослойке нового API HWC2, представленного в Android 7.0.

Демонстрируя возможности прослойки, разработчики запустили Android на плате Dragonboard 410c поверх Freedreno, свободного видеодрайвера для графической подсистемы чипов Qualcomm. Freedreno поддерживает в том числе GPU Adreno (A5XX), применяемые в SoC Snapdragon 820 и 821, которые используются во многих современных смартфонах, с видеоподсистемами которых до сих пор можно было взаимодействовать только через проприетарные драйверы. Прослойка может подтолкнуть вперёд развитие проекта Replicant, в рамках которого развивается полностью открытый вариант платформы Android, избавленный от проприетарных компонентов и закрытых драйверов, разработка которого во многом буксует из-за отсутствия открытых Android-драйверов для GPU популярных мобильных SoC.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Для Android реализована возможность применения штатных видеодрайверов Linux», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.