LINUX.ORG.RU

NVIDIA анонсировала переход к полному открытию модулей ядра для Linux

 , , ,


1

3

Компания NVIDIA анонсировала план перехода к полностью открытому исходному коду модулей ядра драйверов для Linux, начиная с версии 560, которая должна появиться в ближайшее время. Новые драйверы должны полностью заменить проприетарные и стать рекомендованными версиями драйверов. Речь идёт о драйверах для чипов на новых архитектурах Turing, Ampere, Ada Lovelace и Hopper. Старые архитектуры Maxwell, Pascal и Volta новыми драйверами с полностью открытым кодом не поддерживаются и для них NVIDIA рекомендует продолжить использование проприетарных драйверов.

Для тех кто не уверен в том, какую версию драйвера устанавливать, NVIDIA выпустила шелл скрипт nvidia-driver-assistant. Утилиты других методов установки (CUDA, run файлы, мета пакеты дистрибутивов) также были обновлены. Вот таблица рекомендованных пакетов некоторых дистрибутивов:

Distro               Install the latest                            Install a specific release 
Fedora/RHEL/Kylin    dnf module install nvidia-driver:open-dkms    dnf module install nvidia-driver:560-open
openSUSE/SLES        zypper install nvidia-open{-azure,-64k}       zypper install nvidia-open-560{-azure,-64k}
Debian               apt-get install nvidia-open                   apt-get install nvidia-open-560
Ubuntu               apt-get install nvidia-open                   apt-get install nvidia-open-560

Установка cuda-toolkit осталась прежней. А пользователи WSL ничего устанавливать не должны.

Исходный код новых драйверов доступен на GitHub тут.

>>> Анонс



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 4)
Ответ на: комментарий от peregrine

Который массив байт? Это не код, а прошивка. Менять её смысла нет. Собственно код там можно менять.

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

Честно, я не знаю.

Так они и работают.

Только предполагаю, что раз они открыли только новый драйвер (модуль ядра), который грузит в видеокарту блоб, а старый почему-то оставили — значит, возможно, старый драйвер (модуль ядра) делал что-то более интересное и полезное.

Старый deprecated.

Но где та граница между прошивкой и драйвером?

Драйвер работает на твоем компьютере, прошивка на видеокарте.

Но ранее, как я понимаю, аналогичный код выполнялся на стороне ПК.

Там тоже была прошивка, просто ее было меньше, сейчас всякую мелочь туда еще перенесли. Это архитектурное изменение железа, а не драйверное.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 1)
Подготовка к распаковке …/36-firmware-nvidia-graphics_20240610-1_all.deb …


ну да, ну да на 12500H+iXe 🤡🤡🤡

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

Ну если ты смотрел внутрь , измерял площадь, то твоя информация правдивее и точнее. Хотя ссылка все равно не повредит. Я только знаю, что так делают сплошь и рядом даже для чипов уровня контроллеров, и та же невидия этим активно грешила (привет P106-100).

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

bruh. хватит изворачиваться, используй глаз и признай уже, что сморозил хрень. 200 мм² от 628мм² можно и без штангенциркулей отличить.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от t184256

Да, на этих фотках видно что кремний и впрямь отличается.

ncrmnt ★★★★★
()

Старые архитектуры Maxwell, Pascal и Volta новыми драйверами с полностью открытым кодом не поддерживаются и для них NVIDIA рекомендует продолжить использование проприетарных драйверов.

Как всегда не могли не положить ложку дегтя.

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

Ты сам себе противоречишь. Чтобы понять ломает код или не ломает, нужно в него залезть.

:)

Нет, представьте себе. :) Достаточно, чтобы все вносимые изменения были внутри модуля, который у людей без данного железа, вообще не загружается. И всё! Тогда им он гарантированно ничего не сломает.

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

Некоторые вещи надо делать сразу, а не потом переписывать. Потому что «потом» обычно никогда не наступает.

В данном случае не соглашусь. Чтобы вынести прошивку в реквест_фирмваре, её надо сначала добавить в пакет, устанавливающий юзеру прошивки. А туда вряд ли можно добавить прошивку, которую не используют драйверы апстримного ядра.

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

А у тех людей, у которых загружается? )

О своих юзерах вендор должен заботиться сам. Таков закон линукса. По факту, это означает, что от АМД в списке рассылки линукса сидит Алекс Дойчер, и 1 из 20 пользователей пытается помочь, остальные идут лесом. Когда под АМДшные видюхи редхат дрова пилил, было даже по-лучше. АМДшные патчи тогда вообще не принимали, называя их говнокодом. Но это в далёком прошлом, сейчас вендорам дали полный кард-бланш.

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

Так они и работают.

По каким ключевым словам вообще гуглить, чтобы было научно-популярно и отвечало на этот конкретный вопрос?

В моей картине мира оно не сильно дальше уходит от подключенной по усб вебки. Есть внутри компутера порт, туда подключено внешнее устройство, чёрный ящик. Ты туда шлёшь команды и данные, оно тебе обратно новые данные. Захотел — обновил прошивку, это единоразовое действие, которое пользователь выполняет раз в пять лет.

Но ведь видео это полноценный компьютер в компьютере. Явно архитектура сложнее. :)

Одного не понимаю — какой смысл, если этот блоб есть прошивка, грузить его во внутренний регистр каждый раз? Для пущей гибкости? А что мешает видеокарте эту прошивку как-то запоминать? В чем вообще сакральный смысл отправки на видеокарточку каких-то вроде бы фиксированных блобов?

Старый deprecated.

Новый для нового железа, старый в том числе для старого железа.

Депрекейтнули драйвера — депрекейтнули и поддержку всего этого видео.

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

Одного не понимаю — какой смысл, если этот блоб есть прошивка, грузить его во внутренний регистр каждый раз?

Например потому что каждой версии драйвера требуется своя версия прошивки.

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

Запросил у девайса пару байт — узнал имя устройства и версию прошивки, дальше:

  1. Либо накричал на пользователя, чтобы тот обновил прошивку/даунгрейднул драйвер
  2. Либо в тихую прошивку обновил
  3. Либо, в зависимости от версии прошивки, запустил тот или иной легаси-блок кода, специфичный для версии прошивки.

А если в системе есть какой-нибудь plug and play — в первом случае и кричать не надо, просто тихенько система скачивает нужную версию драйвера.

Неужели система с NVRegами всякими настолько технически проще и профитнее?

А какие тогда ещё устройства работают именно по такому принципу?

А как тогда у AMD? Про них никаких жалоб на блобы не слышал. Значит либо именно что не слышал, либо как-то и без обходятся — при этом железки у них вполне конкурентные.

witaway
()
Последнее исправление: witaway (всего исправлений: 3)
Ответ на: комментарий от witaway

А как тогда у AMD?

Прошивки там тоже при каждом запуске из файлов загружаются. Для прошивок WiFi карточек тоже это применяется.

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

На момент разработки драйвера, она кидается руками в /lib/firmware. И это экономит время, потому как поди ее тоже меняют на каждый чих. Потом, если очень надо, она пакуется в отдельный пакет идущий вместе с драйверами. А чтобы не было конфликтов, когда ее вольют в linux-firmware, давно придуман механизм когда драйвер пытается запрашивать несколько имён последовательно.

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

Как всегда не могли не положить ложку дегтя.

Собсно граница между старыми закрытыми и новыми открытыми дровами определяется наличием в железе видеокарты GSP (GPU System Processor). Именно на нём Nvidia вертит закрытую фирмварь, оставляя всё то что вертится на CPU открытым. Самая старая и демшанская карточка с GSP Nvidia GTX1660, всё что до неё GSP на борту не имеет.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)
Ответ на: комментарий от ncrmnt

