About nVidia proprietary driver software

@Marco if you would be willing to try the nvidia-dkms-kmod that may do exactly what you want. And we sure would appreciate user testing for this. The purpose of DKMS is to automatically compile kernel modules if a new kernel is installed.

If you use nvidia this will install it in ROME:

sudo dnf --refresh in nvidia-dkms-kmod kernel-desktop-devel --enablerepo rolling-x86_64-non-free

If you use nvidia-legacy this should install it in ROME:

$ udo dnf --refresh in nvidia-legacy-dkms-kmod kernel-desktop-devel --enablerepo rolling-x86_64-non-free

If there any problems let us know here. The real test will take place over time as we see if it builds the kernel modules automatically when there is a new kernel.

Thanks @LaoTsu for helping and testing this.

I just deleted a post because I realized I needed to thing through this a bit more. I am going to edit the commands to include:

$ sudo dnf --refresh in nvidia-dkms-kmod kernel-desktop-devel --enablerepo rolling-x86_64-non-free

or

$ sudo dnf --refresh in nvidia-legacy-dkms-kmod kernel-desktop-devel --enablerepo rolling-x86_64-non-free

Hehe, I was just starting to read your reply when it went poof! I refreshed the page to no avail :wink:

If there’s anything more I can test here that would help, just ask. At the moment, this install isn’t my daily driver so I’m happy to play with it to the point it needs a re-install. There’s a huge amount of stuff I’d need to port over from my Fedora install to make the change, so I’m in no rush - and there’s nothing really wrong with my Fedora install apart from a couple of minor things.

OK, I added this to ROME Errata page:

Many users may find it more convienient to use the dkms verion of nvidia driver packages. With dkms new kernel modules are built automatically when a new kernel is installed. Note: The dkms pakages have only been lightly tested. Currently these only install from Konsole (terminal). To install:

$ sudo dnf --refresh in nvidia-dkms-kmod kernel-desktop-devel --enablerepo rolling-x86_64-non-free
or
$ sudo dnf --refresh in nvidia-legacy-dkms-kmod kernel-desktop-devel --enablerepo rolling-x86_64-non-free

If you installed ROME znver1 replace x86_64 with znver1.

I hope I did not do this to soon. But for nvidia stuff it is so difficult to get enough testing. We need users to test nvidia packages when they go to testing repos to make this effort work.

Thank you for your suggestion; I’ve just launched the dnf command for dkms.
Apparently anything run fine, but something looks wrong, maybe because I had nvidia drivers already installed and working?
I’ll paste the error messages only:

Installing : dkms-2.8.4-3.noarch 24/25
Esecuzione scriptlet in corso: dkms-2.8.4-3.noarch 24/25
Failed to try-restart loadmodules.service: Unit loadmodules.service not found.

Installing : nvidia-dkms-kmod-525.78.01-1.x86_64 25/25
Esecuzione scriptlet in corso: nvidia-dkms-kmod-525.78.01-1.x86_64 25/25
Warning: I do not know how to handle 525.78.01.
Error! Arguments and are not specified
Usage: add / or
add -m / or
add -m -v
[…]
Kernel preparation unnecessary for this kernel. Skipping…

Building module:
cleaning build area…
‘make’ -j2 module SYSSRC=/lib/modules/6.1.4-desktop-1omv2301/build IGNORE_XEN_PRESENCE=1 IGNORE_PREEMPT_RT_PRESENCE=1 IGNORE_CC_MISMATCH=1…(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.1.4-desktop-1omv2301 (x86_64)
Consult /var/lib/dkms/nvidia/525.78.01/build/make.log for more information.

Kernel preparation unnecessary for this kernel. Skipping…

Building module:
cleaning build area…
‘make’ -j2 module SYSSRC=/lib/modules/6.1.4-desktop-1omv2301/build IGNORE_XEN_PRESENCE=1 IGNORE_PREEMPT_RT_PRESENCE=1 IGNORE_CC_MISMATCH=1…(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.1.4-desktop-1omv2301 (x86_64)
Consult /var/lib/dkms/nvidia/525.78.01/build/make.log for more information.

Can you confirm I can ignore these messages?

You need to remove the nvidia package drivers before installing the dkms drivers.

Ok, thank you for your feedback.
I’ve removed the running nvidia drivers, rebooted and installed dkms package.
Like before, some errors were returned:

Installing : nvidia-dkms-kmod-525.78.01-1.x86_64 16/16
Esecuzione scriptlet in corso: nvidia-dkms-kmod-525.78.01-1.x86_64 16/16
Warning: I do not know how to handle 525.78.01.
Error! Arguments and are not specified
Usage: add / or
add -m / or
add -m -v

Creating symlink /var/lib/dkms/nvidia/525.78.01/source →
/usr/src/nvidia-525.78.01

DKMS: add completed.

Kernel preparation unnecessary for this kernel. Skipping…

Building module:
cleaning build area…
‘make’ -j2 module SYSSRC=/lib/modules/6.1.4-desktop-1omv2301/build IGNORE_XEN_PRESENCE=1 IGNORE_PREEMPT_RT_PRESENCE=1 IGNORE_CC_MISMATCH=1…(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.1.4-desktop-1omv2301 (x86_64)
Consult /var/lib/dkms/nvidia/525.78.01/build/make.log for more information.

Kernel preparation unnecessary for this kernel. Skipping…

Building module:
cleaning build area…
‘make’ -j2 module SYSSRC=/lib/modules/6.1.4-desktop-1omv2301/build IGNORE_XEN_PRESENCE=1 IGNORE_PREEMPT_RT_PRESENCE=1 IGNORE_CC_MISMATCH=1…(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.1.4-desktop-1omv2301 (x86_64)
Consult /var/lib/dkms/nvidia/525.78.01/build/make.log for more information.

I rebooted and confirm that nvidia drivers have been regularly installed, but what about the said error messages?

What does lsmod | grep nvidia show?

So I removed the section about this from ROME Errata. Was to hasty adding that.

I am doing proof of concept testing in VBox for this using nvidia-legacy and getting same errors as @Marco.

What I have done is in a ROME system with only kernel 6.6.1 I downloads (from ABF) the correct packages for this kernel and installed them.

This is the complete output of that:

mvidia-dkms.txt (38.8 KB)

Notice the dnf in *.rpm transaction says complete. But lsmod | grep nvidia and lsmod | grep nvidia* show nothing. Plus the transaction went to fast for it to have built kernel modules. Rebooted and still no nvidia modules.

Questions: Aren’t nvidia-legacy kernel modules installed with nvidia-legacy-kmod-desktop-470.161.03-3_6.1.1_1-omv2290.x86_64.rpm ? So dkms would not need to build modules at this time? Only when a new kernel is installed?

What directory would contain the kernel modules for this?

I am looking and trying to sort through this.

In a VM the modules will never get loaded as the nvidia hardware isn’t there (unless you are passing through an actual dGPU to the VM). In Fedora when I’m in Integrated mode (dGPU is disbled) lsmod | grep nvidia shows nothing also.

I’m also currently playing with the nvidia installer in a VM via VirtManager… we’ll compare results soon (as it’s compiling the nvidia modules now).

Maybe here:

# ls -la /lib/modules/6.1.1-desktop-1omv2290/kernel/drivers/video
total 104012
drwxr-xr-x 1 root root      166 Jan 15 09:05 .
drwxr-xr-x 1 root root     1048 Dec 26 04:26 ..
drwxr-xr-x 1 root root     1196 Dec 26 04:26 backlight
drwxr-xr-x 1 root root        8 Dec 26 04:26 fbdev
-rw-r--r-- 1 root root  2763216 Dec 25 02:14 nvidia-drm.ko
-rw-r--r-- 1 root root 66527008 Dec 25 02:14 nvidia.ko
-rw-r--r-- 1 root root  3046864 Dec 25 02:14 nvidia-modeset.ko
-rw-r--r-- 1 root root   260872 Dec 25 02:14 nvidia-peermem.ko
-rw-r--r-- 1 root root 33904400 Dec 25 02:14 nvidia-uvm.ko

I repeated my test. I am using nvidia-legacy because it is the least tested of the two.

In the beginning we have this:

# ls -la /lib/modules/6.1.1-desktop-1omv2290/kernel/drivers/video
total 0
drwxr-xr-x 1 root root   28 Jan 15 09:34 .
drwxr-xr-x 1 root root 1048 Dec 26 04:26 ..
drwxr-xr-x 1 root root 1196 Dec 26 04:26 backlight
drwxr-xr-x 1 root root    8 Dec 26 04:26 fbdev

Get these errors which will scare the bejesus out of users:

Running scriptlet: nvidia-legacy-dkms-kmod-470.161.03-3.x86_64                                                                                                                                                                                                        31/31 
Warning: I do not know how to handle 470.161.03.
Error! Arguments <module> and <module-version> are not specified
Usage: add <module>/<module-version> or
       add -m <module>/<module-version> or
       add -m <module> -v <module-version>

Creating symlink /var/lib/dkms/nvidia/470.161.03/source ->
                 /usr/src/nvidia-470.161.03

DKMS: add completed.

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
'make' -j2 module SYSSRC=/lib/modules/6.1.1-desktop-1omv2290/build IGNORE_XEN_PRESENCE=1 IGNORE_PREEMPT_RT_PRESENCE=1 IGNORE_CC_MISMATCH=1...(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.1.1-desktop-1omv2290 (x86_64)
Consult /var/lib/dkms/nvidia/470.161.03/build/make.log for more information.

But we end up with:

# ls -la /lib/modules/6.1.1-desktop-1omv2290/kernel/drivers/video
total 104012
drwxr-xr-x 1 root root      166 Jan 15 09:39 .
drwxr-xr-x 1 root root     1048 Dec 26 04:26 ..
drwxr-xr-x 1 root root     1196 Dec 26 04:26 backlight
drwxr-xr-x 1 root root        8 Dec 26 04:26 fbdev
-rw-r--r-- 1 root root  2763216 Dec 25 02:14 nvidia-drm.ko
-rw-r--r-- 1 root root 66527008 Dec 25 02:14 nvidia.ko
-rw-r--r-- 1 root root  3046864 Dec 25 02:14 nvidia-modeset.ko
-rw-r--r-- 1 root root   260872 Dec 25 02:14 nvidia-peermem.ko
-rw-r--r-- 1 root root 33904400 Dec 25 02:14 nvidia-uvm.ko

So it looks like nvidia modules are installed to me. My concern is that users won’t like those errors one bit.

Doh! Your right, so I have to go to the directory to see if modules are installed and that is all I can test this way.



Well, that was odd. In my OM Rome VM the nvidia kernel modules compiled successfully (see full desktop screenshot), but there were warnings that it couldn’t find kernel-headers for 6.1.1 (part screen grab), so I tried installing kernel-headers but it said that the kernel-headers for the 6.2.0-rc2 were installed (other part screen grab). It would seem that there’s something wonky going on regarding kernel-headers? (that’s a guess - I’m in just a little over my head on this).

Sorry for screenshots, but I can’t copy/paste from the VM and I don’t have a decent browser set up in there.

EDIT Just to note, I haven’t passed the nvidia gpu to the VM, and it’s disabled atm in the host.

dnf installs what it thinks is highest numeric verion of a package unless you tell it other wise. Since kernel-rc is release candidate for next stable kernel line at kernel.org it is usually a higher number. What I don’t understand is why if user has kernel-desktop and not kernel-rc installed it does this with kernel headers.

Whether this makes any difference I don’t know.

To get around this you have to tell dnf a specific version of kernel headers. It is irritating.

Now what I was trying to get to in my test is if I install nvidia-legacy-dkms-kmod and related packages for kernel 6.1.1, and that is the only kernel on the system, reboot and run sudo dnf --refresh dsync if it would install the new kernel 6.1.4. It did not. The dsync process does work it just skips the kernel packages. The dsync will install packages that go with the kernel like cpupower-6.1.4-1 and lib64bpf1-6.1.4-1 but not the kernel packages. Not what I want to see from dkms but is this test in VBox valid?

This does tell me something I was not sure about. If user installs the nvidia packages the system will still upgrade (dsync) but the upgrade skips any kernel that does not have nvidia packages to go with it. This seems like a good thing and what nvidia users would want.

Ah. That would make a difference then, afaik. On Fedora the rc kernel is in the rawhide repo, not the standard repo so that can’t happen. I’m not too sure where to go next with this tbh, probably booting back into my bare metal OM Rome install would be a good start! :wink:

Yes. First we need for someone with nvidia hardware to confirm whether the nvidia-dkms-kmod and nvidia-legacy-dkms-kmod will install withour error, if the graphics work as they shoud, and finally if when user upgrades and there is a new kernel if the kernel modules get built and nvidia stuff continues to work.

My bare-metal OM Rome install works fine with the dkms drivers, and I’m fairly sure there were no errors on the install / build process. I’m not sure if the legacy drivers will appreciate my GTX1650, but I can give it a try.

I got nvidia drivers installed in spite of error messages:

lsmod | grep nvidia
nvidia_drm 73728 33
nvidia_modeset 1515520 66 nvidia_drm
nvidia 61435904 3236 nvidia_modeset
drm_kms_helper 212992 1 nvidia_drm
drm 671744 37 drm_kms_helper,nvidia,nvidia_drm
video 57344 2 asus_wmi,nvidia_modeset
i2c_core 114688 9 i2c_designware_platform,i2c_designware_core,drm_kms_helper,ee1004,nvidia,i2c_smbus,i2c_i801,i2c_dev,drm

That looks okay (to me). If everything is working, then I wouldn’t worry at this point, but as you can see from the conversation the dkms install is a bit of a work-in-progress at the moment! :slight_smile: