Ядро 5.14 и драйвер Nvidia
Коллеги, Тут такой вопрос - есть ноутбук 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
Здравствуйте! Буквально вчера собрал из исходников (пакеты 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
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
В 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
ср, 29 сент. 2021 г. в 17:52, Victor Wagner : > После этого модуль собрался. А вот чтобы он загрузился, пришлось еще > читать > > > https://wiki.debian.org/SecureBoot, генерировать machine owner key, > инсталлировать его в UEFI, и подписывать модули. > Более того, это придется делать теперь каждый раз при обновлении ядра или модуля ( В смысле генерить не придется, а вот подписывать надо будет. -- With best regards Maksim Dmitrichenko
Re: Ядро 5.14 и драйвер Nvidia
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
В 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
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
В 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