Nvidia-440 package is allowing nouveau driver to load

Tags: #<Tag:0x00007fdded107610> #<Tag:0x00007fdded107548>

So, I tried… 64.4 did install, but the driver won’t load:

[michel@knutselpc ~]$ inxi -G
Graphics: Device-1: NVIDIA GK104 [GeForce GTX 670] driver: nouveau v: kernel
Display: x11 server: OpenMandriva X.org 1.20.7 driver: modesetting unloaded: fbdev,vesa resolution: 1920x1080~60Hz
OpenGL: renderer: NVE4 v: 4.3 Mesa 20.0.7
[michel@knutselpc ~]$ rpm -q nvidia-440
nvidia-440-440.64-4.x86_64

In dmesg:

[za nov 7 16:34:58 2020] NVRM: The NVIDIA probe routine was not called for 1 device(s).
[za nov 7 16:34:58 2020] NVRM: This can occur when a driver such as:
NVRM: nouveau, rivafb, nvidiafb or rivatv
NVRM: was loaded and obtained ownership of the NVIDIA device(s).
[za nov 7 16:34:58 2020] NVRM: Try unloading the conflicting kernel module (and/or
NVRM: reconfigure your kernel without the conflicting
NVRM: driver(s)), then try loading the NVIDIA kernel module
NVRM: again.

Did not have this issue with 440-64.2… why is the nouveau driver loading? In dmesg I see that it loads before nvidia, so this is probably the issue. Any thoughts?

Please tell me if you want me to create a new topic for this. :slight_smile:

1 Like

I just created a new thread for this and left a message for @Colin who is the person that builds the nvidia packages. He tends to be very busy so patience may be needed.

The other thought is to downgrade to older nvidia-440 package if you have not already done so.

And the other other thought is to manually blacklist the nouveau driver as that is almost certainly what is missing form the current package. You can do internet search for how to do this. My preference is that we get this issue fixed in the OM package though.

Thanks! Well I’m a step further.
The nouveau driver is blacklisted in nvidia.conf:

[michel@knutselpc ~]$ cat /etc/modprobe.d/nvidia.conf 
blacklist nouveau

I even tried blacklisting it in 00_modprobe.conf but it didn’t help.

What does help, is booting with the nomodeset parameter (it makes booting a bit ugly… but what do I care?):

 [michel@knutselpc ~]$ cat /proc/cmdline 
 BOOT_IMAGE=/vmlinuz-5.5.12-server-1omv4001 root=UUID=52a5df45-07f5-4ad6-88aa-3ea9136c914c ro quiet splash resume=UUID=3cac9df8-e9ad-4114-830e-ca0daded6c2d logo.nologo acpi_osi=Linux "acpi_osi=!Windows 2012" acpi_backlight=vendor audit=0 rd.timeout=120 scsi_mod.use_blk_mq=1 dm_mod.use_blk_mq=1 rd.systemd.show_status=0 systemd.show_status=0 nomodeset
 [michel@knutselpc ~]$ inxi -G
 Graphics:  Device-1: NVIDIA GK104 [GeForce GTX 670] driver: nvidia v: 440.64 
            Display: x11 server: OpenMandriva X.org 1.20.7 driver: nvidia unloaded: fbdev,modesetting,vesa 
            resolution: 1920x1080~60Hz 
            OpenGL: renderer: GeForce GTX 670/PCIe/SSE2 v: 4.6.0 NVIDIA 440.64
1 Like

Thanks for that info it should be helpful for @Colin.

I was just looking here when you posted. And:

%post kernel-modules-desktop

sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="rd.driver.blacklist=nouveau /' %{_sysconfdir}/default/grub

/sbin/depmod -a %{kdir}

/usr/bin/dracut -f --kver %{kdir}

%{_sbindir}/update-grub2

%postun kernel-modules-desktop

sed -i 's/rd.driver.blacklist=nouveau //g' %{_sysconfdir}/default/grub

/sbin/depmod -a %{kdir}

/usr/bin/dracut -f --kver %{kdir}

%{_sbindir}/update-grub2

That does show that nouveau should be blacklisted. So now we know it is and that nomodeset or something needs to be inserted somewhere before dracut is run. (I think).

Blender still doesn’t recognise cuda/opencl. There is a package nvidia-440-cuda… but that one won’t install?

[root@knutselpc ~]# dnf install nvidia-440-cuda
Laatste metadata-expiratie-check: 0:33:36 geleden op za 07 nov 2020 16:57:50 CET.
Fout: 
 Probleem: conflicting requests
  - nothing provides kmod(nvidia-440) = 440.44 needed by nvidia-440-cuda-opencl-440.44-1.x86_64
(probeer '--skip-broken'  toe te voegen om niet-installeerbare pakketten over te slaan)

Aha! I did trie ‘nouveau.blacklist=1’, going to reboot now with rd.driver.blacklist=nouveau now and see if that makes any difference. As you can see it’s not in my cmdline (not even after doing a reinstall of nvidia-440).

OK, rd.driver.blacklist=nouveau gives me exactly the same result as nomodeset. Ugly boot, but working nvidia driver. :slight_smile:

 [michel@knutselpc ~]$ cat /proc/cmdline 
BOOT_IMAGE=/vmlinuz-5.5.12-server-1omv4001 root=UUID=52a5df45-07f5-4ad6-88aa-3ea9136c914c ro quiet splash resume=UUID=3cac9df8-e9ad-4114-830e-ca0daded6c2d logo.nologo acpi_osi=Linux "acpi_osi=!Windows 2012" acpi_backlight=vendor audit=0 rd.timeout=120 scsi_mod.use_blk_mq=1 dm_mod.use_blk_mq=1 rd.systemd.show_status=0 systemd.show_status=0 rd.driver.blacklist=nouveau
[michel@knutselpc ~]$ inxi -G
Graphics:  Device-1: NVIDIA GK104 [GeForce GTX 670] driver: nvidia v: 440.64 
           Display: x11 server: OpenMandriva X.org 1.20.7 driver: nvidia unloaded: fbdev,modesetting,vesa 
           resolution: 1920x1080~60Hz 
           OpenGL: renderer: GeForce GTX 670/PCIe/SSE2 v: 4.6.0 NVIDIA 440.64

Aaaand, rd.driver.blacklist=nouveau is not in my /etc/default/grub file… so I guess that’s whats going wrong with the 440.64-4 package.

Note that I did try a ‘dnf reinstall nvidia-440’ today, so if the postinstall scripts didn’t run right the first time this should’ve been fixed with the reinstall.

Wait, found something! The %post-script is for kernel-modules-desktop, but:

[michel@knutselpc ~]$ rpm -qa | grep nvidia
nvidia-440-kernel-modules-server-440.64-4.x86_64
nvidia-440-440.64-4.x86_64

So why did I receive the ‘server’ package when I installed the nvidia-440 package?

OK, installed the desktop package. Don’t have to manually add a kernel parameter, just works now.
Still no cuda/opencl. Is this fixable?

If you mean ‘nvidia-440-kernel-modules-desktop’ that is a requires and should be installed with the basic nvidia-440 package like this:

We need @Colin to tell us. But as far as I know @Colin is only trying to get packages for the basic current nvida driver and the most recent package for legacy drivers. Also as far as I know @Colin is the only OM dev that will deal with nvidia proprietary software. Because of this mostly.

For those that may be interested this is an example of nVidia support for Linux. We have been using kernel 5.9 in Cooker/Rolling/Lx 4.2 since 2020-10-21, by the time nVidia gets around to support for kernel 5.9 Linux kernel will be 5.10 or 5.11. nVidia is like M$ they just can’t or won’t keep up with the latest in code development. Both are great at marketing however…

Post-edit: Uh, oh, I’m starting to rant. Gotta get over the election crap in the US. But that election crap is going to continue for months, or longer.

Haha, well ATI/AMD is not much better is it? And when it comes to rendering stuff with Blender, there’s no good substitute. That’s what I bought a second-hand GTX 670 for.
But I do understand where your rant is coming from. :wink:

BTW, I unstalled just ‘nvidia-440’ so I didn’t choose to install the server package instead of the desktop package.
I did however first install the 64-2 version and then updated to 64-4.

I now see that the sed action is the same on both kernel-modules-desktop and kernel-modules-server. Actually, I can’t spot any differences in both packages in the spec file. This means the sed action should have just been run. So something must have gone wrong with the update from 64-2 to 64-4.

And I am actually running the server kernel:

[root@knutselpc ~]# uname -r
5.5.12-server-1omv4001

So this explains why I got the server package.
Going to install the desktop kernel. Maybe that solves the cuda-issue as well.

I have no idea why I got the server kernel btw… I just installed from usb a while ago and updated with dnf.

Edit:
Rebooted. All still works, now running the desktop kernel:
[michel@knutselpc ~]$ uname -r
5.5.12-desktop-1omv4001

Still no cuda/opencl though.

That probably happened due to a bug in the earlier package which did install the server kernel, the new package was specifically to fix that. And I had forgotten that but now anyone that was using this software probably also has and is using the server kernel.

Well what this post states about cuda has not changed that I know of, if it has changed @Colin will let us know . If you want cuda you will probably need to download and install nvidia drivers from the nvidia site.

The official support OpenMandriva has includes nouveau only for nvidia hardware. That won’t change until OpenMandriva gets a developer or package maintainer that wants to deal with the nVidia stuff. We can not make any current volunteer, umpaid developer work on something they don’t want to work on. And they will be happy to explain why the won’t do this @ #openmandriva-cooker on Freenode IRC. If anyone out there wants to volunteer for this we would love to have you. (If you do introduce yourself @ #openmandriva-cooker.)

The packages we do have are because @Colin as a contributor/developer makes the effort to do this. But he does not really have time to keep these up to date. Keeping just the two he has built up to date is a time consuming and frustrating endeavor. Post-edit: And I’m told mind-numbing is a better description, along with some words I’m not supposed to use here.

Also worthy of mentioning, the answers I’m giving are not what I want to be saying, they reflect things as they are. Believe me there has been plenty of discussion about exactly these issues among the contributors.

And I hope the was a productive post somehow,.

Oh, I really need to mention how much we do appreciate the feedback you have given on this. It should help us to get what we do have in better shape.

And I actually hope I’m wrong about cuda and that we’ll have some packaging for that that works. But do not hold your breath on that one.

Ah yes, makes sense! Though the issue I had with the blacklisting not happening should not have happened because the server packages includes the same sed thingy.

My guess is that is could have something to do with the update, because on uninstall it removes the line. Maybe the uninstall/cleanup is done after the installation of the new package? That would explain a lot.

[quote=“ben79, post:14, topic:3785”]
Well what this post states about cuda has not changed that I know of, if it has changed @Colin will let us know . If you want cuda you will probably need to download and install nvidia drivers from the nvidia site.
[/quote]Oops, missed that! Sorry.

[quote=“ben79, post:14, topic:3785”]
The official support OpenMandriva has includes nouveau only for nvidia hardware. That won’t change until OpenMandriva gets a developer or package maintainer that wants to deal with the nVidia stuff. We can not make any current volunteer, umpaid developer work on something they don’t want to work on. And they will be happy to explain why the won’t do this @ #openmandriva-cooker on Freenode IRC. If anyone out there wants to volunteer for this we would love to have you. (If you do introduce yourself @ #openmandriva-cooker.)
[/quote]Hmm. I think I could, but I don’t know if I have the time for it. I’ll think about it. I guess it should help that I’m actually running an nvidia card.

[quote=“ben79, post:14, topic:3785”]
The packages we do have are because @Colin as a contributor/developer makes the effort to do this. But he does not really have time to keep these up to date. Keeping just the two he has built up to date is a time consuming and frustrating endeavor. Post-edit: And I’m told mind-numbing is a better description, along with some words I’m not supposed to use here.
[/quote]Let met tell you that I’m very pleased with @Colin’s work. Or all of yours, for that matter. I have been using Mandrake/Mandriva for a very long time and love the fact that you are trying to get things right again!

