Опубликован код драйвера для видеоускорителя Broadcom VideoCore, используемого в Raspberry Pi
Код драйвера размещён в общедоступном репозитории и включает в себя как компоненты, работающие на уровне ядра Linux (модуль vcihq для передачи сообщений к VideoCore), так и набор библиотек для организация взаимодействия с GPU из пользовательских приложений и задействования всех поддерживаемых чипом средств аппаратной акселерации. В частности, в поставку входят библиотеки с реализацией интерфейсов к EGL, mmal, GLESv2, vcos, openmaxil, vchiq_arm, bcm_host, WFC и OpenVG. Код библиотек открыт под лицензией BSD, а часть, работающая на уровне ядра Linux распространяется под двойной лицензией GPL/BSD. Открыты только компоненты, работающие на CPU ARM, код загружаемой в GPU прошивки остаётся закрытым и требует заливки бинарного блоба в процессе загрузки системы.
Графическая подсистема чипов Broadcom кардинально отличается от подсистем других производителей и представляет собой по сути самодостаточный процессор, выходящий за рамки DSP, на котором работает некоторое подобие операционной системы (код прошивки остаётся закрытым). GPU может выполнять приложения независимо от остальной системы, самостоятельно компилировать шейдеры и обменивается сообщениями с системным процессором через совместно используемую область памяти.
Отмечается, что открытие кода драйвера позволит заинтересованным энтузиастам обеспечить поддержку Broadcom VideoCore в изначально не поддерживаемых операционных системах, таких как FreeBSD, NetBSD, Plan9, RISC OS и Haiku, создать прослойку для работы Wayland поверх EGL, улучшить интеграцию GLES/VG с X.Org, разработать драйверы для Mesa, подготовить выполняемые на уровне ядра части драйвера к включению в состав основного ядра Linux. Лицензия BSD выбрана для упрощения интеграции кода с компонентами графического стека Linux, большинство составных частей которого поставляется под лицензией MIT (например, X.Org, Wayland и Mesa).
Дополнение: Некоторые известные разработчики открытых видеодрайверов выступили с критикой степени открытости драйвера для видеоускорителя Broadcom VideoCore. Возможности по внесению улучшений и исправлений в логику работы оказались сильно ограничены из-за того, что основные функции выполняются на стороне проприетарной прошивки, а в доступном драйвере имеется лишь прослойка для вызова функций прошивки. В том числе внутри прошивки реализована поддержка OpenGL ES и независимые разработчики не могут никак повлиять на её работу.
Источник: http://www.opennet.ru/opennews/art.shtml?num=35161
|
0 | Tweet | Нравится |
|