Препятствие поддержки технологии Optimus в Linux

Важные объявления связанные с Linux. Выпуск новых версий, ошибки безопасности, обновления и др.
Ответить
Аватара пользователя
ZEN
Администратор
Сообщения: 1338
Зарегистрирован: 27 сен 2012, 18:23
Темы: 204
Откуда: Украина, Одесса
Статус: Не в сети

Препятствие поддержки технологии Optimus в Linux

Сообщение ZEN » 13 окт 2012, 09:37

Компания NVIDIA столкнулась с труднопреодолимым препятствием в процессе обеспечения в проприетарном драйвере для Linux поддержки технологии Optimus, дающей возможность на лету переключаться между встроенной энергоэффективной видеокартой на базе GPU Intel и дискретной картой NVIDIA. Для обеспечения поддержки горячего переключения между видеокартами требуется использование интерфейса DMA-BUF, интегрированного в ядро Linux, начиная с версии 3.5 и позволяющего организовать совместное использование буферов между несколькими драйверами (использование DMA-BUF требуется для организации записи во фреймбуфер драйвера Intel).

[cut]Проблема состоит в том, что DMA-BUF отнесён к категории внутренних интерфейсов ядра, который экспортируется в группе EXPORT_SYMBOL_GPL, ограничивающей возможность использования только для модулей ядра, распространяемых под лицензией GPL. Так как драйвер NVIDIA является проприетарным, он не имеет доступа к интерфейсам группы EXPORT_SYMBOL_GPL и технологии DMA-BUF в частности. DMA-BUF также не могут использовать проприентарные драйверы для видеоподсистем многочисленных одночиповых систем, используемых в мобильной технике. Кроме того, так как технология DMA-BUF положена в основу будущей спецификации DRI3, то данный интерфейс не сможет быть реализован проприетарными драйверами.

Для выхода из сложившегося тупика, представители NVIDIA предложили перевести DMA-BUF в категорию внешних интерфейсов ядра, экспортируемых в группе EXPORT_SYMBOL. Алан Кокс, известный разработчик ядра, указал на то, что смена статуса API возможна, но требует получения согласия от всех разработчиков, код которых использован в реализации DMA-BUF.

Подключившиеся к дискуссии представители компании Red Hat показали, что не всё так просто и для предоставления возможности использования DMA-BUF в проприетарных драйверах требуется изменение лицензии на реализацию DMA-BUF, что может быть сделано только при получении согласия от разработчиков как минимум всей графической подсистемы ядра. Получить согласия только от автора кода DMA-BUF недостаточно, так как данная технология тесно переплетается с другими подсистемами ядра.

Для обхода ограничения доступа к GPL-компонентам ядра некоторые производители проприетарных драйверов используют поставляемый под GPL модуль-обвязку, транслирующий вызовы к бинарному драйверу, работающему в пространстве пользователя. В случае с NVIDIA такой метод не подходит, так как код драйвера, содержащего бинарные компоненты, работает на уровне ядра.

Источник http://www.opennet.ru
бог создал труд и обезьяну
чтоб получился человек
а вот пингвина он не трогал
тот сразу вышел хорошо

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей