[ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6004
ОС: gnu/linux

[ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux

Сообщение rssbot »

Компания 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, основная лента)
Последний раз редактировалось rssbot 13.05.2022 08:50, всего редактировалось 3 раза.
Причина: Updated upstream
Спасибо сказали:

Аватара пользователя
yoricI
Сообщения: 1669
ОС: gentoo fluxbox

Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux

Сообщение yoricI »

1) Что-то все прямо побежали, как будто в рай боятся не успеть... Где подвох?
2) Так они разве несвободные были до этого? Ну да, считались не, но свободно компилялись на каждой системе, подумаешь, ядро говорило при загрузке модуля, что-то там "tainted". По факту бесплатно, пользуйся не хочу.
3) Ну теперь дай бог с nouveau заживём)) Нельзя было на него с тех исходники перетягивать, потому те несвободные?
Спасибо сказали:

Аватара пользователя
Aliech
Сообщения: 629
Статус: дилетант широкого профиля
ОС: Gentoo arm64 musl hardened

Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux

Сообщение Aliech »

Ага. А что там про библиотеки?
С уважением, Zerg
Спасибо сказали:

Аватара пользователя
RusWolf
Сообщения: 467
ОС: Arch Linux x64 на BTRFS

Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux

Сообщение RusWolf »

Aliech писал:
12.05.2022 11:31
А что там про библиотеки?
Как были закрыты, так пока и закрыты. Если разговор про user-space libraries and OpenGL / Vulkan / OpenCL / CUDA.
Спасибо сказали:

Аватара пользователя
Aliech
Сообщения: 629
Статус: дилетант широкого профиля
ОС: Gentoo arm64 musl hardened

Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux

Сообщение Aliech »

RusWolf писал:
12.05.2022 12:14
Aliech писал:
12.05.2022 11:31
А что там про библиотеки?
Как были закрыты, так пока и закрыты. Если разговор про user-space libraries and OpenGL / Vulkan / OpenCL / CUDA.
Да. Я про них. И, кстати, это был риторический вопрос.
С уважением, Zerg
Спасибо сказали:

Аватара пользователя
yoricI
Сообщения: 1669
ОС: gentoo fluxbox

Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux

Сообщение yoricI »

То есть ядерный модуль работает только со своими библиотеками?
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 19300
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux

Сообщение Bizdelnick »

Не понял, а раньше они что давали, если не исходники модуля?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
Aliech
Сообщения: 629
Статус: дилетант широкого профиля
ОС: Gentoo arm64 musl hardened

Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux

Сообщение Aliech »

yoricI писал:
12.05.2022 16:30
То есть ядерный модуль работает только со своими библиотеками?
Библиотеки нужны Xorg'у, например. Зачем? Чтобы правильно "готовить" к выводу поступающую информацию к дальнейшему отображению. Вот именно тут все "плюшки" закрытого драйвера были. А модуль... А в модуле никакой особенной логики нет. Там только интерфейс для загрузки того, что выдал Xorg+прориетартные библиотеки. Ну это если очень упростить.
Bizdelnick писал:
12.05.2022 16:57
Не понял, а раньше они что давали, если не исходники модуля?
Вариация решения от NVidia на тему, "как бы нам хайпануть на open source, но ничего при этом особо не делая/не меняя".
С уважением, Zerg
Спасибо сказали:

Аватара пользователя
yoricI
Сообщения: 1669
ОС: gentoo fluxbox

Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux

Сообщение yoricI »

Aliech писал:
12.05.2022 21:25
А модуль... А в модуле никакой особенной логики нет.
Ничего себе, под 20МБ размерчик...
Спасибо сказали:

Аватара пользователя
Janik
Сообщения: 808
Статус: Оператор вычислительных машин
ОС: Debian

Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux

Сообщение Janik »

Bizdelnick писал:
12.05.2022 16:57
Не понял, а раньше они что давали, если не исходники модуля?
Исходники-то давали, вот только на их основе что-то сделать нельзя было, ибо нарушение копирйта.
yoricI писал:
12.05.2022 16:30
То есть ядерный модуль работает только со своими библиотеками?
Как я понял, пока да. Но раз уж модуль ядра открыт, то никто не мешает сделать свои юзерленд библиотеки с блэкджеком и шлюхами.
Кто ищет, тот всегда найдет!
Опыт - это когда все получается с первого раза.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 19300
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux

Сообщение Bizdelnick »

Janik писал:
14.05.2022 17:31
Исходники-то давали, вот только на их основе что-то сделать нельзя было, ибо нарушение копирйта.
И как это юридически могло работать? GPL же.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
Aliech
Сообщения: 629
Статус: дилетант широкого профиля
ОС: Gentoo arm64 musl hardened

Re: [ON] Компания NVIDIA открыла код видеодрайверов для ядра Linux

Сообщение Aliech »

Janik писал:
14.05.2022 17:31
yoricI писал:
12.05.2022 16:30
То есть ядерный модуль работает только со своими библиотеками?
Как я понял, пока да. Но раз уж модуль ядра открыт, то никто не мешает сделать свои юзерленд библиотеки с блэкджеком и шлюхами.
Ничего не мешает, кроме непонимания специфики поведения проприетарных библиотек? Ничего, кроме возможности попасть под длительные судебные тяжбы, если Нвидиа решит, что вы нарушили их интеллектуальную собственность?

Модуль во всей этой истории, как я уже писал выше, он про вытаскивание сформированного в юзерленде на видюху. Ну и мелкие ништяки специфические на нём же, типа управления питанием. Единственное, что они сделали, сменив лицензию - убрали ограничение на поставку в модуля в составе дистрибутивов. Теперь его можно поставлять в уже скомпилированном виде, попутно спихнув возможные проблемы на мейнтейнеров дистрибутива. Мол если он там не компилится, обработайте напильником. Теперь это можно официально ;)

Они режут издержки, никак не улучшая инфраструктуру, а вы уже повод для радости увидели.
С уважением, Zerg
Спасибо сказали: