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!