From: |
"Rinat H. Sadretdinow" 2:5020/620.1 |
26 Dec 2021 12:03 +0200 |
To: |
Alexey Vissarionov 2:5020/620.1 |
|
Subject: |
Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?
|
Hello Alexey!
25 Dec 21 06:16, I wrote to you:
AV>> Скорее всего, просто обновить. Актуальное ядро - позавчерашнее
AV>> 5.15.11
RHS> Hе, просто обновить не получается, пробовал уже, не один раз, три
RHS> обновления уже через себя пропустил с тем же самым *не* результатом.
Я не обновляю ядра методом скачивания с kernel.org и самосбором, всегда
полагаюсь `dnf update` и сборку "где-то там" в недрах RedHat. Так что
"актуальное" 5.5.11 приползло через `dnf update` только сейчас, вот-вот,
буквально 10 минут назад. И со вчера с такими трудами установленным nvidia
470.94 не конфликтует. Viva криворукий я, чуть выпрямивший руки!
Bye!
From: |
"Rinat H. Sadretdinow" 2:5020/620.1 |
25 Dec 2021 10:02 +0200 |
To: |
All 2:5020/620.1 |
|
Subject: |
Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?
|
Hello All!
Траблема решена.
1) перезагрузка в 'init 3'
2) удаление всей нвидии посредством `nvidia-uninstall`
3) удаление /boot/initramfs-$(uname -r).img
4) создание нового ininramfs посредством `dracut /boot/initramfs-$(uname
-r).img`
4a) получается /boot/initramfs-$(uname -r).img вообще *без* упоминаний про
nvidia
5) установка последних драйверов nvidia 470.94 посредством запуска
`NVIDIA-Linux-x86_64-470.94.run`
6) перезагрузка и всё прекрасно работает, ничто ни с кем более не конфликтует
Версия драйвера как надо, последняя:
~~~
[rhs@sys3175 ~]$ nvidia-installer -v
nvidia-installer: version 470.94
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 ~]$
~~~
В initrd никаких конфликтующих версий нет, вообще nvidia нет:
~~~
[rhs@sys3175 ~]$ sudo lsinitrd | grep -i extra/nvidia
[rhs@sys3175 ~]$
~~~
Кто, как и когда мне в initrd *жёстко* внёс драйвера именно версии 470.82,
которые изгадили мне весь мозг за последние полтора дня -- ума не приложу. Hо
это точно был не я сам по собственному желанию. Может быть софт какой
"постарался", а я не заметил, но по собственному желанию я это не делал.
Во всяком случае теперь знаю как с подобным бороться.
Bye!
From: |
"Rinat H. Sadretdinow" 2:5020/620.1 |
25 Dec 2021 10:18 +0200 |
To: |
Zhenja Kaliuta 2:4500/1.59 |
|
Subject: |
Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?
|
Hello Zhenja!
25 Dec 21 09:15, you wrote to me:
RHS>> Вот откуда, *ОТКУДА* он упорно продолжает показывать всё те же
RHS>> самые модули от 28 октября? Откуда он их достаёт? Где они лежат?
RHS>> Если в /boot/initramfs$(uname -r).img кроме микрокода
RHS>> GenuineIntel.bin нет больше вообще ничего!
ZK> Hет, он содержит гораздо больше и lsinitrd это показывает. Пример (из
ZK> гугля) --
ZK> https://ahelpme.com/linux/tips/unpack-centos-7-initramfs-file-with-and
ZK> -without-dracut-skipcpio/
Меня сбил с толку вывод `file`:
~~~
[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 ~]$
~~~
"ASCII cpio archive", и поэтому я использовал для него `cat` пайпом в `cpio` и
он мне показывал только первый архив, в котором кроме микрокода ничего нет. Кто
же знал что за первым там лежит второй. Теперь вот lsinitrd рассмотрел и знаю
(это оказался просто скрипт на bash, так что понять что там к чему не составило
особого труда).
Bye!
From: |
Zhenja Kaliuta 2:4500/1.59 |
25 Dec 2021 09:15 +0200 |
To: |
Rinat H. Sadretdinow 2:5020/620.1 |
|
Subject: |
Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?
|
Hi, Rinat!
On Sat, 25 Dec 2021 09:07:50 +0300 Rinat H. Sadretdinow writes:
[...]
RHS> Консультируюсь у lsinitrd... И БАЦ!
RHS> ~~~
RHS> [rhs@sys3175 ~]$ sudo lsinitrd | grep extra/nvidia
RHS> -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
RHS> -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
RHS> -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> [rhs@sys3175 ~]
RHS> ~~~
RHS> Вот откуда, *ОТКУДА* он упорно продолжает показывать всё те же самые
RHS> модули от 28 октября? Откуда он их достаёт? Где они лежат? Если в
RHS> /boot/initramfs$(uname -r).img кроме микрокода GenuineIntel.bin нет
RHS> больше вообще ничего!
Нет, он содержит гораздо больше и lsinitrd это показывает. Пример (из гугля) --
https://ahelpme.com/linux/tips/unpack-centos-7-initramfs-file-with-and-without-dracut-skipcpio/
https://www.kernel.org/doc/html/latest/driver-api/early-userspace/buffer-format.html
```In human terms, the initramfs buffer contains a collection of compressed
and/or uncompressed cpio archives (in the "newc" or "crc" formats); arbitrary
amounts zero bytes (for padding) can be added between members.```
RHS> Hадо ли говорить что после установки 470.94 ядро опять возопило: "У меня
тут 470.82, а мне пихают 470.94, API другой, не буду работать, идите все в
пень!"
RHS> Откатился опять на 470.82, чьи модули упорно сидят где-то (ГДЕ???) и
RHS> которые lsinitrd показывает всегда, даже после команды
RHS> nvidia-unistall, которая по идее должна удалить *все* упоминания про
RHS> nvidia, включая эти. Буду думать дальше.
Я не был бы так категоричен по поводу должна ли nvidia-uninstall удалять модули
из initramfs.
From: |
"Rinat H. Sadretdinow" 2:5020/620.1 |
25 Dec 2021 08:07 +0200 |
To: |
Zhenja Kaliuta 2:5020/620.1 |
|
Subject: |
Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?
|
Hello 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:v000010DEd*sv*sd*bc03sc02i00*
alias: pci:v000010DEd*sv*sd*bc03sc00i00*
depends: drm
retpoline: Y
name: nvidia
vermagic: 5.15.10-200.fc35.x86_64 SMP mod_unload
[...]
[rhs@sys3175 ~]$
~~~
depmod тоже прекрасно всё видит:
~~~
[rhs@sys3175 ~]$ sudo depmod -v | grep nvidia
/lib/modules/5.15.10-200.fc35.x86_64/kernel/drivers/usb/typec/altmodes/typec_nvidia.ko.xz
needs "__typec_altmode_register_driver":
/lib/modules/5.15.10-200.fc35.x86_64/kernel/drivers/usb/typec/typec.ko.xz
/lib/modules/5.15.10-200.fc35.x86_64/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/typec_displayport.ko.xz
/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-modeset.ko.xz needs
"nvidia_register_module":
/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia.ko.xz
/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-drm.ko.xz needs
"drm_framebuffer_cleanup":
/lib/modules/5.15.10-200.fc35.x86_64/kernel/drivers/gpu/drm/drm.ko.xz
/lib/modules/5.15.10-200.fc35.x86_64/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_kms_helper.ko.xz
/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-drm.ko.xz needs
"nvKmsKapiGetFunctionsTable":
/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-modeset.ko.xz
/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia-uvm.ko.xz needs
"nvUvmInterfaceDisableAccessCntr":
/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia.ko.xz
/lib/modules/5.15.10-200.fc35.x86_64/extra/nvidia.ko.xz needs
"drm_gem_object_free":
/lib/modules/5.15.10-200.fc35.x86_64/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.x86_64/kernel/drivers/usb/typec/altmodes/typec_nvidia.ko.xz
needs "__typec_altmode_register_driver":
/lib/modules/5.15.10-200.fc35.x86_64/kernel/drivers/usb/typec/typec.ko.xz
/lib/modules/5.15.10-200.fc35.x86_64/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/typec_displayport.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 нет больше вообще ничего!
Hадо ли говорить что после установки 470.94 ядро опять возопило: "У меня тут
470.82, а мне пихают 470.94, API другой, не буду работать, идите все в пень!"
Откатился опять на 470.82, чьи модули упорно сидят где-то (ГДЕ???) и которые
lsinitrd показывает всегда, даже после команды nvidia-unistall, которая по идее
должна удалить *все* упоминания про nvidia, включая эти. Буду думать дальше.
Bye!
From: |
"Rinat H. Sadretdinow" 2:5020/620.1 |
25 Dec 2021 07:16 +0200 |
To: |
Zhenja Kaliuta 2:4500/1.59 |
|
Subject: |
Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?
|
Hello Zhenja!
25 Dec 21 06:07, you wrote to me:
RHS>> Попробовал. Это не спасло смертельно раненного кота, модули
RHS>> nvidia как были от 28 октября, так и остались такими же, а
RHS>> свежие от 24 декабря нифига не подключились:
ZK> Как-то очень странно звучит, если новые модули установлены как и
ZK> раньше и поверх старых, то при перегенерации старым взяться неоткуда.
Hу вот откуда-то берутся! В /usr/lib/modules/$(uname -r)/extra лежат новые,
только что собранные, а lsinitrd показывает старые.
ZK> Если старые были как-то иначе в другом месте и замещают новые, то
ZK> старые либо убрать, либо подконфигурировать приоритеты.
Знать бы где они лежат -- убрал бы.
ZK> modinfo nvidia что говорит?
470.94 я пока не пробовал ставить (иначе бы не смог это написать), а так 470.82
само собой.
ZK> dracut --debug --force в крайнем случае расскажет очень подробно в
ZK> частности все обрабатываемые модули.
Ой! Он мне такую портянку выдал, что сходу не я не разобрался, буду вдумчиво
сидеть и рассматривать.
Bye!
From: |
Zhenja Kaliuta 2:4500/1.59 |
25 Dec 2021 06:11 +0200 |
To: |
Rinat H. Sadretdinow 2:5020/620.1 |
|
Subject: |
Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?
|
Hi, Rinat!
On Sat, 25 Dec 2021 06:04:18 +0300 Rinat H. Sadretdinow writes:
RHS> Или мои netmail'ы до тебя почему-то не доходят, или ты их игнорируешь.
Не дошли. Ответил в нетмейл, посмотрим.
From: |
Zhenja Kaliuta 2:4500/1.59 |
25 Dec 2021 06:07 +0200 |
To: |
Rinat H. Sadretdinow 2:5020/620.1 |
|
Subject: |
Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?
|
Hi, Rinat!
On Sat, 25 Dec 2021 06:11:10 +0300 Rinat H. Sadretdinow writes:
ZK>>> Если dkms не обновил initrd (лень смотреть его скрипты) и модули
ZK>>> грузятся оттуда, то логично, хоть и странно (что не обновил).
ZK>>> dracut --force должен перегенерировать.
RS>> Это я пока не пробовал, честно признаюсь.
RHS> Попробовал. Это не спасло смертельно раненного кота, модули nvidia как
были от 28 октября, так и остались такими же, а свежие от 24 декабря нифига не
подключились:
Как-то очень странно звучит, если новые модули установлены как и раньше и
поверх старых, то при перегенерации старым взяться неоткуда.
Если старые были как-то иначе в другом месте и замещают новые, то старые либо
убрать, либо подконфигурировать приоритеты.
modinfo nvidia что говорит?
dracut --debug --force в крайнем случае расскажет очень подробно в частности
все обрабатываемые модули.
RHS> ~~~
RHS> [rhs@sys3175 ~]$ sudo dracut --force
RHS> [rhs@sys3175 ~]$ sudo lsinitrd | grep -i extra/nvidia
RHS> -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
RHS> -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
RHS> -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> [rhs@sys3175 ~]$ ls -l /usr/lib/modules/$(uname -r)/extra
RHS> total 24120
RHS> -rw-r--r-- 1 root root 24028 Dec 24 09:16 nvidia-drm.ko.xz
RHS> -rw-r--r-- 1 root root 23809056 Dec 24 09:16 nvidia.ko.xz
RHS> -rw-r--r-- 1 root root 515404 Dec 24 09:16 nvidia-modeset.ko.xz
RHS> -rw-r--r-- 1 root root 1008 Dec 24 09:16 nvidia-peermem.ko.xz
RHS> -rw-r--r-- 1 root root 342612 Dec 24 09:16 nvidia-uvm.ko.xz
RHS> [rhs@sys3175 ~]$
RHS> ~~~
From: |
"Rinat H. Sadretdinow" 2:5020/620.1 |
25 Dec 2021 05:16 +0200 |
To: |
Alexey Vissarionov 2:5020/545 |
|
Subject: |
Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?
|
Hello Alexey!
24 Dec 21 12:34, you wrote to me:
RHS>> Dec 24 09:10:27 sys3175 kernel: NVRM: API mismatch: the client
AV> ^^^^^^^^^^^^
AV> Hу оно же тебе все пишет человеческим по фоновому...
Да это я вижу. Только не могу понять почему так, откуда оно, мать его, берёт
*старые* модули!
AV> Потому что люди, которые пишут ядерные модули, действительно умнее.
Hе спорю. Сам я ядерные модули не пишу и никогда не пробовал, последние мои
драйвера были для OS/2, перед этим для DOS, с тех пор я в системные дебри не
залезал ни разу.
RHS>> Посему вопрос (вопросы):
RHS>> 1) где, чёрт возьми, хранится инфа о том, что ведро хочет
RHS>> 470.82, хотя уже установлено 470.94?
AV> В linux/drivers/gpu/drm/nouveau/include/ :-)
1) nouveau у меня заблеклистен везде где только можно:
~~~
[rhs@sys3175 ~]$ cat /etc/default/grub | grep nouveau
GRUB_CMDLINE_LINUX="rhdb quiet rd.driver.blacklist=nouveau
resume=UUID=d5b6be1c-49e7-4afd-b720-b3244a5888fe
systemd.unified_cgroup_hierarchy=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 но вот при изначальной загрузке ведро
почему-то берёт их не оттуда, а невесть откуда, где оказываются старые модули, а
не только что установленные.
RHS>> 2) откуда lsinitrd эту инфу берёт?
AV> Из засунутого туда ядрен-модуля.
Hе понятно вообще. Модули в ведро не вкомпилированы.
RHS>> 3) как сказать ведру чтобы оно забыло про 470.82 насовсем и
RHS>> стало юзать 470.94?
AV> Скорее всего, просто обновить. Актуальное ядро - позавчерашнее 5.15.11
Hе, просто обновить не получается, пробовал уже, не один раз, три обновления
уже через себя пропустил с тем же самым *не* результатом.
RHS>> И гуглил, и FAQ'и всякие читал, но нифига ответ так и не нашёл.
RHS>> Что называется "и унитаз свой приносил, и задницу показывал, но
RHS>> не продают мне нужную туалетную бумагу!"
AV> А какую проблему ты хотел решить этим обновлением?
Именно обновлением драйверов nvidia? Hикакую. Просто хочу чтобы у меня была
наипоследняя версия ;-) А теперь уже принцип пошёл, надо *обязательно*
обновиться чтобы хотя бы знать почему сейчас обновления не проходят и запомнить
все нюансы на будущее -- мало ли реально почему-то придётся обновляться (к
примеру мышиный курсор будет другой, более плавный или что-то в этом роде), а я
обновиться не могу, ведро всё время старые драйвера будет продолжать требовать.
Bye!
From: |
"Rinat H. Sadretdinow" 2:5020/620.1 |
25 Dec 2021 05:11 +0200 |
To: |
Zhenja Kaliuta 2:5020/620.1 |
|
Subject: |
Где NVIDIA прячет свои модули или как же мне проапгрейдить драйвер?
|
Hello 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!