Представлен открытый драйвер для графической подсистемы чипов Qualcomm

Материал из Викиновостей, свободного источника новостей

15 апреля 2012 года

Роб Кларк (Rob Clark), разработчик из компании Texas Instruments, развивающий открытый набор драйверов для чипов OMAP и вовлечённый в разработку проекта Linaro, представил новый открытый графический драйвер для выпускаемых конкурирующей компанией Qualcomm чипов Snapdragon, поставляемых с интегрированными графическими процессорами Adreno. При разработке использована эталонная платформа DragonBoard на базе Snapdragon S3 APQ8060 и обратный инжиниринг бинарных драйверов Qualcomm.

Новый открытый драйвер получил название Freedreno и доступен для свободной загрузки под лицензией MIT. В настоящее время драйвер поддерживает 2D-акселерацию (реализована архитектура EXA), базовые композитные операции и может использоваться совместно с X-сервером (подготовлен DDX-драйвер xf86-video-freedreno). В будущем планируется обеспечить поддержку 3D-акселерации и DRI2. Таким образом, ситуация с открытыми драйверами для мобильных ARM-платформ начинает меняться к лучшему: кроме Freedreno в настоящее время развивается проект Lima, созданный для разработки полноценных открытых драйверов для графического сопроцессора Mali (Mali-200 и Mali-400), также компаниями Texas Instruments и Samsung ведётся разработка базовых открытых графических драйверов для чипов OMAP и Exynos, в которых, к сожалению, пока не планируется поддержка 3D.

По словам Роба Кларка, работа выполнена в свободное от работы время и позиционируется как персональный проект, никак не связанный с компанией Texas Instruments и проектом Linaro. Роб рад был бы принять участие в развитии открытых драйверов для GPU Mali или IMGtech PowerVR, но пока не может этого сделать в силу своих обязательств перед Linaro и TI, так как такой шаг может рассматриваться как нарушение соглашения о неразглашении. С оборудованием Qualcomm Роб на своей прямой работе не сталкивается, поэтому можно не опасаться возможного конфликта интересов.

Для определения логики работы с чипами Qualcomm была создана небольшая библиотека libwrap, загружающаяся через LD_PRELOAD и позволяющая перехватывать все вызовы между модулем ядра и проприетарным драйвером, выполняемым на уровне пользователя, что позволило определить поток команд к GPU, информацию по адресам, координатам и т.п. Для разбора связанной с GPU активности и выявления типовых повторяющихся действий была написана утилита redump, при помощи которой на основе лога генерировался наглядный сводный отчёт, упрощающий анализ логики работы с GPU.

Так как часть оригинального драйвера Qualcomm, работающего на уровне ядра Linux, доступна в исходных текстах, нетрудно было выявить API для взаимодействия с закрытым бинарным компонентом. Работающий на уровне ядра драйвер Qualcomm распространяется под лицензией GPL и использует для управления памятью GPU технологию GEM (Graphics Execution Manager), но не предоставляет функций переключения видеорежимов, что позволяет лишь частично использовать его при дальнейшей реализации поддержки DRI2 и 3D.

Источники[править]

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

Комментарии[править]

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