nvidia module won't load unless I use nomodeset in grub

I recently switched from 13.2 to Tumbleweed, which I installed from the dvd. Yesterday I installed the nvidia driver 346.59 which worked fine until I rebooted. Then I got a window that said Plasma5 had crashed. I logged out and back in and got the same crash message. So I reinstalled the nvidia driver which worked fine again until I rebooted. Then I had the same Plasma5 crash. Also the nvidia module didn’t load and X was using the nouveau driver instead. I switched to terminal mode and executed ‘modprobe nvidia’ and got an error message:

modprobe: ERROR: could not insert ‘nvidia’: No such device.

I rebooted again and edited the kernel line in grub by adding nomodeset. Then the nvidia module loaded and worked fine. This was not necessary when I was using 13.2.

Does anyone know if this behavior is only related to the latest nvidia driver? Or anyone know why nomodeset is necessary with Tumbleweed but not with 13.2?

You can change the default grub boot line to include “nomodeset”. Make that change in “/etc/default/grub”.

This is pretty much standard for nvidia drivers. You must prevent the “nouveau” driver from loading. Either “nomodeset” on the kernel boot command, or blacklist “nouveau” with a file in “/etc/modprobe.d”.

When you install nvidia drivers the repo way, it blacklists nouveau. When you install the hard way, it might or it might not. My best recollection is that if nouveau is running when you try to install, then it adds the blacklist line and tells you to reboot and then try again to install. If it does not find “nouveau” running, it doesn’t blacklist. But you will need to always use “nomodeset”. I preferred to always use “nomodeset” via the edit of “/etc/default/grub”.

Nouveau is already blacklisted.

As I said above, I didn’t need to use nomodeset with 13.2. The only time I used it was when I booted into runlevel 3 to install the nvidia drivers manually. By any chance are you using the driver 346.59?

No. I’m using 304.125 (for an older card), and at present it doesn’t install for Tumbleweed (since the 3.19.x kernel).

Did you check if it is blacklisted in initrd?

To which initrd file are you referring?

The one you are using; not sure I understand the question.