Qualcomm выпустил открытый 2D/3D-драйвер, который был отвергнут разработчиками ядра
2 июля 2010 года
Компания Qualcomm объявила об открытии исходных текстов модуля (Архивная копия от 9 марта 2012 на Wayback Machine) Linux-ядра, предназначенного для обеспечения поддержки работы 2D/3D-механизмов акселерации, доступных в OpenGL ES-совместимом графическом ядре чипсета Snapdragon, на базе которого выпускаются мобильные устройства и телефоны. В частности, на данной платформе построены смартфоны Google Nexus One и Dell Streak.
Представители Qualcomm попытались продвинуть открытый код модуля в состав основного Linux-ядра, но встретили сопротивление, так как код драйвера, работающего в пространстве пользователя, остается закрытым. Публикация модуля привела к дебатам, в ходе которых разработчики пытаются сформировать политику в отношении формально полностью свободных драйверов, работающих на уровне ядра, но которые по своей сути бесполезны без проприетарной части, реализованной на пользовательском уровне.
Также у разработчиков вызывает нарекание технология по которой построен модуль - организация его работы сильно отличается от методов, используемых в работающих на уровне ядра открытых драйверах, например, драйвер Qualcomm создает специальное устройство /dev/kgsl и собственный набор ioctl-вызовов для управления.
Политики запрещения приема в ядро таких драйверов придерживается Дэвид Эйрли (David Airlie), работающий в компании Red Hat и отвечающий в Linux-ядре за поддержку DRM. В качестве причины такой точки зрения, кроме связанных с лицензированием проблем, называется необходимость проверки работоспособности представленного для включения в Linux ядро кода, которую трудно провести без присутствия открытого работоспособного пользовательского драйвера. Также закрытый код мешает проверке корректности поддерживаемого API, которое может содержать скрытые функции, которые теоретически могут представлять угрозу безопасности.
С другой стороны модуль предоставляет высокоуровневый интерфейс к графической подсистеме и позволяет управлять графической памятью, переключением контекста и прерываниями, что упрощает создание независимым сообществом на его основе полностью открытого пользовательского драйвера. Из положительных моментов также сообщается, что помимо собственного проприетарного интерфейса KGSL (Kernel Graphics Support Layer), драйвер поддерживает DRM (Direct Rendering Manager), GEM (Graphics Execution Manager) и частично позволяет обеспечить поддержку DRI2.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.