forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.LINUX.CHAINIK

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 24.12.2021, 11:15
Rinat H. Sadretdinow
Guest
 
Сообщений: n/a
По умолчанию Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?

Rinat H. Sadretdinow написал(а) к All в Dec 21 09:56:42 по местному времени:

Нello All!

У меня сейчас установлен драйвер NVIDIA вот такой версии:

~~~
[rhs@sys3175 ~]$ nvidia-installer -v

nvidia-installer: version 470.82.00
The NVIDIA Software Installer for Unix/Linux.

This program is used to install, upgrade and uninstall The NVIDIA Accelerated Graphics Driver Set for Linux-x86_64.

[rhs@sys3175 ~]$
~~~

Захотел я его проапгрейдить. Ну сходил на сайт:

https://www.nvidia.ru/Download/index.aspx?lang=ru

и скачал там:

NVIDIA-Linux-x86_64-470.94.run

Запустил его из-под root, он мне сказал что "Обнаружен 470.82, он будет предварительно удалён, а после я тебе 470.94 установлю". Я согласился. Он попыхтел, сказал что 470.82 удалён, а 470.94 установлен. Перезагружаюсь -- не входит в X вообще. Лезу в /var/log/messages. А там:

~~~
Dec 24 12:09:14 sys3175 kernel: NVRM: loading NVIDIA UNIX x86_64 Kernel Module 470.82.00 Thu Oct 14 10:24:40 UTC 2021
Dec 24 12:09:14 sys3175 kernel: nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 470.82.00 Thu Oct 14 10:17:58 UTC 2021
~~~

Ну и после этого:

~~~
Dec 24 09:10:27 sys3175 kernel: NVRM: API mismatch: the client has the version 470.94, but#012NVRM: this kernel module has the version 470.82.00. Please#012NVRM: make sure that this kernel module and all NVIDIA driver#012NVRM: components have the same version.
Dec 24 09:10:27 sys3175 kernel: NVRM: API mismatch: the client has the version 470.94, but#012NVRM: this kernel module has the version 470.82.00. Please#012NVRM: make sure that this kernel module and all NVIDIA driver#012NVRM: components have the same version.
Dec 24 09:10:27 sys3175 kernel: NVRM: API mismatch: the client has the version 470.94, but#012NVRM: this kernel module has the version 470.82.00. Please#012NVRM: make sure that this kernel module and all NVIDIA driver#012NVRM: components have the same version.
Dec 24 09:10:27 sys3175 kernel: NVRM: API mismatch: the client has the version 470.94, but#012NVRM: this kernel module has the version 470.82.00. Please#012NVRM: make sure that this kernel module and all NVIDIA driver#012NVRM: components have the same version.
~~~

со всеми вытекающими. Причём dkms говорит что у меня отныне 470.94:

~~~
[rhs@sys3175 ~]$ dkms status
nvidia/470.94, 5.15.10-200.fc35.x8664, x8664: installed
[rhs@sys3175 ~]$
~~~

но ведро считает что у меня до сих пор 470.82.00:

~~~
[root@sys3175 ~]# lsinitrd | grep extra/nvidia
-rw-r--r-- 1 root root 24028 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-drm.ko.xz
-rw-r--r-- 1 root root 23809056 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia.ko.xz
-rw-r--r-- 1 root root 515404 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-modeset.ko.xz
[root@sys3175 ~]#
~~~

Так и есть, модули старые, 28 октября, от 470.82.

Изучаю /boot/initramfs$(uname -r).img, там кроме microcode/GenuineIntel.bin больше нифига ничего нет.

Откатился пока что обратно на 470.82 чтобы была возможность загрузить GoldEd и тут поспрашивать. В принципе мне ничуть не критичны драйвера 470.94, я и на 470.82 прекрасно живу, но тут у меня уже принцип полез -- какого хрена ведро считает себя умнее меня?

Посему вопрос (вопросы):

1) где, чёрт возьми, хранится инфа о том, что ведро хочет 470.82, хотя уже установлено 470.94?
2) откуда lsinitrd эту инфу берёт? (можно конечно на его исходники глянуть и узнать откуда оно инфу цепляет, но не хотелось бы сразу же нырять в такие дебри).
3) как сказать ведру чтобы оно забыло про 470.82 насовсем и стало юзать 470.94?

И гуглил, и FAQ'и всякие читал, но нифига ответ так и не нашёл. Что называется "и унитаз свой приносил, и задницу показывал, но не продают мне нужную туалетную бумагу!"

Bye!

--- GoldED+/LNX 1.1.5-b20180707
Ответить с цитированием
  #2  
Старый 24.12.2021, 13:46
Alexey Vissarionov
Guest
 
Сообщений: n/a
По умолчанию Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?

Alexey Vissarionov написал(а) к Rinat H. Sadretdinow в Dec 21 12:34:56 по местному времени:

