[ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux
Модератор: Модераторы разделов
[ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux
Компания NVIDIA объявила об открытии исходных текстов всех модулей ядра, поставляемых в своём наборе проприетарных видеодрайверов. Код открыт под лицензиями MIT и GPLv2. Возможность сборки модулей обеспечена для архитектур x86_64 и aarch64 на системах с ядром Linux 3.10 и более новыми выпусками. Прошивки и используемые в пространстве пользователя библиотеки, такие как стеки CUDA, OpenGL и Vulkan, остаются проприетарными.
Ожидается, что публикация кода приведёт к существенному повышению удобства работы с GPU NVIDIA в Linux-системах, усилит интеграцию с операционной системой, упростит поставку драйверов и отладку проблем. О формировании пакетов на основе открытых модулей уже заявили разработчики Ubuntu и SUSE. Наличие открытых модулей также упростит интеграцию драйверов NVIDIA с системами на базе нестандартных кастомизированных сборок ядра Linux. Для NVIDIA открытие кода поможет повысить качество и безопасность Linux-драйверов за счёт более тесного взаимодействия с сообществом и возможности стороннего рецензирования изменений и проведения независимого аудита.
Отмечается, что представленная открытая кодовая база одновременно применяется при формировании проприетарных драйверов, в частности используется в опубликованной сегодня бета-ветке 515.43.04. При этом первичным является закрытый репозиторий, а предложенная открытая кодовая база будет обновляться для каждого выпуска проприетарных драйверов в форме слепка после определённой обработки и чистки. История отдельных изменений не предоставляется, только общий коммит для каждой версии драйвера (в настоящий момент опубликован код модулей для драйвера 515.43.04).
Тем не менее, представителям сообщества предоставлена возможность отправки pull-запросов для продвижения своих исправлений и изменений в код модулей, но эти изменения не будут отражаться в виде отдельных изменений в открытом репозитории, а будут вначале интегрироваться в основной закрытый репозиторий и только потом переноситься с остальными изменениями в открытый. Для участия в разработке требуется подписание соглашение о передаче компании NVIDIA имущественных прав на передаваемый код (Contributor License Agreement).
Код модулей ядра разделён на две части: общие компоненты не привязанные к операционной системе и прослойка для взаимодействия с ядром Linux. Для сокращения времени установки общие компоненты как и раньше поставляются в проприетарных драйверах NVIDIA в форме уже собранного бинарного файла, а прослойка собирается на каждой системе с учётом текущей версии ядра и имеющихся настроек. Предлагаются следующие модули ядра: nvidia.ko, nvidia-drm.ko (Direct Rendering Manager), nvidia-modeset.ko и nvidia-uvm.ko (Unified Video Memory). Модулями поддерживаются только GPU на базе микроархитектур Turing и Ampere, т.е. выпускаемые с сентября 2018 года.
Поддержка серии GeForce и GPU для рабочих станций отмечена как имеющая уровень качества альфа-версии, но для специализированных GPU на базе архитектур NVIDIA Turing и NVIDIA Ampere, применяемых в датацентрах для ускорения обработки информации и параллельных вычислений (CUDA), обеспечена полная поддержка, полностью протестированная и пригодная для применения в рабочих проектах (открытый код уже готов заменить проприетарные драйверы). Стабилизацию поддержки GeForce и GPU для рабочих станций планируют осуществить в следующих выпусках. В конечном счёте уровень стабильности открытой кодовой базы будет доведён до состояния проприетарных драйверов.
В текущем виде включение опубликованных модулей в основной состав ядра невозможно, так как они не соответствуют требованиям ядра к стилю кодирования и соглашениям по архитектуре, но компания NVIDIA намерена совместно с Canonical, Red Hat и SUSE заняться решением этого вопроса и стабилизацией программных интерфейсов драйверов. Кроме того, опубликованный код может использоваться для улучшения входящего в ядро открытого драйвера Nouveau, в котором используются те же прошивки к GPU, что и в проприетарном драйвере.
Источник: https://www.opennet.ru/opennews/art.shtml?num=57175
(opennet.ru, основная лента)
Ожидается, что публикация кода приведёт к существенному повышению удобства работы с GPU NVIDIA в Linux-системах, усилит интеграцию с операционной системой, упростит поставку драйверов и отладку проблем. О формировании пакетов на основе открытых модулей уже заявили разработчики Ubuntu и SUSE. Наличие открытых модулей также упростит интеграцию драйверов NVIDIA с системами на базе нестандартных кастомизированных сборок ядра Linux. Для NVIDIA открытие кода поможет повысить качество и безопасность Linux-драйверов за счёт более тесного взаимодействия с сообществом и возможности стороннего рецензирования изменений и проведения независимого аудита.
Отмечается, что представленная открытая кодовая база одновременно применяется при формировании проприетарных драйверов, в частности используется в опубликованной сегодня бета-ветке 515.43.04. При этом первичным является закрытый репозиторий, а предложенная открытая кодовая база будет обновляться для каждого выпуска проприетарных драйверов в форме слепка после определённой обработки и чистки. История отдельных изменений не предоставляется, только общий коммит для каждой версии драйвера (в настоящий момент опубликован код модулей для драйвера 515.43.04).
Тем не менее, представителям сообщества предоставлена возможность отправки pull-запросов для продвижения своих исправлений и изменений в код модулей, но эти изменения не будут отражаться в виде отдельных изменений в открытом репозитории, а будут вначале интегрироваться в основной закрытый репозиторий и только потом переноситься с остальными изменениями в открытый. Для участия в разработке требуется подписание соглашение о передаче компании NVIDIA имущественных прав на передаваемый код (Contributor License Agreement).
Код модулей ядра разделён на две части: общие компоненты не привязанные к операционной системе и прослойка для взаимодействия с ядром Linux. Для сокращения времени установки общие компоненты как и раньше поставляются в проприетарных драйверах NVIDIA в форме уже собранного бинарного файла, а прослойка собирается на каждой системе с учётом текущей версии ядра и имеющихся настроек. Предлагаются следующие модули ядра: nvidia.ko, nvidia-drm.ko (Direct Rendering Manager), nvidia-modeset.ko и nvidia-uvm.ko (Unified Video Memory). Модулями поддерживаются только GPU на базе микроархитектур Turing и Ampere, т.е. выпускаемые с сентября 2018 года.
Поддержка серии GeForce и GPU для рабочих станций отмечена как имеющая уровень качества альфа-версии, но для специализированных GPU на базе архитектур NVIDIA Turing и NVIDIA Ampere, применяемых в датацентрах для ускорения обработки информации и параллельных вычислений (CUDA), обеспечена полная поддержка, полностью протестированная и пригодная для применения в рабочих проектах (открытый код уже готов заменить проприетарные драйверы). Стабилизацию поддержки GeForce и GPU для рабочих станций планируют осуществить в следующих выпусках. В конечном счёте уровень стабильности открытой кодовой базы будет доведён до состояния проприетарных драйверов.
В текущем виде включение опубликованных модулей в основной состав ядра невозможно, так как они не соответствуют требованиям ядра к стилю кодирования и соглашениям по архитектуре, но компания NVIDIA намерена совместно с Canonical, Red Hat и SUSE заняться решением этого вопроса и стабилизацией программных интерфейсов драйверов. Кроме того, опубликованный код может использоваться для улучшения входящего в ядро открытого драйвера Nouveau, в котором используются те же прошивки к GPU, что и в проприетарном драйвере.
Источник: https://www.opennet.ru/opennews/art.shtml?num=57175
(opennet.ru, основная лента)
Последний раз редактировалось rssbot 13.05.2022 08:50, всего редактировалось 3 раза.
Причина: Updated upstream
Причина: Updated upstream
Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux
1) Что-то все прямо побежали, как будто в рай боятся не успеть... Где подвох?
2) Так они разве несвободные были до этого? Ну да, считались не, но свободно компилялись на каждой системе, подумаешь, ядро говорило при загрузке модуля, что-то там "tainted". По факту бесплатно, пользуйся не хочу.
3) Ну теперь дай бог с nouveau заживём)) Нельзя было на него с тех исходники перетягивать, потому те несвободные?
2) Так они разве несвободные были до этого? Ну да, считались не, но свободно компилялись на каждой системе, подумаешь, ядро говорило при загрузке модуля, что-то там "tainted". По факту бесплатно, пользуйся не хочу.
3) Ну теперь дай бог с nouveau заживём)) Нельзя было на него с тех исходники перетягивать, потому те несвободные?
-
- Сообщения: 952
- Статус: дилетант широкого профиля
- ОС: Gentoo arm64 musl hardened
- Контактная информация:
Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux
Ага. А что там про библиотеки?
С уважением,
Павел Алиев
Павел Алиев
-
- Сообщения: 952
- Статус: дилетант широкого профиля
- ОС: Gentoo arm64 musl hardened
- Контактная информация:
Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux
Да. Я про них. И, кстати, это был риторический вопрос.
С уважением,
Павел Алиев
Павел Алиев
Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux
То есть ядерный модуль работает только со своими библиотеками?
- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux
Не понял, а раньше они что давали, если не исходники модуля?
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 952
- Статус: дилетант широкого профиля
- ОС: Gentoo arm64 musl hardened
- Контактная информация:
Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux
Библиотеки нужны Xorg'у, например. Зачем? Чтобы правильно "готовить" к выводу поступающую информацию к дальнейшему отображению. Вот именно тут все "плюшки" закрытого драйвера были. А модуль... А в модуле никакой особенной логики нет. Там только интерфейс для загрузки того, что выдал Xorg+прориетартные библиотеки. Ну это если очень упростить.
Вариация решения от NVidia на тему, "как бы нам хайпануть на open source, но ничего при этом особо не делая/не меняя".
С уважением,
Павел Алиев
Павел Алиев
Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux
Исходники-то давали, вот только на их основе что-то сделать нельзя было, ибо нарушение копирйта.
Как я понял, пока да. Но раз уж модуль ядра открыт, то никто не мешает сделать свои юзерленд библиотеки с блэкджеком и шлюхами.
Кто ищет, тот всегда найдет!
Опыт - это когда все получается с первого раза.
Опыт - это когда все получается с первого раза.
- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux
И как это юридически могло работать? GPL же.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 952
- Статус: дилетант широкого профиля
- ОС: Gentoo arm64 musl hardened
- Контактная информация:
Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux
Ничего не мешает, кроме непонимания специфики поведения проприетарных библиотек? Ничего, кроме возможности попасть под длительные судебные тяжбы, если Нвидиа решит, что вы нарушили их интеллектуальную собственность?
Модуль во всей этой истории, как я уже писал выше, он про вытаскивание сформированного в юзерленде на видюху. Ну и мелкие ништяки специфические на нём же, типа управления питанием. Единственное, что они сделали, сменив лицензию - убрали ограничение на поставку в модуля в составе дистрибутивов. Теперь его можно поставлять в уже скомпилированном виде, попутно спихнув возможные проблемы на мейнтейнеров дистрибутива. Мол если он там не компилится, обработайте напильником. Теперь это можно официально
Они режут издержки, никак не улучшая инфраструктуру, а вы уже повод для радости увидели.
С уважением,
Павел Алиев
Павел Алиев
Спасибо сказали:
Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux
Так ведь GPL - это сейчас, а раньше модуль был проприетарным.
Кто ищет, тот всегда найдет!
Опыт - это когда все получается с первого раза.
Опыт - это когда все получается с первого раза.
- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux
Но он же линковался с ядром, которое под GPL.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
- /dev/random
- Администратор
- Сообщения: 5282
- ОС: Gentoo
Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux
При линковке соблюдать GPL требуется только при распространении полученного бинарника. Распространять исходники и сборочные скрипты несовместимость лицензий не мешает.
- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux
Возвращаемся к вопросу:/dev/random писал: ↑17.05.2022 15:52Распространять исходники и сборочные скрипты несовместимость лицензий не мешает.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux
Код: Выделить всё
/* _NVRM_COPYRIGHT_BEGIN_
*
* Copyright 1999-2021 by NVIDIA Corporation. All rights reserved. All
* information contained herein is proprietary and confidential to NVIDIA
* Corporation. Any use, reproduction, or disclosure without the written
* permission of NVIDIA Corporation is prohibited.
*
* _NVRM_COPYRIGHT_END_
*/
Кто ищет, тот всегда найдет!
Опыт - это когда все получается с первого раза.
Опыт - это когда все получается с первого раза.
- /dev/random
- Администратор
- Сообщения: 5282
- ОС: Gentoo
Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux
Во-первых, они раньше были под проприетарной лицензией. Во-вторых, говорят (не проверял), что раньше большая часть логики ядерного модуля была не в основном (опубликованном-но-проприетарном) коде, а в используемой им закрытой статической библиотеке.
Спасибо сказали: