Ядро 5.14 и драйвер Nvidia

2021-09-29 Пенетрантность Victor Wagner
Коллеги, 

Тут такой вопрос - есть ноутбук ASUS FX506LI.
Поставил на него bullseye
Для того, чтобы можно было использовать его wifi 

03:00.0 Network controller [0280]: MEDIATEK Corp. Device [14c3:7961]

пришлось поставить туда ядро из 5.14 из testing (по-моему этот
контроллер с 5.13 начиная поддерживается, а в bullseye у нас 5.10)

Но с ядром 5.14 не работает сейчас проприетарный драйвер Nvidia, ни из
bullseye, (460.91.03) ни из bookworm (470.57.02)
Согласно информации на сайте NVidia поддержка ядра 5.14 появилась у них 
только в драйвере версии 470.74. В Debian такого нет даже в
experimental. 

Правда есть в ubuntu и там он аж до 18.04 сбэкпорчен.

Вот что посоветуете - брать исходники пакета nvidia-graphic-drivers,
заменять в нем NVIDIA-Linux-x86_64-nnn.nn.nn.run на 470.74 и поднимать
версию, или братьь исходники пакета правильной версии из Ubuntu и
пересобирать под Debian? И если из ubuntu брать пакет от focal
(20.04lts) иди impish (21.10)? Кто будет более совместим с Debian
bullseye?

В итоге, понятно, хочется получить пакет nvidia-dkms, который будет
аккуратно пересобирать драйвер при последующих апгрейдах ядра в рамках
5.14 версии (оно ведь наверняка скоро до bullseye-backports доползет).

P.S. Mesa с nouveau на этом ноутбуке показывают 11-12fps в Unigine
Heaven. Хочется, понятно, больше.

-- 
   Victor Wagner 



Re: Ядро 5.14 и драйвер Nvidia

2021-09-29 Пенетрантность Alexei Ustyuzhaninov

Здравствуйте!

Буквально вчера собрал из исходников (пакеты linux-source и 
nvidia-kernel-source) ядро 5.14 и драйвер 470.57.02.

Все работает.


On 29.09.2021 13:29, Victor Wagner wrote:

Коллеги,

Тут такой вопрос - есть ноутбук ASUS FX506LI.
Поставил на него bullseye
Для того, чтобы можно было использовать его wifi

03:00.0 Network controller [0280]: MEDIATEK Corp. Device [14c3:7961]

пришлось поставить туда ядро из 5.14 из testing (по-моему этот
контроллер с 5.13 начиная поддерживается, а в bullseye у нас 5.10)

Но с ядром 5.14 не работает сейчас проприетарный драйвер Nvidia, ни из
bullseye, (460.91.03) ни из bookworm (470.57.02)
Согласно информации на сайте NVidia поддержка ядра 5.14 появилась у них
только в драйвере версии 470.74. В Debian такого нет даже в
experimental.

Правда есть в ubuntu и там он аж до 18.04 сбэкпорчен.

Вот что посоветуете - брать исходники пакета nvidia-graphic-drivers,
заменять в нем NVIDIA-Linux-x86_64-nnn.nn.nn.run на 470.74 и поднимать
версию, или братьь исходники пакета правильной версии из Ubuntu и
пересобирать под Debian? И если из ubuntu брать пакет от focal
(20.04lts) иди impish (21.10)? Кто будет более совместим с Debian
bullseye?

В итоге, понятно, хочется получить пакет nvidia-dkms, который будет
аккуратно пересобирать драйвер при последующих апгрейдах ядра в рамках
5.14 версии (оно ведь наверняка скоро до bullseye-backports доползет).

P.S. Mesa с nouveau на этом ноутбуке показывают 11-12fps в Unigine
Heaven. Хочется, понятно, больше.





Re: Ядро 5.14 и драйвер Nvidia

2021-09-29 Пенетрантность Victor Wagner
1.03) ни из bookworm (470.57.02)
> > Возьми отсюда
> > https://gist.github.com/joanbm/144a965c36fc1dc0d1f1b9be3438a368 патч
> > положи в /usr/src/nvidia-current-470.57.02/patches/ добавь там-же в
> > series и пересобери dkms'ом.
> >   
> 
> Э, нет. Этот фикс для 465. А в 470 есть еще одно вхождение 
> 
> поля state из struct task_struct.

Был неправ. Патч работоспособный, просто он патчит .h файл, который
включается теперь более одного раза.

Но вот чтобы патч у меня применился при выполнении команды

dpkg --confgure nvidia-kernel-dkms,

его имя пришлось дописывать не в series, а в dkms.conf.

После этого модуль собрался. А вот чтобы он загрузился, пришлось еще
читать

 
https://wiki.debian.org/SecureBoot, генерировать machine owner key,
инсталлировать его в UEFI, и подписывать модули.

Но нельзя сказать, чтобы в результате этих трудов FPS в Unigine Heaven
сильно вырос.

-- 
   Victor Wagner 



Re: Ядро 5.14 и драйвер Nvidia

2021-09-29 Пенетрантность Victor Wagner
В Wed, 29 Sep 2021 19:18:28 +0300
Maksim Dmitrichenko  пишет:

> ср, 29 сент. 2021 г. в 17:52, Victor Wagner :
> 
> > После этого модуль собрался. А вот чтобы он загрузился, пришлось еще
> > читать
> >
> >
> > https://wiki.debian.org/SecureBoot, генерировать machine owner key,
> > инсталлировать его в UEFI, и подписывать модули.
> >
> 
> Более того, это придется делать теперь каждый раз при обновлении ядра
> или модуля ( В смысле генерить не придется, а вот подписывать надо
> будет.
> 

Ну это касается только самостоятельно скомпилированных модулей.
Нормальные-то модули с нормальной лицензией подпишет мейнтейнер пакета.
А вот проприетарные, которые приходится каждому у себя пересобирать -
увы...

Вообще конечно, немножко у них непродумано. Надо бы уметь в сертификаты
Name constraint-ы прописывать. Что вот вот этот ключ - он только для
подписи модулей, собранных через dkms.

Ну и саму dkms тоже подписать bsign-ом и чтобы проверяла корректность
подписи под пакетом с исходниками, и только потом подписывала. 

Но вот bsign-а по-моему в Debian уже лет десять как нет.

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


-- 
   Victor Wagner 



Re: Ядро 5.14 и драйвер Nvidia

2021-09-29 Пенетрантность Maksim Dmitrichenko
ср, 29 сент. 2021 г. в 17:52, Victor Wagner :

> После этого модуль собрался. А вот чтобы он загрузился, пришлось еще
> читать
>
>
> https://wiki.debian.org/SecureBoot, генерировать machine owner key,
> инсталлировать его в UEFI, и подписывать модули.
>

Более того, это придется делать теперь каждый раз при обновлении ядра или
модуля ( В смысле генерить не придется, а вот подписывать надо будет.

-- 
With best regards
  Maksim Dmitrichenko


Re: Ядро 5.14 и драйвер Nvidia

2021-09-29 Пенетрантность Andrey Jr. Melnikov
Victor Wagner  wrote:
> 1.03) ни из bookworm (470.57.02)
> > > Возьми отсюда
> > > https://gist.github.com/joanbm/144a965c36fc1dc0d1f1b9be3438a368 патч
> > > положи в /usr/src/nvidia-current-470.57.02/patches/ добавь там-же в
> > > series и пересобери dkms'ом.
> > >   
> > 
> > Э, нет. Этот фикс для 465. А в 470 есть еще одно вхождение 
> > 
> > поля state из struct task_struct.

> Был неправ. Патч работоспособный, просто он патчит .h файл, который
> включается теперь более одного раза.

fix уже в unstable:

nvidia-graphics-drivers (470.57.02-3) unstable; urgency=medium

  * Backport drm_device_has_pdev and set_current_state changes from 470.63.01
to fix kernel module build for Linux 5.14.  (Closes: #994860)
 

> Но вот чтобы патч у меня применился при выполнении команды

> dpkg --confgure nvidia-kernel-dkms,
> его имя пришлось дописывать не в series, а в dkms.conf.

Ну а кто тебе виноват-то, что ты идешь длинными путями?
dkms autoinstall --kernelver $(uname -r) даёт тот-же результат, только без
тормозного dpkg.

> После этого модуль собрался. А вот чтобы он загрузился, пришлось еще
> читать
>  
> https://wiki.debian.org/SecureBoot, генерировать machine owner key,
> инсталлировать его в UEFI, и подписывать модули.
А просто выключить всю эту DRM'щину от M$ нельзя? 

> Но нельзя сказать, чтобы в результате этих трудов FPS в Unigine Heaven
> сильно вырос.



Re: Ядро 5.14 и драйвер Nvidia

2021-09-29 Пенетрантность Victor Wagner
В Thu, 30 Sep 2021 00:36:08 +0300
"Andrey Jr. Melnikov"  пишет:


> > Но вот чтобы патч у меня применился при выполнении команды
> 
> > dpkg --confgure nvidia-kernel-dkms,
> > его имя пришлось дописывать не в series, а в dkms.conf.
> 
> Ну а кто тебе виноват-то, что ты идешь длинными путями?
> dkms autoinstall --kernelver $(uname -r) даёт тот-же результат,
> только без тормозного dpkg.

Нет, не тот же. Потому что рано или поздно нужно будет заменять
самостоятельно поправленную конструкцию на штатную. Оно уже в
Unstable, а там глядишь и до bullseye-backports доползет.

> 
> > После этого модуль собрался. А вот чтобы он загрузился, пришлось еще
> > читать
> >  
> > https://wiki.debian.org/SecureBoot, генерировать machine owner key,
> > инсталлировать его в UEFI, и подписывать модули.
> А просто выключить всю эту DRM'щину от M$ нельзя? 

Я б лучше еще "замкнутую программную среду" включил, чтобы подписи
требовали не только ядерные модули, но и юзерспейс-программы и
подгружаемые в них .so. Ноутбук у меня для того, чтобы им пользоваться,
а не для того, чтобы ядро хакать. Поэтому лишний уровень защиты от
модификации кода используемых программ скорее полезен.
 
Но не менять же ради этого Debian на Astra Smolensk 1.7 - там пакетов
меньше. НУ и опять же питоновские и lua скрипты bsign там подписыать не
умеет. Поэтому решение неплоноценное.


> > Но нельзя сказать, чтобы в результате этих трудов FPS в Unigine
> > Heaven сильно вырос.
> 
Если уж от чего-то отказываться, то не от подписи ядерных модулей. а от
использования проприетарного драйвера. Тем более, что 
nouveau вполне подрос и не сильно уступает по крайней мере на
использованном тесте.

-- 
   Victor Wagner 



Re: Ядро 5.14 и драйвер Nvidia

2021-09-29 Пенетрантность Andrey Jr. Melnikov
Victor Wagner  wrote:
> Коллеги, 

> Тут такой вопрос - есть ноутбук ASUS FX506LI.
> Поставил на него bullseye
> Для того, чтобы можно было использовать его wifi 

> 03:00.0 Network controller [0280]: MEDIATEK Corp. Device [14c3:7961]

> пришлось поставить туда ядро из 5.14 из testing (по-моему этот
> контроллер с 5.13 начиная поддерживается, а в bullseye у нас 5.10)

> Но с ядром 5.14 не работает сейчас проприетарный драйвер Nvidia, ни из
> bullseye, (460.91.03) ни из bookworm (470.57.02)
Возьми отсюда https://gist.github.com/joanbm/144a965c36fc1dc0d1f1b9be3438a368 
патч
положи в /usr/src/nvidia-current-470.57.02/patches/ добавь там-же в series и
пересобери dkms'ом.




Re: Ядро 5.14 и драйвер Nvidia

2021-09-29 Пенетрантность Victor Wagner
В Wed, 29 Sep 2021 16:04:38 +0300
"Andrey Jr. Melnikov"  пишет:

> Victor Wagner  wrote:
> > Коллеги,   
> 
> > Тут такой вопрос - есть ноутбук ASUS FX506LI.
> > Поставил на него bullseye
> > Для того, чтобы можно было использовать его wifi   
> 
> > 03:00.0 Network controller [0280]: MEDIATEK Corp. Device
> > [14c3:7961]  
> 
> > пришлось поставить туда ядро из 5.14 из testing (по-моему этот
> > контроллер с 5.13 начиная поддерживается, а в bullseye у нас 5.10)  
> 
> > Но с ядром 5.14 не работает сейчас проприетарный драйвер Nvidia, ни
> > из bullseye, (460.91.03) ни из bookworm (470.57.02)  
> Возьми отсюда
> https://gist.github.com/joanbm/144a965c36fc1dc0d1f1b9be3438a368 патч
> положи в /usr/src/nvidia-current-470.57.02/patches/ добавь там-же в
> series и пересобери dkms'ом.
> 

Э, нет. Этот фикс для 465. А в 470 есть еще одно вхождение 

поля state из struct task_struct.
-- 
   Victor Wagner