LINUX.ORG.RU

NVIDIA опубликовала свободные драйверы для ядра Linux

 , ,


3

3

Компания NVIDIA сообщила о публикации свободных модулей ядра, реализующих поддержку видеокарт поколения Turing и новее. Исходный код открыт под двойной лицензией MIT/GPLv2. Прошивка (GSP firmware) и компоненты, работающие в пространстве пользователя (включая реализации OpenGL и Vulkan), остаются закрытыми.

Заявляется, что драйверы готовы для применения в датацентрах, а поддержка рабочих станций на данный момент находится в стадии тестирования.

После стабилизации API/ABI драйверы планируется включить в основную ветку ядра Linux.

>>> Подробности

★★★★★

Проверено: hobbit ()

Или я туплю и открыли то, что уже и так по сути было открыто?

derlafff ★★★★★ ()
Ответ на: комментарий от sudopacman
Note that the kernel modules built here must be used with gsp.bin firmware and user-space NVIDIA GPU driver components from a corresponding 515.43.04 driver release. This can be achieved by installing the NVIDIA GPU driver from the .run file using the --no-kernel-modules option. E.g.,

sh ./NVIDIA-Linux-[...].run --no-kernel-modules

Фирмварь и юзерспейс все еще закрытые. Насколько это плохо? Мб у них большая часть всего кода работает в юзерспейсе?

derlafff ★★★★★ ()
Ответ на: комментарий от derlafff

Nouveau (open-source community) prospects around this new kernel driver - Eventually, yes, Nouveau may make use of this code being opened today. Asking about it to NVIDIA, they say that hopefully Nouveau will be able to utilize the GSP firmware / open kernel modules but first will likely take time for the GSP firmware interface to be stabilized and other factors. Thus in the future when this kernel driver is in better shape, Nouveau’s Mesa code may end up interfacing with this kernel driver as an alternative to the Nouveau DRM kernel driver that is in rather rough shape for hardware newer than the GTX 600/700 Kepler series. Plus for this kernel code to be upstreamed, it would need an open user-space – i.e. Nouveau Mesa code short of NVIDIA deciding later to open up their user-space libraries.

sudopacman ★★★★★ ()
Ответ на: комментарий от sudopacman

Другими словами, это нереально круто, хоть и не позволяет прямщас запилить полностью опенсорсный юзерспейс.

derlafff ★★★★★ ()
Ответ на: комментарий от derlafff

Да. OpenGL/Vulkan для Mesa могут и сторонние разработчики реализовать, как RADV.

sudopacman ★★★★★ ()

О, интересно, надо заценить нвидиевский Си-код)

x-signal ()
Ответ на: комментарий от endlessend

Похороникс пишет, что, судя по всему, они уже давно планировали

derlafff ★★★★★ ()

Ух ты. Оно вроде и к Линуксу не сильно прибито. Возможно реально портировать и запустить на Haiku.

X512 ★★★ ()
Ответ на: комментарий от endlessend

Плюс, амудэшники лишились ещё одного аргумента, что кому-то может оказаться полезным

Прямо сейчас еще не решились (одно из преимуществ amdgpu в том, что оно работает даже на некрожелезе + юзерспейса пока нет), но вообще в скором похоже да

derlafff ★★★★★ ()
Ответ на: комментарий от router

Ждём Линуса с «nvidia, welcome back!»

Скорее, с «Love you, nvidia!» и поднятым вверх большим пальцем.

kss ★★★★★ ()
Ответ на: комментарий от X512

Оно вроде и к Линуксу не сильно прибито

Где-то у меня всплывает в памяти, читал интервью с разработчиками, в котором говорили, что они стремятся к максимально, насколько это возможно, не зависимому от платформы коду драйверов. Вот, видимо, не врали.

SkyMaverick ★★★★ ()
Ответ на: комментарий от SpaceRanger

Дело не в том, что блоб работает, а в том, что теперь лицензия (ядра) не нарушается

Раньше обходили так, что пользователи ставили закрытый драйвер сами и по сути сами нарушали лицензию. Как с драйвером для zfs

Поскольку и разработчикам, и nvidia на это в целом было наплевать, а пользователь вообще не видел никаких проблем, в целом всех это устраивало

А теперь ядерный модуль привели в соответствие с лицензией ядра linux

router ★★★★★ ()
Ответ на: комментарий от sudopacman

Шпасибки. Можно было бы еще параграф про nouveau с похороникса стырить, но в принципе пофиг, завтра opennet все подробно разжует.

derlafff ★★★★★ ()
Ответ на: комментарий от derlafff

Одна из головных болей юзеров nvidia - поддержка некрожелеза, из-за чего в дистрибутивах сотни пакетов вида xserver-xorg-video-nvidia-XXX.

Опенсорсность, надо полагать, позволит сгружать поддержку легаси в какой-то один пакет.

Aceler ★★★★★ ()

После стабилизации API/ABI драйверы планируется включить в основную ветку ядра Linux.

Так вроде раньше за подобные шалости с кодом, который нужен только нвидивским блобам Линус им фак показывал вместо мержа в ведро. В чём сейчас отличие?

ya-betmen ★★★★★ ()
Ответ на: комментарий от endlessend

Плюс, амудэшники лишились ещё одного аргумента

Причинно-следственная связь в обратную сторону повёрнута: важен не бренд, а факт наличия свободных драйверов (поэтому и к графике Intel претензий нет). Впрочем, с реализациями «юзерспейсных» API у NVIDIA тоже проблем полно, даже после добавления поддержки GBM.

sudopacman ★★★★★ ()
Последнее исправление: sudopacman (всего исправлений: 1)

В исходниках встречается суффикс HAL. Линус же амдешников посылал переписывать код ибо при нём никаких HAL в ядре не будет. Так что в апстрим не примут.

В папке arch встречаются только ampere, turing и maxwell. Так что про поддержку старья можете закатать губу.

ox55ff ★★★★★ ()
Ответ на: комментарий от X512

Где ты видишь прибитость к Mesa? Проблемы в кривизне их драйвера, это никак не зависит от использования или неиспользования Mesa.

sudopacman ★★★★★ ()
Ответ на: комментарий от sudopacman

Где ты видишь прибитость к Mesa?

Тот же GBM – который часть Mesa. До libglvnd разработанного nVidia, в Линуксе вообще не было вендор-нецтральной системы ICD драйверов OpenGL.

X512 ★★★ ()

Полумеры какие-то. Негодно!

paran0id ★★★★★ ()
Ответ на: комментарий от X512

Тот же GBM – который часть Mesa.

Просто взяли наиболее подходящий API из сущетсвующих. Реализовать его вне Mesa ничего не мешает (собственно, NVIDIA это и сделала в своём драйвере)

libglvnd

Это же вообще про гибридную графику.

sudopacman ★★★★★ ()
Ответ на: комментарий от ox55ff

В папке arch встречаются только ampere, turing и maxwell. Так что про поддержку старья можете закатать губу.

Maxwell и есть старьё, печки постарее особо и не нужны, а всякие GeForce 2-3 (с SECAM-энкодером) отлично работают с нуво.

token_polyak ★★ ()
Ответ на: комментарий от SkyMaverick

Где-то у меня всплывает в памяти, читал интервью с разработчиками, в котором говорили, что они стремятся к максимально, насколько это возможно, не зависимому от платформы коду драйверов. Вот, видимо, не врали.

А какой резон им врать? Так им же самим проще - не надо поддерживать кучу разных платформ, только общее ядро + платформо-специфичные обёртки.

firkax ★★ ()
Ответ на: комментарий от sudopacman

У nVidia вроде от этого проблемы потому что основная часть драйвера в userspace.

X512 ★★★ ()
Ответ на: комментарий от ox55ff

В исходниках встречается суффикс HAL. Линус же амдешников посылал переписывать код ибо при нём никаких HAL в ядре не будет. Так что в апстрим не примут.

Ну они же сказали, что будут abi менять сто раз, видимо, это одна из причин.

derlafff ★★★★★ ()
Ответ на: комментарий от derlafff

Другими словами, это нереально круто, хоть и не позволяет прямщас запилить полностью опенсорсный юзерспейс.

Учитывая, что nvidia-драйвера обычно ставят для и так клозед-сорсных игр, юзерспейс тут не особо важен. Его можно хоть целиком в контейнер засунуть если не доверяешь (как и клозед-сорс игры). А вот модуль ядра это важно. nouveau правда теперь наверно совсем умрёт, выгоднее будет форкнуть эти драйвера и дописать в них недостающее чем переносить их функционал в nouveau.

firkax ★★ ()
Ответ на: комментарий от sudopacman

Просто взяли наиболее подходящий API из сущетсвующих.

В Haiku я смог обойтись без GBM через Vulkan vkAllocateMemory которое стандартное вендор-нейтральное API. Реализовывать поддержку GBM вообще смысла не вижу.

X512 ★★★ ()
Ответ на: комментарий от router

Раньше обходили так, что пользователи ставили закрытый драйвер сами и по сути сами нарушали лицензию.

Лицензия не накладывает никаких ограничений на личное использование, так что не нарушали.

firkax ★★ ()
Ответ на: комментарий от ya-betmen

Так вроде раньше за подобные шалости с кодом, который нужен только нвидивским блобам Линус им фак показывал вместо мержа в ведро. В чём сейчас отличие?

В том что ядро не должно подстраиваться под блобы. А теперь это GPL-код, тут уже не так всё плохо. Хотя конечно это не значит что примут всё подряд, дублировать ядерный функционал не нужно всё-таки.

firkax ★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)