Kernel 6.12 is not working with nvidia-tesla-470 driver. System boots with nvidia errors and without X.
I don't remember the path to the nvidia-470-kernel-xyz-make.log and can't provide any make error until someone gives me a hint where to look.
Found it @ /var/lib/dkms/nvidia-tesla-470/470.256.02/build/make.log:
Quote/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia-drm/nvidia-drm-drv.c:171:6: error: 'const struct drm_mode_config_funcs' has no member named 'output_poll_changed'
171 | .output_poll_changed = nv_drm_output_poll_changed,
| ^~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia-drm/nvidia-drm-drv.c:171:28: error: initialization of 'struct drm_atomic_state * (*)(struct drm_device *)' from incompatible pointer type 'void (*)(struct drm_device *)' [-Wincompatible-pointer-types]
171 | .output_poll_changed = nv_drm_output_poll_changed,
Kernel 6.1
1 still working.
EDIT:At nvidia forum there is a related posting, still unanswered:
https://forums.developer.nvidia.com/t/driver-470-256-02-o9n-linux-6-12-0-vanilla/313761
And somewhere else, there is a patch, but I don't know how reliable the source is:
https://forum.siduction.org/index.php?action=post;msg=75869;topic=9532.0
I wonder whether this patch will become "official", as nvidia has stopped support for the tesla-470 serie with driver-version 470.256.02 .
Seems there needs to be an update to nvidia drivers so that they can work on 6.12 kernels. For now I locked my system at 6.11 so that there be no further updates to kernel till this is resolved.
It seems it won't be resolved for nvidia-tesla-470. It has reached EOL :(
I have uploaded patched 470 nvidia packages to our fixes repo.
Since i can't test it, let me know, if they are working.
For the benefit of others, Nvidia driver 550.135 is working well with recent kernels for the applicable graphics hardware:
System:
Host: Hibiscus Kernel: 6.12.3-1-siduction-amd64 arch: x86_64 bits: 64
Desktop: KDE Plasma v: 6.2.4 Distro: siduction 22.1.2 Masters_of_War -
kde - (202303151559)
CPU:
Info: single core Intel Core i7-4770 [N/A] speed (MHz): 3501
min/max: 800/3900
Graphics:
Device-1: NVIDIA GM107 [GeForce GTX 750 Ti] driver: nvidia v: 550.135
Display: wayland server: X.org v: 1.21.1.14 with: Xwayland v: 24.1.4
compositor: kwin_wayland driver: X: loaded: nvidia
unloaded: fbdev,modesetting,nouveau,vesa gpu: nvidia resolution: 1366x768
API: EGL v: 1.5 drivers: nvidia,swrast,zink
platforms: gbm,wayland,x11,surfaceless,device
API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 550.135
renderer: NVIDIA GeForce GTX 750 Ti/PCIe/SSE2
API: Vulkan v: 1.3.296 drivers: N/A surfaces: xcb,xlib,wayland
System:
Host: hibiscus Kernel: 6.12.3-1-siduction-amd64 arch: x86_64 bits: 64
Desktop: KDE Plasma v: 6.2.4 Distro: siduction 2023.1.1 giants - kde -
(202405290730)
CPU:
Info: quad core Intel Core i7-7740X [MT MCP] speed (MHz): avg: 800
min/max: 800/4500
Graphics:
Device-1: NVIDIA GP106 [GeForce GTX 1060 6GB] driver: nvidia v: 550.135
Display: wayland server: X.org v: 1.21.1.14 with: Xwayland v: 24.1.4
compositor: kwin_wayland driver: X: loaded: nvidia
unloaded: fbdev,modesetting,nouveau,vesa gpu: nvidia resolution:
1: 1920x1200 2: 1920x1080
API: EGL v: 1.5 drivers: nvidia,swrast,zink
platforms: gbm,wayland,x11,surfaceless,device
API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 550.135
renderer: NVIDIA GeForce GTX 1060 6GB/PCIe/SSE2
API: Vulkan v: 1.3.296 drivers: N/A surfaces: xcb,xlib,wayland
Quote from: towo on 2024/12/08, 14:18:03
I have uploaded patched 470 nvidia packages to our fixes repo.
Since i can't test it, let me know, if they are working.
Thanks, towo, for your work.
Unfortunatly they are
not working here. The build make.log shows no errors, but the modul can't be loaded during boot, and boot does not start X.
The make.loig path has chaned to
Quote/var/lib/dkms/nvidia-tesla-470/470.256.02/6.12.3-amd64/x86_64/log/make.log
, the last lines show no mention of an error:
Quote# BTF [M] /var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia-peermem.ko
if [ ! -f vmlinux ]; then printf "Skipping BTF generation for %s due to unavailability of vmlinux
" /var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia-peermem.ko 1>&2; else LLVM_OBJCOPY="x86_64-linux-gnu-objcopy" pahole -J -j --btf_features=encode_force,var,float,enum64,decl_tag,type_tag,optimized_func,consistent_func,decl_tag_kfuncs -j --lang_exclude=rust --btf_features=distilled_base --btf_base vmlinux /var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia-peermem.ko; ./tools/bpf/resolve_btfids/resolve_btfids -b vmlinux /var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia-peermem.ko; fi;
Skipping BTF generation for /var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia-peermem.ko due to unavailability of vmlinux
# BTF [M] /var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia-drm.ko
if [ ! -f vmlinux ]; then printf "Skipping BTF generation for %s due to unavailability of vmlinux
" /var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia-drm.ko 1>&2; else LLVM_OBJCOPY="x86_64-linux-gnu-objcopy" pahole -J -j --btf_features=encode_force,var,float,enum64,decl_tag,type_tag,optimized_func,consistent_func,decl_tag_kfuncs -j --lang_exclude=rust --btf_features=distilled_base --btf_base vmlinux /var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia-drm.ko; ./tools/bpf/resolve_btfids/resolve_btfids -b vmlinux /var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia-drm.ko; fi;
Skipping BTF generation for /var/lib/dkms/nvidia-tesla-470/470.256.02/build/nvidia-drm.ko due to unavailability of vmlinux
make[2]: Verzeichnis ,,/usr/src/linux-headers-6.12.3-amd64" wird verlassen
make[1]: Verzeichnis ,,/usr/src/linux-headers-6.12.3-common" wird verlassen
+ [ modules = modules ]
+ [ -x split-object-file.sh ]
+ [ -x split-object-file.sh ]
+ [ -x split-object-file.sh ]
+ [ -x split-object-file.sh ]
+ [ -x split-object-file.sh ]
If you need the whole make.log let me know where and how to poste it.
Thanks / Danke.
The make log is useless, if the module was build and is loadable.
Quote from: towo on 2024/12/08, 17:44:10
The make log is useless, if the module was build and is loadable.
Ich mache ich auf deutsch weiter:
Das Modul wird gebaut, aber so wie ich das sehe nicht geladen. Das gilt für den reinen Debian Kernel ebenso wie für den siduction kernel.
Ich lande immer im Terminal, nicht im loginmanager. Ich habe eben mit "startx" einen versuch gemacht. Damit startet eine X-session *ohne login*, ich lande jedoch im falschen DE (lxqt) mit root privilegien!!! Standart wäre fluxbox.
Ok, ich kannn start ich vom terminalpromt auch als user erfolgreich ausführen. Das startet aber auch nciht mein standartsession. Ich konnte jedoch aus "journalctl | grep nvidia" folgendes kopieren:
QuoteDez 08 18:51:20 dellopti systemd-modules-load[370]: modprobe: FATAL: Module nvidia-tesla-470 not found in directory /lib/modules/6.12.3-1-siduction-amd64
Dez 08 18:51:20 dellopti systemd-modules-load[368]: modprobe: ERROR: ../libkmod/libkmod-module.c:1072 command_do() Error running install command 'modprobe -i nvidia-tesla-470 ' for module nvidia: retcode 1
Dez 08 18:51:20 dellopti systemd-modules-load[368]: modprobe: ERROR: could not insert 'nvidia': Invalid argument
Dez 08 18:51:20 dellopti systemd-modules-load[371]: modprobe: FATAL: Module nvidia-tesla-470-modeset not found in directory /lib/modules/6.12.3-1-siduction-amd64
Dez 08 18:51:20 dellopti systemd-modules-load[366]: modprobe: ERROR: ../libkmod/libkmod-module.c:1072 command_do() Error running install command 'modprobe nvidia ; modprobe -i nvidia-tesla-470-modeset ' for module nvidia_modeset: retcode 1
Dez 08 18:51:20 dellopti systemd-modules-load[366]: modprobe: ERROR: could not insert 'nvidia_modeset': Invalid argument
Dez 08 18:51:20 dellopti systemd-modules-load[372]: modprobe: FATAL: Module nvidia-tesla-470-drm not found in directory /lib/modules/6.12.3-1-siduction-amd64
Dez 08 18:51:20 dellopti systemd-modules-load[275]: Error running install command 'modprobe nvidia-modeset ; modprobe -i nvidia-tesla-470-drm ' for module nvidia_drm: retcode 1
Dez 08 18:51:20 dellopti systemd-modules-load[275]: Failed to insert module 'nvidia_drm': Invalid argument
Dez 08 18:51:20 dellopti systemd-udevd[379]: modprobe: FATAL: Module nvidia-tesla-470 not found in directory /lib/modules/6.12.3-1-siduction-amd64
Dez 08 18:51:20 dellopti (udev-worker)[347]: Error running install command 'modprobe -i nvidia-tesla-470 ' for module nvidia: retcode 1
Dez 08 18:51:21 dellopti systemd-modules-load[479]: modprobe: FATAL: Module nvidia-tesla-470 not found in directory /lib/modules/6.12.3-1-siduction-amd64
Dez 08 18:51:21 dellopti systemd-modules-load[477]: modprobe: ERROR: ../libkmod/libkmod-module.c:1072 command_do() Error running install command 'modprobe -i nvidia-tesla-470 ' for module nvidia: retcode 1
Dez 08 18:51:21 dellopti systemd-modules-load[477]: modprobe: ERROR: could not insert 'nvidia': Invalid argument
Dez 08 18:51:21 dellopti systemd-modules-load[480]: modprobe: FATAL: Module nvidia-tesla-470-modeset not found in directory /lib/modules/6.12.3-1-siduction-amd64
Dez 08 18:51:21 dellopti systemd-modules-load[475]: modprobe: ERROR: ../libkmod/libkmod-module.c:1072 command_do() Error running install command 'modprobe nvidia ; modprobe -i nvidia-tesla-470-modeset ' for module nvidia_modeset: retcode 1
Dez 08 18:51:21 dellopti systemd-modules-load[475]: modprobe: ERROR: could not insert 'nvidia_modeset': Invalid argument
Dez 08 18:51:21 dellopti systemd-modules-load[481]: modprobe: FATAL: Module nvidia-tesla-470-drm not found in directory /lib/modules/6.12.3-1-siduction-amd64
Dez 08 18:51:21 dellopti systemd-modules-load[467]: Error running install command 'modprobe nvidia-modeset ; modprobe -i nvidia-tesla-470-drm ' for module nvidia_drm: retcode 1
Dez 08 18:51:21 dellopti systemd-modules-load[467]: Failed to insert module 'nvidia_drm': Invalid argument
Dez 08 18:51:28 dellopti kernel: audit: type=1400 audit(1733680285.109:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=549 comm="apparmor_parser"
Dez 08 18:51:28 dellopti kernel: audit: type=1400 audit(1733680285.109:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=549 comm="apparmor_parser"
Dez 08 18:51:30 dellopti systemd[1]: Starting nvidia-persistenced.service - NVIDIA Persistence Daemon...
Dez 08 18:51:30 dellopti nvidia-persistenced[693]: Started (693)
Dez 08 18:51:30 dellopti nvidia-persistenced[693]: Failed to query NVIDIA devices. Please ensure that the NVIDIA device files (/dev/nvidia*) exist, and that user 118 has read and write permissions for those files.
Dez 08 18:51:30 dellopti nvidia-persistenced[693]: Shutdown (693)
Dez 08 18:51:30 dellopti nvidia-persistenced[689]: nvidia-persistenced failed to initialize. Check syslog for more details.
Dez 08 18:51:30 dellopti systemd[1]: nvidia-persistenced.service: Control process exited, code=exited, status=1/FAILURE
Dez 08 18:51:30 dellopti systemd[1]: nvidia-persistenced.service: Failed with result 'exit-code'.
Dez 08 18:51:30 dellopti systemd[1]: Failed to start nvidia-persistenced.service - NVIDIA Persistence Daemon.
mh@dellopti:~$
... das Ganze benötigt wohl drm enabled.
For the 500x drivers, the kernel parameter "nvidia-drm.modeset=1" is required, in /etc/default/grub.
OOOppps, I did not mean to overwrite on towo's post. Entschuldigung, bitte.
(My ADMIN power should be removed, before I do some other damage!)
Quote from: towo on 2024/12/08, 21:08:31
... das Ganze benötigt wohl drm enabled.
For the 500x drivers, the kernel parameter "nvidia-drm.modeset=1" is required, in /etc/default/grub.
and for 470? Is there anything I can do?
And please, how do I start a dkms nvidia modul built manually?
Quote from: michaa7 on 2024/12/08, 22:22:29
And please, how do I start a dkms nvidia modul built manually?
If that is possible, it is way over my head. Sorry. If it was important to me, I would ask @damentz at liquorix.
Quote from: dibl on 2024/12/08, 23:05:28
Quote from: michaa7 on 2024/12/08, 22:22:29
And please, how do I start a dkms nvidia modul built manually?
If that is possible, it is way over my head. Sorry. If it was important to me, I would ask @damentz at liquorix.
May be I am wrong, but I seem to recall that it's a one-liner which towo posted some time ago ... but one can trigger a module built by reinstalling the kernel. But I simply wanted to know how the elegant way of doing it would be ...
Falls Du nicht "update-initramfs -u -k all" meinst (was glaube ich keinen dkms Neubau anstößt?) sondern wirklich dkms, kurze Übersicht hier: https://blog.rabin.io/linux/manually-run-dkms-to-build-kernel-modules
I have
dpkg -l | grep dkms
ii dkms 3.1.0-1 all Dynamic Kernel Module System (DKMS)
ii nvidia-tesla-470-kernel-dkms 470.256.02-5.siduction.1 amd64 NVIDIA binary kernel module DKMS source (Tesla 470 version)
ii virtualbox-dkms 7.0.20-dfsg-1+b1 amd64 x86 virtualization solution - kernel module sources for dkms
When I boot, the output of journalctl -xe | grep nvidia (from another terminal when the first freezes after "Reached target graphical.target - Graphical Interface" and "Finished checkrootkit.service - checkrootkit") is
sidomen kernel: audit: type=1400 audit(1734111349.795:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=833 comm="apparmor_parser"
sidomen kernel: audit: type=1400 audit(1734111349.795:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=833 comm="apparmor_parser"
sidomen kernel: nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 470.256.02 Thu May 2 14:50:40 UTC 2024
sidomen kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
sidomen kernel: [drm] Initialized nvidia-drm 0.0.0 for 0000:01:00.0 on minor 0
sidomen kernel: Failed to initialize the nv-hotplug-helper DRM client (ensure DRM kernel mode setting is enabled via nvidia-drm.modeset=1).
sidomen kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] Unloading driver
sidomen systemd-modules-load[399]: Inserted module 'nvidia_drm'
sidomen systemd[1]: Starting nvidia-persistenced.service - NVIDIA Persistence Daemon...
░░ Subject: A start job for unit nvidia-persistenced.service has begun execution
░░ A start job for unit nvidia-persistenced.service has begun execution.
sidomen nvidia-persistenced[1021]: Started (1021)
sidomen nvidia-persistenced[1021]: NUMA: Failed ioctl call to get device NUMA Info: Invalid argument
sidomen nvidia-persistenced[1021]: device 0000:01:00.0 - NUMA: Failed to get device NUMA info
sidomen nvidia-persistenced[1021]: device 0000:01:00.0 - failed to online memory.
sidomen systemd[1]: Started nvidia-persistenced.service - NVIDIA Persistence Daemon.
░░ Subject: A start job for unit nvidia-persistenced.service has finished successfully
░░ A start job for unit nvidia-persistenced.service has finished successfully.
If I run startx from that terminal, the desktop appears.
Is there anything I should be doing to be able to boot into the log in screen? Should I be setting "nvidia-drm.modeset=1" somewhere?
Quote from: Pip on 2024/12/14, 19:33:28
... Should I be setting "nvidia-drm.modeset=1" somewhere?
If you want nvidia-470 to function with kernel 6.12, then "Yes".
Do it in /etc/default/grub, line GRUB_CMDLINE_LINUX_DEFAULT="quiet <ect bla bla bla ect> nvidia-drm.modeset=1" and nvidia-470 driver will work with 6.12.x kernels ... but don't forget to issue "update-grub" afterwards ;-) .
Note: drm = Digital Rights Management, unclear to me what the computer-RL implications are?!
No, drm is direct rendering manager, it has nothing to do with Digital Rights Managemen!
Quote from: towo on 2024/12/17, 13:41:36
No, drm is direct rendering manager, it has nothing to do with Digital Rights Managemen!
OHHH, thank you, towo, for this clarification. I am happy to have been wrong with thisone!
And thank you both for getting this back to working for me! It now boots directly into SDDM. For some reason, it also shows a virtual keyboard on the log in page, but that's minor.
Quote from: Pip on 2024/12/17, 18:46:11
And thank you both for getting this back to working for me! It now boots directly into SDDM. For some reason, it also shows a virtual keyboard on the log in page, but that's minor.
There is a button to open the Virtual Keyboard and that's normal. If you have a tablet or touch screen you can tap it to open the Virtual Keyboard to type in your username/password to login.
Quote from: Pip on 2024/12/17, 18:46:11
... For some reason, it also shows a virtual keyboard on the log in page, but that's minor.
Yes, this seems to be a new "feature" for laptops and notebooks. I don't see it on the desktops.
It's on the desktop (as in computer type) for me as well as the laptop. It goes away by clicking the keyboard key presented, but seems to just come back next time. Minor.
I don't have this problem, so I can't evaluate whether or not this provides a solution:
https://unix.stackexchange.com/questions/722843/how-to-get-rid-of-the-virtual-onscreen-keyboard-during-login
It doesn't seem to. But thanks for looking.
open /etc/sddm.conf.d/kde_settings.conf as root with an editor, add
InputMethod=
in the [General] section of that file and save it.
Excellent! That works nicely. Thank you.
Quote from: towo on 2024/12/18, 09:59:26
open /etc/sddm.conf.d/kde_settings.conf [...]
Danke für den Hinweis.
XFCEgleiches Symptom "virtuelle Tastatur", ähnliche Lösung.
mv /etc/sddm.conf /etc/sddm.conf.old
cp -a /etc/sddm.conf.dpkg-new /etc/sddm.conf
und die Tastatur erscheint nicht mehr.
Die Datei enthält bereits den Schlüssel
# Input method module
InputMethod=---------------------------------------------------------------------------------
Quote from: towo on 2024/12/18, 09:59:26
open /etc/sddm.conf.d/kde_settings.conf [...]
Thanks for the hint.
XFCEsame symptom "virtual keyboard", similar solution.
mv /etc/sddm.conf /etc/sddm.conf.old
cp -a /etc/sddm.conf.dpkg-new /etc/sddm.confand the keyboard no longer appears.
The file already contains the key
# Input method module
InputMethod=