На момент разработки драйвера, она кидается руками в /lib/firmware.

Можно ли пруф-ссылку? Ведь как-то странно: /lib/firmware числится за конкретным пакетом, и накидывать что-то туда руками - вредить пакетному менеджеру. К тому же некоторые держат подобные каталоги в рид-онли. Ладно бы ещё в какой-нить /usr/local/lib/firmware…

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

В другой прошивке – GSP, которая в отдельном большом файле. Этот бинарный массив – вспомогательный код для запуска прошивки GSP.

И да, чего вам там интересного надо в исходниках драйверов/прошивок видеокарт? Само железо всё равно закрытое и запатентованное.

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

На дев-системе, которая убивается/сносится по 10 раз на дню это всегда идет мимо пакетного менеджера просто чтобы не ждать сборки пакета. Уже стабильные версии пакетируются и они кладут фирмварю куда надо. Ссылки не дам, это скорее мейллисты и то как себе настраивают рабочее место разработчики. Потом уже к релизу пакуется в пакеты, и (в случае если все нормально делается) на каждый такой апдейт гоняется CI.

В /lib/firmware может гадить не только один пакет, а многие. У debian например пакеты firmware распределены по вендорам firmware-nvidia-gsp, firmware-realtek и т.п. И, насколько помню, из /usr/local/ фирмварю не подгружают обычно.

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

Извиняюсь за оффтоп,у меня gigabyte 4060,настраивал панель управления nvidia и в линукс и в вин11. Что ни крутил все равно на качественных фильмах 4k во время движения камеры изображение смазывалось,и в вин и в линуксе. Перед этим стояла amd 460,картинка идеальная. Поменял шнур с hdmi на dp,размазня с нвидиа исчезла,стало нормально(хотя с амд видеокартой все равно красивей). Кто подскажет это видеокарта виновата или амд и должен показывать красивей?И почему на нвидиа влияет шнур dp или hdmi,а с амд картинка одинаковая?

Vadim59
()
Ответ на: комментарий от PhD

Кстати, а куда делись те хакиры, которые якобы украли все исходники нвидии и грозились их выложить в опенсорц?

После того как они глянули исходники, быстренько всё запаковали и обратно Нвидии отправили со словами «гребитесь с этим сами, гребаные некрозоофилы!»

BydymTydym
()
Ответ на: комментарий от Stanson

Здорово же продавать те же самые кристаллы лохам в несколько раз дороже, просто поменяв PCI VID:PID и нанося другую маркировку.

Вот ты своё мурло и показал истинное, а Нвидиа - они не такие! Они разные кристаллы продают за разные деньги, потому что привыкли бизнес вести честно…

BydymTydym
()
Ответ на: комментарий от Stanson

Так и с невидией. Сырцы невидии нужны только чтобы посмотреть как из нищебродской карточки сделать топовую и что в nouveau дописать чтобы всё работало.

Это точно! Я помню, во времена модемного доступа в Инет, утекли исходники билинговой системы какого-то провайдера, так немедленно появились звонилки с бесплатным доступом в сеть. А еще исходники одного производителя модемов утекли - сразу софтверные ускорители интернета появились. Ставишь - и сразу счастье наступает!

BydymTydym
()
Ответ на: комментарий от hobbit

Карты нвидии всегда были хорошим решение для графике в линуксе, жаль только, что с блобом.

Карты нвидии всегда были хорошим решение для графике в линуксе, жаль только, что плохим.

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

Вот именно - далёкие от IT люди развивать ОС не могут. А виндой пользуются в основном они.

Да не гони. Домохозяйки давно уже на телефонах/планшетах, дезигнеры предпочитают макакаось, получается, что на винде сидят таки те, кто, по историческим причинам, плачут, колются, но продолжают писать софт для винды (как я на работе).

PS Само собой разумеется, мы не развиваем эту ОС - это да.

her_s_gory
()
Последнее исправление: her_s_gory (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.