[quote=“ben79, post:14, topic:3785”]
Also worthy of mentioning , the answers I’m giving are not what I want to be saying, they reflect things as they are. Believe me there has been plenty of discussion about exactly these issues among the contributors.

And I hope the was a productive post somehow,.
[/quote]I understand. And yes, you’ve been very helpful. :slight_smile:

[quote=“ben79, post:15, topic:3785”]
Oh, I really need to mention how much we do appreciate the feedback you have given on this. It should help us to get what we do have in better shape.
[/quote]No problem! Going to try the 4.2 beta as well because I’d like to be a (small) part of this again. :smiley:

[quote=“ben79, post:15, topic:3785”]
And I actually hope I’m wrong about cuda and that we’ll have some packaging for that that works. But do not hold your breath on that one.
[/quote]Well, turns out, you don’t need the cuda-package… found out that Blender does see the cuda-cores when started as root.
It seems that the Debian flafors have a package called ‘nvidia-modprobe’ that solves this. Could be interesting to check what that packages actually does.

Yes having the hardware would certainly be a help. And if you and @Colin worked together then maybe just maybe, two people with not enough time could come closer to what is wanted. And we all understand the not having time especially this year. Post-edit: I’m trying to get in a help with this also. I tried building the nvidia-440 package for cooker today which is how we find out that it won’t build for kernel 5.9. although I have one more thing to try. But my knowledge is not good enough to handle nvidia packages on my own.

Thanks for the kind words. I am confident the Lx 4.2 release will be better than Lx 4.1 but there is already a long “To Do” list for Lx 5.0. So obviously we thing there is still much work to be done. Ah, heck we know there is.

OK, again this is very helpful feedback. That would indicate that what is needed is simply a patch. FWIW it is not at all unusual to pick up patches from other Linux distros or opensource projects. That is part of the beauty of opensource software.

@ben79 I tried to introduce myself on IRC but somehow I cannot send any message both on the freenode webchat or in an irc client.
I just installed Lx4.2 (which I think is a very good out of the box experience already!) but noticed it’s not possible to install the nvidia-440 package. Maybe there’s something I can do anything to help out with that?

Edit
Building driver 455.45.01 atm, after installing the srpm from cooker. Will share it if it works. :wink:

Edit 2:
No luck on the first run:

+ install -m 755 -D libnvidia-fatbinaryloader.so.455.45.01 /home/michel/rpm/BUILDROOT/nvidia-440-455.45.01-1.x86_64/usr/lib64/libnvidia-fatbinaryloader.so.455.45.01
install: cannot stat 'libnvidia-fatbinaryloader.so.455.45.01': No such file or directory
fout: Bad exit status from /home/michel/rpm/tmp/rpm-tmp.rlZq51 (%install)

There is no file libnvidia-fatbinaryloader.so.* in the buildroot.
Commented the lines with libnvidia-fatbinaryloader.so.%{version}. See if that works.

Edit 3:
Woohooo! It builds, it installs… and…

[michel@knutselpc ~]$ inxi -G
Graphics: Device-1: NVIDIA GK104 [GeForce GTX 670] driver: nvidia v: 455.45.01
Display: server: X.org 1.20.9 driver: nvidia unloaded: fbdev,modesetting,vesa tty: 171x42
Message: Advanced graphics data unavailable in console. Try -G --display

Well, the driver does work, but Blender cannot use CUDA. So I’m guessing that this libnvidia-fatbinaryloader.so is actually pretty important on that part.

Will try to work that out later. :slight_smile:

FYI: The only changes I made to the specfile were the version number and commenting out the libnvidia-fatbinaryloader.so lines to make it work with the current cooker kernel. I guess this is fine for gaming, just not for people who want to use Blender similar software.

Turns out that CUDA actually is working, just not with the Blender 2.90.1 from Cooker! I downloaded Blender from Blender.org and it’s working fine, with CUDA enabled.

Also, there’s an uninstalled file from the nvidia-package called (you might have guessed it) ‘nvidia-modprobe’. If I place this in /usr/bin with chmod 4755, I can run Blender as a normal user and have CUDA enabled. :slight_smile: