AMD создала видеодрайвер для Windows EC 7 на основе портирования открытого драйвера из Linux

Один из инженеров компании AMD опубликовал в списке рассылки dri-devel сообщение, свидетельствующее о том, что подготовленный компанией проприетарный видеодрайвер с поддержкой GPU Evergreen (Radeon HD 5000) для платформы Windows Embedded Compact 7 был создан путем портирования открытого DRM-драйвера Radeon, развиваемого сообществом для платформы Linux. ОС Windows EC 7 продолжает развитие Windows CE и направлена на использование в различных встраиваемых платформах, но также может быть задействована на планшетных ПК.
В результате проведённой работы выпущен проприетарный драйвер, код которого является закрытым, но подобное закрытие производных наработок не запрещает лицензия MIT, под которой распространяется исходный драйвер для Linux. Так как речь ведется о DRM-драйвере, выполненном в виде модуля для ядра Linux (лицензия MIT совместима с GPL), для решения проблемы с использованием в закрытом Windows-драйвере некоторых связанных с DRM-драйвером функций из ядра Linux было использовано интересное решение - подобные, распространяемые под GPL, функции были заменены на аналоги из ядра FreeBSD, код которых доступен под лицензией BSD.
Тем не менее, опасение вызывает то, что с момента создания поставляемого под лицензией MIT кода DRM-модуля, в него могли быть добавлены изменения и дополнения, основанные на других частях кода ядра Linux (патчи могли содержать GPL-код), т.е. не исключена ситуация со смешиванием кода под лицензиями MIT и GPL. С кодом, заимствованным из X.Org, подобные проблемы не возникли, так как сам X.Org распространяется под лицензией MIT.
Создать драйвер для Windows EC 7 на основе открытого кода оказалось более целесообразно, нежели адаптировать выпускаемый для настольных Windows-систем драйвер Windows Catalyst, несмотря на то, что открытый драйвер пока отстаёт по производительности, имеет недостаточно средств управления питанием и не поддерживает многие функции, такие как акселерация декодирования и кодирования видео. При этом нет принципиальных проблем с портированием проприетарного драйвера Windows Catalyst, который развивается с оглядкой на многоплатформенность, например, многие части Windows Catalyst используются совместно с проприетарным драйвером Catalyst для Linux. Возможно, причина кроется в излишней раздутости драйвера Catalyst, который состоит из нескольких миллионов строк кода, в то время как открытый аналог укладывается в десятки тысяч строк.
Указанное событие не стоит рассматривать как паразитирование корпорации на открытом ПО - это скорее пример удачного взаимовыгодного сотрудничества, при котором компания AMD сперва открыла код прототипа драйвера для Linux, затем совместно с сообществом довела его до рабочего состояния, после чего использовала полученные результаты для создания своего продукта.



Яндекс.Метрика
Счётчик ТЦ#65533;Ц LiveRSS: Каталог русскоязычных RSS-каналов