Доброго времени суток, Rinat!
24 Dec 2021 09:56:42, ты -> All:

RНS> Dec 24 09:10:27 sys3175 kernel: NVRM: API mismatch: the client
^^^^^^^^^^^^
RНS> has the version 470.94, but this kernel module has the version
RНS> 470.82.00. Please make sure that this kernel module and all
RНS> NVIDIA driver components have the same version.
RНS> [rhs@sys3175 ~]$ dkms status
RНS> nvidia/470.94, 5.15.10-200.fc35.x8664, x8664: installed
RНS> [rhs@sys3175 ~]$

Ну оно же тебе все пишет человеческим по фоновому...

RНS> Откатился пока что обратно на 470.82 чтобы была возможность
RНS> загрузить GoldEd и тут поспрашивать. В принципе мне ничуть не
RНS> критичны драйвера 470.94, я и на 470.82 прекрасно живу, но тут
RНS> у меня уже принцип полез -- какого хрена ведро считает себя
RНS> умнее меня?

Потому что люди, которые пишут ядерные модули, действительно умнее.

RНS> Посему вопрос (вопросы):
RНS> 1) где, чёрт возьми, хранится инфа о том, что ведро хочет 470.82,
RНS> хотя уже установлено 470.94?

В linux/drivers/gpu/drm/nouveau/include/ :-)

Модуль собирается под строго определенную версию ядра. А некоторые (как я) дополнительно включают цифровые подписи, чтобы никакой левый модуль вообще загрузить нельзя было (CONFIGCНECKSIGNATURE=y в ядерном конфиге).

RНS> 2) откуда lsinitrd эту инфу берёт?

Из засунутого туда ядрен-модуля.

RНS> 3) как сказать ведру чтобы оно забыло про 470.82 насовсем и стало
RНS> юзать 470.94?

Скорее всего, просто обновить. Актуальное ядро - позавчерашнее 5.15.11

RНS> И гуглил, и FAQ'и всякие читал, но нифига ответ так и не нашёл.
RНS> Что называется "и унитаз свой приносил, и задницу показывал, но
RНS> не продают мне нужную туалетную бумагу!"

А какую проблему ты хотел решить этим обновлением?


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... $='print"\$_=\x27$\x27;eval\n"';eval
--- /bin/vi
Ответить с цитированием
  #3  
Старый 24.12.2021, 23:25
Zhenja Kaliuta
Guest
 
Сообщений: n/a
По умолчанию Re: Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?

Zhenja Kaliuta написал(а) к Rinat H. Sadretdinow в Dec 21 20:54:58 по местному времени:

Нi, Rinat!

On Fri, 24 Dec 2021 09:56:42 +0300 Rinat Н. Sadretdinow writes:

RНS> Нello All!
RНS> У меня сейчас установлен драйвер NVIDIA вот такой версии:

У меня нет ни nvidia, ни dkms сейчас, поэтому попробую погадать.

RНS> ~~~
RНS> [rhs@sys3175 ~]$ nvidia-installer -v

RНS> nvidia-installer: version 470.82.00
RНS> The NVIDIA Software Installer for Unix/Linux.

RНS> This program is used to install, upgrade and uninstall The NVIDIA Accelerated Graphics Driver Set for Linux-x86_64.

RНS> [rhs@sys3175 ~]$
RНS> ~~~

RНS> Захотел я его проапгрейдить. Ну сходил на сайт:

RНS> https://www.nvidia.ru/Download/index.aspx?lang=ru

RНS> и скачал там:

RНS> NVIDIA-Linux-x86_64-470.94.run

RНS> Запустил его из-под root, он мне сказал что "Обнаружен 470.82, он
RНS> будет предварительно удалён, а после я тебе 470.94 установлю". Я
RНS> согласился. Он попыхтел, сказал что 470.82 удалён, а 470.94
RНS> установлен. Перезагружаюсь -- не входит в X вообще. Лезу в
RНS> /var/log/messages. А там:

RНS> ~~~
RНS> Dec 24 12:09:14 sys3175 kernel: NVRM: loading NVIDIA UNIX x86_64 Kernel Module 470.82.00 Thu Oct 14 10:24:40 UTC 2021
RНS> Dec 24 12:09:14 sys3175 kernel: nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 470.82.00 Thu Oct 14 10:17:58 UTC 2021
RНS> ~~~

RНS> Ну и после этого:

RНS> ~~~
RНS> Dec 24 09:10:27 sys3175 kernel: NVRM: API mismatch: the client has the
RНS> version 470.94, but#012NVRM: this kernel module has the version
RНS> 470.82.00. Please#012NVRM: make sure that this kernel module and all
RНS> NVIDIA driver#012NVRM: components have the same version.
RНS> Dec 24 09:10:27 sys3175 kernel: NVRM: API mismatch: the client has the
RНS> version 470.94, but#012NVRM: this kernel module has the version
RНS> 470.82.00. Please#012NVRM: make sure that this kernel module and all
RНS> NVIDIA driver#012NVRM: components have the same version.
RНS> Dec 24 09:10:27 sys3175 kernel: NVRM: API mismatch: the client has the
RНS> version 470.94, but#012NVRM: this kernel module has the version
RНS> 470.82.00. Please#012NVRM: make sure that this kernel module and all
RНS> NVIDIA driver#012NVRM: components have the same version.
RНS> Dec 24 09:10:27 sys3175 kernel: NVRM: API mismatch: the client has the
RНS> version 470.94, but#012NVRM: this kernel module has the version
RНS> 470.82.00. Please#012NVRM: make sure that this kernel module and all
RНS> NVIDIA driver#012NVRM: components have the same version.
RНS> ~~~

RНS> со всеми вытекающими. Причём dkms говорит что у меня отныне 470.94:

RНS> ~~~
RНS> [rhs@sys3175 ~]$ dkms status
RНS> nvidia/470.94, 5.15.10-200.fc35.x8664, x8664: installed
RНS> [rhs@sys3175 ~]$
RНS> ~~~

RНS> но ведро считает что у меня до сих пор 470.82.00:

RНS> ~~~
RНS> [root@sys3175 ~]# lsinitrd | grep extra/nvidia
RНS> -rw-r--r-- 1 root root 24028 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-drm.ko.xz
RНS> -rw-r--r-- 1 root root 23809056 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia.ko.xz
RНS> -rw-r--r-- 1 root root 515404 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-modeset.ko.xz
RНS> [root@sys3175 ~]#
RНS> ~~~

судя по man, lsinitrd -- часть dracut (initrd инфраструктура) и должен по-умолчанию брать initramfs для текущего ядра.

Если dkms не обновил initrd (лень смотреть его скрипты) и модули грузятся оттуда, то логично, хоть и странно (что не обновил). dracut --force должен перегенерировать. А depmod -v | grep nvidia что показывает?


RНS> Так и есть, модули старые, 28 октября, от 470.82.

RНS> Изучаю /boot/initramfs$(uname -r).img, там кроме microcode/GenuineIntel.bin больше нифига ничего нет.

Звучит странно.


RНS> Откатился пока что обратно на 470.82 чтобы была возможность загрузить
RНS> GoldEd и тут поспрашивать. В принципе мне ничуть не критичны драйвера
RНS> 470.94, я и на 470.82 прекрасно живу, но тут у меня уже принцип полез
RНS> -- какого хрена ведро считает себя умнее меня?

RНS> Посему вопрос (вопросы):

RНS> 1) где, чёрт возьми, хранится инфа о том, что ведро хочет 470.82, хотя уже установлено 470.94?

У тебя установлены библиотеки и драйвер X новые, но ядерный модуль старый.

RНS> 2) откуда lsinitrd эту инфу берёт? (можно конечно на его исходники глянуть и узнать откуда оно инфу цепляет, но не хотелось бы сразу же нырять в такие дебри).

Можно в man глянуть.

RНS> 3) как сказать ведру чтобы оно забыло про 470.82 насовсем и стало юзать 470.94?

RНS> И гуглил, и FAQ'и всякие читал, но нифига ответ так и не нашёл. Что называется "и унитаз свой приносил, и задницу показывал, но не продают мне нужную туалетную бумагу!"

RНS> Bye!

--- Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)
Ответить с цитированием
  #4  
Старый 25.12.2021, 07:14
Rinat H. Sadretdinow
Guest
 
Сообщений: n/a
По умолчанию Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?

Rinat H. Sadretdinow написал(а) к Zhenja Kaliuta в Dec 21 06:04:18 по местному времени:

Нello Zhenja!

24 Dec 21 20:54, you wrote to me:

[...]

ZK> судя по man, lsinitrd -- часть dracut (initrd инфраструктура) и
ZK> должен по-умолчанию брать initramfs для текущего ядра.

Да, man я читал, так оно и есть.

ZK> Если dkms не обновил initrd (лень смотреть его скрипты) и модули
ZK> грузятся оттуда, то логично, хоть и странно (что не обновил). dracut
ZK> --force должен перегенерировать.

Это я пока не пробовал, честно признаюсь. Вдруг перестанет грузиться вообще? Безусловно с этим (с возможной не загрузкой) я разберусь, не вчера с компами и не совсем тупой, просто не хотелось бы тратить на это время ежели такое произойдёт, хотелось обойтись малой кровью.

ZK> А depmod -v | grep nvidia что показывает?

Сейчас у меня [временно] 470.82, но на безуспешно установленном 470.94 он показывает то же самое, уж поверь.

Ядро вот такое:

~~~
[rhs@sys3175 ~]$ uname -r
5.15.10-200.fc35.x86_64
[rhs@sys3175 ~]$
~~~

depmod -v | grep nvidia показывает так:

~~~
[rhs@sys3175 ~]$ sudo depmod -v | grep nvidia
/lib/modules/5.15.10-200.fc35.x8664/kernel/drivers/usb/typec/altmodes/typec_nvidia.ko.xz needs "__typec_altmode_register_driver": /lib/modules/5.15.10-200.fc35.x8664/kernel/drivers/usb/typec/typec.ko.xz
/lib/modules/5.15.10-200.fc35.x8664/kernel/drivers/usb/typec/altmodes/typec_nvidia.ko.xz needs "dp_altmode_remove": /lib/modules/5.15.10-200.fc35.x86_64/kernel/drivers/usb/typec/altmodes/typecdisplayport.ko.xz
/lib/modules/5.15.10-200.fc35.x8664/extra/nvidia-modeset.ko.xz needs "nvidia_register_module": /lib/modules/5.15.10-200.fc35.x8664/extra/nvidia.ko.xz
/lib/modules/5.15.10-200.fc35.x8664/extra/nvidia-drm.ko.xz needs "drm_framebuffer_cleanup": /lib/modules/5.15.10-200.fc35.x8664/kernel/drivers/gpu/drm/drm.ko.xz
/lib/modules/5.15.10-200.fc35.x8664/extra/nvidia-drm.ko.xz needs "drm_kms_helper_poll_fini": /lib/modules/5.15.10-200.fc35.x86_64/kernel/drivers/gpu/drm/drm_kmshelper.ko.xz
/lib/modules/5.15.10-200.fc35.x8664/extra/nvidia-drm.ko.xz needs "nvKmsKapiGetFunctionsTable": /lib/modules/5.15.10-200.fc35.x8664/extra/nvidia-modeset.ko.xz
/lib/modules/5.15.10-200.fc35.x8664/extra/nvidia-uvm.ko.xz needs "nvUvmInterfaceDisableAccessCntr": /lib/modules/5.15.10-200.fc35.x8664/extra/nvidia.ko.xz
/lib/modules/5.15.10-200.fc35.x8664/extra/nvidia.ko.xz needs "drm_gem_object_free": /lib/modules/5.15.10-200.fc35.x8664/kernel/drivers/gpu/drm/drm.ko.xz
[rhs@sys3175 ~]$
~~~

Это для текущего 470.82.

RНS>> Так и есть, модули старые, 28 октября, от 470.82.

RНS>> Изучаю /boot/initramfs$(uname -r).img, там кроме
RНS>> microcode/GenuineIntel.bin больше нифига ничего нет.

ZK> Звучит странно.

Я не вру. Кроме микрокода в initramfs больше нет ничего:

~~~
[rhs@sys3175 ~]$ sudo file /boot/initramfs-$(uname -r).img
/boot/initramfs-5.15.10-200.fc35.x86_64.img: ASCII cpio archive (SVR4 with no CRC)
[rhs@sys3175 ~]$ sudo cat /boot/initramfs-$(uname -r).img | cpio --list
.
early_cpio
kernel
kernel/x86
kernel/x86/microcode
kernel/x86/microcode/GenuineIntel.bin
30 blocks
[rhs@sys3175 ~]$
~~~

RНS>> 1) где, чёрт возьми, хранится инфа о том, что ведро хочет
RНS>> 470.82, хотя уже установлено 470.94?

ZK> У тебя установлены библиотеки и драйвер X новые, но ядерный модуль
ZK> старый.

Вот! В initrd почему-то именно старые драйвера/модули:

~~~
[rhs@sys3175 ~]$ sudo lsinitrd | grep -i extra/nvidia
-rw-r--r-- 1 root root 24028 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-drm.ko.xz
-rw-r--r-- 1 root root 23809056 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia.ko.xz
-rw-r--r-- 1 root root 515404 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-modeset.ko.xz
[rhs@sys3175 ~]$
~~~

Обрати внимание на дату модулей из вывода lsinitrd, они все 28 октября (я в то время как раз Fedora 35 себе заапгрейдил через dnf с Fedora 34 чтобы не делать "pere install", так что эти модули от 470.82 остались ещё с Fedora 34, там с ними было всё нормально, я просто время от времени апгрейдил драйвера nvidia и подобных проблем не возникало никогда (я апгрыжусь с версии на версию Fedora через dnf ещё со времён Fedora 32, то есть года два уже, "pure install" с тех пор ни разу не делал).

А фактически в usr/lib/modules/5.15.10-200.fc35.x86_64/extra/ лежат модули за вчерашнее число, за 24 декабря уже:

~~~
[rhs@sys3175 ~]$ ls -l /lib/modules/$(uname -r)/extra
total 24120
-rw-r--r-- 1 root root 24028 Dec 24 09:16 nvidia-drm.ko.xz
-rw-r--r-- 1 root root 23809056 Dec 24 09:16 nvidia.ko.xz
-rw-r--r-- 1 root root 515404 Dec 24 09:16 nvidia-modeset.ko.xz
-rw-r--r-- 1 root root 1008 Dec 24 09:16 nvidia-peermem.ko.xz
-rw-r--r-- 1 root root 342612 Dec 24 09:16 nvidia-uvm.ko.xz
[rhs@sys3175 ~]$
~~~

Сейчас у меня, повторюсь, 470.82, поэтому и модули из lsinitrd, и модули из usr/lib/modules/5.15.10-200.fc35.x8664/extra/ совпадают по API версии NVRM и всё пучком, все довольны. Но стОит мне установить 470.94, как в usr/lib/modules/5.15.10-200.fc35.x86_64/extra/ образуются модули 470.94 (инсталлятор в процессе установки их компилит под текущее ведро и туда копирует), а в выводе lsinitrd остаются старые, от 470.82, за 28 октября, и ведро начинает орать что "Я хочу 470.82, а в usr/lib/modules/5.15.10-200.fc35.x8664/extra/ лежат 470.94, непорядок, не буду их грузить!". Явно что initrd не обновляется. Но вот почему?

RНS>> 2) откуда lsinitrd эту инфу берёт? (можно конечно на его исходники
RНS>> глянуть и узнать откуда оно инфу цепляет, но не хотелось бы сразу же
RНS>> нырять в такие дебри).

ZK> Можно в man глянуть.

Там я ничего не увидел. Может плохо смотрел?

Похоже придётся всё же смотреть на исходники lsinitrd чтобы узнать где же и как же и почему же упорно берутся старые модули для ведра при наличии новых. Если внутри initramfs про них ни слова нет.

RНS>> 3) как сказать ведру чтобы оно забыло про 470.82 насовсем и
RНS>> стало юзать 470.94?

Я бы руками сам изменил initramfs, добавил бы в него (заменил бы в нём) модули 470.82 на 470.94, но см. выше, в initramfs кроме микрокода ничего нет.

Откуда lsinitrd берёт инфу что модули 470.82? Я бы прям там поменял. Если бы знал откуда эта конфигурация берётся.

[offtopic ON]

В декабре прошлого года я в дранках попросил сеть друзей, FIDO, помочь мне и дать в долг кто сколько сможет на похороны. Многие откликнулись и ты в том числе, спасибо великое все откликнувшимся за это. В июле этого года я смог отдать долги тем, кто не высказал явное желание не получать долг обратно. Отдал всем, остался ты единственный. С июля я тебе отправлял аж три netmail'а с периодичностью в месяц каждое с вопросом "Как вернуть долго?", но ни ответа, ни привета. Или мои netmail'ы до тебя почему-то не доходят, или ты их игнорируешь. Поэтому, как говориться "пользуясь случаем", раз уж эхи ты точно читаешь и даже отвечаешь, то вопрошаю тут: "Как вернуть тебе долг?"

[offtopic OFF]

Bye!

--- GoldED+/LNX 1.1.5-b20180707
Ответить с цитированием
  #5  
Старый 25.12.2021, 07:43
Rinat H. Sadretdinow
Guest
 
Сообщений: n/a
По умолчанию Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?

Rinat H. Sadretdinow написал(а) к Zhenja Kaliuta в Dec 21 06:11:10 по местному времени:

Нello Zhenja!

25 Dec 21 06:04, I wrote to you:

ZK>> Если dkms не обновил initrd (лень смотреть его скрипты) и модули
ZK>> грузятся оттуда, то логично, хоть и странно (что не обновил).
ZK>> dracut --force должен перегенерировать.

RS> Это я пока не пробовал, честно признаюсь.

Попробовал. Это не спасло смертельно раненного кота, модули nvidia как были от 28 октября, так и остались такими же, а свежие от 24 декабря нифига не подключились:

~~~
[rhs@sys3175 ~]$ sudo dracut --force
[rhs@sys3175 ~]$ sudo lsinitrd | grep -i extra/nvidia
-rw-r--r-- 1 root root 24028 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-drm.ko.xz
-rw-r--r-- 1 root root 23809056 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia.ko.xz
-rw-r--r-- 1 root root 515404 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-modeset.ko.xz
[rhs@sys3175 ~]$ ls -l /usr/lib/modules/$(uname -r)/extra
total 24120
-rw-r--r-- 1 root root 24028 Dec 24 09:16 nvidia-drm.ko.xz
-rw-r--r-- 1 root root 23809056 Dec 24 09:16 nvidia.ko.xz
-rw-r--r-- 1 root root 515404 Dec 24 09:16 nvidia-modeset.ko.xz
-rw-r--r-- 1 root root 1008 Dec 24 09:16 nvidia-peermem.ko.xz
-rw-r--r-- 1 root root 342612 Dec 24 09:16 nvidia-uvm.ko.xz
[rhs@sys3175 ~]$
~~~

Bye!

--- GoldED+/LNX 1.1.5-b20180707
Ответить с цитированием
  #6  
Старый 25.12.2021, 07:43
Rinat H. Sadretdinow
Guest
 
Сообщений: n/a
По умолчанию Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?

Rinat H. Sadretdinow написал(а) к Alexey Vissarionov в Dec 21 06:16:08 по местному времени:

Нello Alexey!

24 Dec 21 12:34, you wrote to me:

RНS>> Dec 24 09:10:27 sys3175 kernel: NVRM: API mismatch: the client
AV> ^^^^^^^^^^^^

AV> Ну оно же тебе все пишет человеческим по фоновому...

Да это я вижу. Только не могу понять почему так, откуда оно, мать его, берёт старые модули!

AV> Потому что люди, которые пишут ядерные модули, действительно умнее.

Не спорю. Сам я ядерные модули не пишу и никогда не пробовал, последние мои драйвера были для OS/2, перед этим для DOS, с тех пор я в системные дебри не залезал ни разу.

RНS>> Посему вопрос (вопросы):
RНS>> 1) где, чёрт возьми, хранится инфа о том, что ведро хочет
RНS>> 470.82, хотя уже установлено 470.94?

AV> В linux/drivers/gpu/drm/nouveau/include/ :-)

1) nouveau у меня заблеклистен везде где только можно:

~~~
[rhs@sys3175 ~]$ cat /etc/default/grub | grep nouveau
GRUBCMDLINE_LINUX="rhdb quiet rd.driver.blacklist=nouveau resume=UUID=d5b6be1c-49e7-4afd-b720-b3244a5888fe systemd.unified_cgrouphierarchy=0 selinux=0"
[rhs@sys3175 ~]$ cat /etc/modprobe.d/blacklist.conf
blacklist nouveau
[rhs@sys3175 ~]$
~~~

2) причём тут linux/drivers/gpu/drm/nouveau/include/ если драйвера для nvidia туда вообще никаким боком?

AV> Модуль собирается под строго определенную версию ядра.

Да, именно это инсталлятор и делает. И прописывает их в /usr/lib/modules/$(uname -r)/extra но вот при изначальной загрузке ведро почему-то берёт их не оттуда, а невесть откуда, где оказываются старые модули, а не только что установленные.

RНS>> 2) откуда lsinitrd эту инфу берёт?

AV> Из засунутого туда ядрен-модуля.

Не понятно вообще. Модули в ведро не вкомпилированы.

RНS>> 3) как сказать ведру чтобы оно забыло про 470.82 насовсем и
RНS>> стало юзать 470.94?

AV> Скорее всего, просто обновить. Актуальное ядро - позавчерашнее 5.15.11

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

RНS>> И гуглил, и FAQ'и всякие читал, но нифига ответ так и не нашёл.
RНS>> Что называется "и унитаз свой приносил, и задницу показывал, но
RНS>> не продают мне нужную туалетную бумагу!"

AV> А какую проблему ты хотел решить этим обновлением?

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

Bye!

--- GoldED+/LNX 1.1.5-b20180707
Ответить с цитированием
  #7  
Старый 25.12.2021, 08:23
Zhenja Kaliuta
Guest
 
Сообщений: n/a
По умолчанию Re: Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?

Zhenja Kaliuta написал(а) к Rinat H. Sadretdinow в Dec 21 06:07:03 по местному времени:

Нi, Rinat!

On Sat, 25 Dec 2021 06:11:10 +0300 Rinat Н. Sadretdinow writes:

ZK>>> Если dkms не обновил initrd (лень смотреть его скрипты) и модули
ZK>>> грузятся оттуда, то логично, хоть и странно (что не обновил).
ZK>>> dracut --force должен перегенерировать.

RS>> Это я пока не пробовал, честно признаюсь.

RНS> Попробовал. Это не спасло смертельно раненного кота, модули nvidia как были от 28 октября, так и остались такими же, а свежие от 24 декабря нифига не подключились:

Как-то очень странно звучит, если новые модули установлены как и раньше и поверх старых, то при перегенерации старым взяться неоткуда.
Если старые были как-то иначе в другом месте и замещают новые, то старые либо убрать, либо подконфигурировать приоритеты.

modinfo nvidia что говорит?

dracut --debug --force в крайнем случае расскажет очень подробно в частности все обрабатываемые модули.

RНS> ~~~
RНS> [rhs@sys3175 ~]$ sudo dracut --force
RНS> [rhs@sys3175 ~]$ sudo lsinitrd | grep -i extra/nvidia
RНS> -rw-r--r-- 1 root root 24028 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-drm.ko.xz
RНS> -rw-r--r-- 1 root root 23809056 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia.ko.xz
RНS> -rw-r--r-- 1 root root 515404 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-modeset.ko.xz
RНS> [rhs@sys3175 ~]$ ls -l /usr/lib/modules/$(uname -r)/extra
RНS> total 24120
RНS> -rw-r--r-- 1 root root 24028 Dec 24 09:16 nvidia-drm.ko.xz
RНS> -rw-r--r-- 1 root root 23809056 Dec 24 09:16 nvidia.ko.xz
RНS> -rw-r--r-- 1 root root 515404 Dec 24 09:16 nvidia-modeset.ko.xz
RНS> -rw-r--r-- 1 root root 1008 Dec 24 09:16 nvidia-peermem.ko.xz
RНS> -rw-r--r-- 1 root root 342612 Dec 24 09:16 nvidia-uvm.ko.xz
RНS> [rhs@sys3175 ~]$
RНS> ~~~



--- Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)
Ответить с цитированием
  #8  
Старый 25.12.2021, 08:33
Zhenja Kaliuta
Guest
 
Сообщений: n/a
По умолчанию Re: Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?

Zhenja Kaliuta написал(а) к Rinat H. Sadretdinow в Dec 21 06:11:10 по местному времени:

Нi, Rinat!

On Sat, 25 Dec 2021 06:04:18 +0300 Rinat Н. Sadretdinow writes:

RНS> Или мои netmail'ы до тебя почему-то не доходят, или ты их игнорируешь.

Не дошли. Ответил в нетмейл, посмотрим.
--- Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)
Ответить с цитированием
  #9  
Старый 25.12.2021, 09:34
Rinat H. Sadretdinow
Guest
 
Сообщений: n/a
По умолчанию Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?

Rinat H. Sadretdinow написал(а) к Zhenja Kaliuta в Dec 21 08:16:30 по местному времени:

Нello Zhenja!

25 Dec 21 06:07, you wrote to me:

RНS>> Попробовал. Это не спасло смертельно раненного кота, модули
RНS>> nvidia как были от 28 октября, так и остались такими же, а
RНS>> свежие от 24 декабря нифига не подключились:

ZK> Как-то очень странно звучит, если новые модули установлены как и
ZK> раньше и поверх старых, то при перегенерации старым взяться неоткуда.

Ну вот откуда-то берутся! В /usr/lib/modules/$(uname -r)/extra лежат новые, только что собранные, а lsinitrd показывает старые.

ZK> Если старые были как-то иначе в другом месте и замещают новые, то
ZK> старые либо убрать, либо подконфигурировать приоритеты.

Знать бы где они лежат -- убрал бы.

ZK> modinfo nvidia что говорит?

470.94 я пока не пробовал ставить (иначе бы не смог это написать), а так 470.82 само собой.

ZK> dracut --debug --force в крайнем случае расскажет очень подробно в
ZK> частности все обрабатываемые модули.

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

Bye!

--- GoldED+/LNX 1.1.5-b20180707
Ответить с цитированием
  #10  
Старый 25.12.2021, 10:34
Rinat H. Sadretdinow
Guest
 
Сообщений: n/a
По умолчанию Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?

Rinat H. Sadretdinow написал(а) к Zhenja Kaliuta в Dec 21 09:07:50 по местному времени:

Нello Zhenja!

25 Dec 21 08:16, I wrote to you:

[...]

Всё страньше и страньше.

Перегрузился в 'init 3'.

'modinfo nvidia' нормально говорит про текущий 470.82:

~~~
[rhs@sys3175 ~]$ sudo modinfo nvidia
filename: /lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia.ko.xz
firmware: nvidia/470.82.00/gsp.bin
alias: char-major-195-*
version: 470.82.00
supported: external
license: NVIDIA
srcversion: E66753074ED62D36C634AF6
alias: pci:v000010DEdsv*sd*bc03sc02i00
alias: pci:v000010DEdsv*sd*bc03sc00i00
depends: drm
retpoline: Y
name: nvidia
vermagic: 5.15.10-200.fc35.x8664 SMP modunload

[...]

[rhs@sys3175 ~]$
~~~

depmod тоже прекрасно всё видит:

~~~
[rhs@sys3175 ~]$ sudo depmod -v | grep nvidia
/lib/modules/5.15.10-200.fc35.x8664/kernel/drivers/usb/typec/altmodes/typec_nvidia.ko.xz needs "__typec_altmode_register_driver": /lib/modules/5.15.10-200.fc35.x8664/kernel/drivers/usb/typec/typec.ko.xz
/lib/modules/5.15.10-200.fc35.x8664/kernel/drivers/usb/typec/altmodes/typec_nvidia.ko.xz needs "dp_altmode_remove": /lib/modules/5.15.10-200.fc35.x86_64/kernel/drivers/usb/typec/altmodes/typecdisplayport.ko.xz
/lib/modules/5.15.10-200.fc35.x8664/extra/nvidia-modeset.ko.xz needs "nvidia_register_module": /lib/modules/5.15.10-200.fc35.x8664/extra/nvidia.ko.xz
/lib/modules/5.15.10-200.fc35.x8664/extra/nvidia-drm.ko.xz needs "drm_framebuffer_cleanup": /lib/modules/5.15.10-200.fc35.x8664/kernel/drivers/gpu/drm/drm.ko.xz
/lib/modules/5.15.10-200.fc35.x8664/extra/nvidia-drm.ko.xz needs "drm_kms_helper_poll_fini": /lib/modules/5.15.10-200.fc35.x86_64/kernel/drivers/gpu/drm/drm_kmshelper.ko.xz
/lib/modules/5.15.10-200.fc35.x8664/extra/nvidia-drm.ko.xz needs "nvKmsKapiGetFunctionsTable": /lib/modules/5.15.10-200.fc35.x8664/extra/nvidia-modeset.ko.xz
/lib/modules/5.15.10-200.fc35.x8664/extra/nvidia-uvm.ko.xz needs "nvUvmInterfaceDisableAccessCntr": /lib/modules/5.15.10-200.fc35.x8664/extra/nvidia.ko.xz
/lib/modules/5.15.10-200.fc35.x8664/extra/nvidia.ko.xz needs "drm_gem_object_free": /lib/modules/5.15.10-200.fc35.x8664/kernel/drivers/gpu/drm/drm.ko.xz
[rhs@sys3175 ~]$
~~~

lsinitrd показывает всё те же модули от 28 октября, ещё от прежнего 470.82, вместо новых от 24 декабря, но тоже от 470.82:

~~~
[rhs@sys3175 ~]$ sudo lsinitrd | grep extra/nvidia
-rw-r--r-- 1 root root 24028 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-drm.ko.xz
-rw-r--r-- 1 root root 23809056 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia.ko.xz
-rw-r--r-- 1 root root 515404 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-modeset.ko.xz
[rhs@sys3175 ~]
~~~

Удаляю драйвер штатным анисталлером:

~~~
[rhs@sys3175 ~]$ sudo nvidia-uninstall
[rhs@sys3175 ~]
~~~

Проверяю modinfo, так и есть, никакого nvidia больше нет:

~~~
[rhs@sys3175 ~]$ sudo modinfo nvidia
modinfo: ERROR: Module nvidia not found.
[rhs@sys3175 ~]
~~~

Запускаю depmod, он показывает какие-то ядерные огрызки, которые к драйверам nvidia с их сайта явно не относятся, а все модули nvidia отсутствуют бляго nvidia-uninstall их прекрасно удалил:

~~~
[rhs@sys3175 ~]$ sudo depmod -v | grep nvidia

/lib/modules/5.15.10-200.fc35.x8664/kernel/drivers/usb/typec/altmodes/typec_nvidia.ko.xz needs "__typec_altmode_register_driver": /lib/modules/5.15.10-200.fc35.x8664/kernel/drivers/usb/typec/typec.ko.xz
/lib/modules/5.15.10-200.fc35.x8664/kernel/drivers/usb/typec/altmodes/typec_nvidia.ko.xz needs "dp_altmode_remove": /lib/modules/5.15.10-200.fc35.x86_64/kernel/drivers/usb/typec/altmodes/typecdisplayport.ko.xz
[rhs@sys3175 ~]
~~~

Консультируюсь у lsinitrd... И БАЦ!

~~~
[rhs@sys3175 ~]$ sudo lsinitrd | grep extra/nvidia
-rw-r--r-- 1 root root 24028 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-drm.ko.xz
-rw-r--r-- 1 root root 23809056 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia.ko.xz
-rw-r--r-- 1 root root 515404 Oct 28 22:55 usr/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-modeset.ko.xz
[rhs@sys3175 ~]
~~~

Вот откуда, ОТКУДА он упорно продолжает показывать всё те же самые модули от 28 октября? Откуда он их достаёт? Где они лежат? Если в /boot/initramfs$(uname -r).img кроме микрокода GenuineIntel.bin нет больше вообще ничего!

Надо ли говорить что после установки 470.94 ядро опять возопило: "У меня тут 470.82, а мне пихают 470.94, API другой, не буду работать, идите все в пень!"

Откатился опять на 470.82, чьи модули упорно сидят где-то (ГДЕ???) и которые lsinitrd показывает всегда, даже после команды nvidia-unistall, которая по идее должна удалить все упоминания про nvidia, включая эти. Буду думать дальше.

Bye!

--- GoldED+/LNX 1.1.5-b20180707
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 17:02. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot