updating tumbleweed requires reinstalling official nvidia drivers

I read somewhere that on tumbleweed we need to use ‘zypper dup’ to keep up to date.
Every time I do this it claims certain things need to be restarted;
therefore, I restart the computer but then instead of a graphical login screen I get a terminal.
The solution is to reinstall the official nvidia drivers (from their website);
however, once that is complete, shutdown doesn’t work.
It brings up a screen with an infinity symbol with three circles below it (progress indicator);
however, nothing ever seems to happen, and I am forced to do a hard shutdown (cut the power).
Esc will toggle back to the terminal, but Ctrl+C and Shift+Ctrl+C don’t accomplish anything.
Once I turn the power back on, it will load the graphical login screen.

This last time I un-blacklisted nouveau just as a test, but it still just loaded to the terminal;
although, the terminal was at a higher resolution.

Is it expected for me to have to reinstall the nvidia drivers after zypper dup?
Why does un-blacklisting nouveau still only start with a terminal?
Why does that screen with the infinity symbol appear, and why does nothing happen other than that?
How can I avoid the hard shutdown?

you should keep the nvidia run file somewhere in your home so when the kernel gets updated you can update the nvidia module, you just need to re-run the run file and it will rebuild the nvidia kernel modules, you should do that in run level 3, I’m not sure you should blacklist novou but then again I still use LEAP, if you are having issues with nvidia it’s not a bad idea to use the run file to remove the old kernel modules before reinstalling the driver, I don’t think you need to reboot if the build was succsessfull just going to run level 5 should be enough, but keep in mind that TW always has the newest kernel and some features might not be supported by nvidia.
to see the availoblle options the nvidia run file has run it with ./nvidia*.run --help to see all the options

Not only kernel, but X11 libraries too. You could check which libraries are replaced by nVidia installer and to which packages they belong.

To be honest it does not seem worthwhile to use the nvidia driver with tumblewwed IMHO. The built in nouveau driver works just as well.

As the kernel with tumbleweed is updated on a regular basis there is no nvidia automatic repo to use. So you will need to update the driver whenever the kernel is updated. This is called the ‘hard way’ but is not really. You just need to download the nvidia driver from:

http://www.nvidia.com/Download/index.aspx?lang=en-us

Save this to a sensible location (I use /home/xxx/Documents/nvidia).

You have to have gcc / kernel source / kernel syms / make installed. Move to init 3 and tab to the driver folder and run the command as root:

sh NVIDIA-Linux-x86_64-361.42.run

nb - the driver letters will change and the above command is shown as an example.

Just follow the instructions on the screen

to uninstall the driver you would in the same way do the command:

NVIDIA-Linux-x86_64-361.42.run --uninstall

Everytime the kernel is updated you will need to re-run the nvidia driver install.

To avoid the conflict that you are seeing it makes sense to add nomodeset to your boot instructions. You can do this through yast - the bootloader section. I show my line below and the amender version:

quiet splash=silent resume=/dev/disk/by-uuid/d5e6ebf9-a232-4266-8dc1-91b6ae5b5faa splash=silent quiet showopts

quiet splash=silent resume=/dev/disk/by-uuid/d5e6ebf9-a232-4266-8dc1-91b6ae5b5faa splash=silent quiet nomodeset showopts

I tried nouveau, but my 3D games became extremely sluggish. Therefore I reinstalled Leap, and use the proprietary drivers. Back to normal.
But if you don’t play any 3D games, I assume nouveau is really good.

novou doesn’t play nice with plasma 5, so if you’re a kde user you need nvidia’s propitiatory driver

I  tried nouveau, but my 3D games became extremely sluggish. Therefore I  reinstalled Leap, and use the proprietary drivers. Back to normal. 
But if you don't play any 3D games, I assume nouveau is really good.

                            novou doesn't play nice with plasma 5, so if you're a kde user you need nvidia's propitiatory driver

That explains it then - as I don’t play games and use kde4 more than plasma5

Thanks all.
Reading https://en.opensuse.org/SDB:Switch_runlevel
I noticed Ctrl-Alt-F2… is this the proper place to run ‘zypper dup’?
I have been running it from Konsole.
I tried Ctrl-Alt-F2 but it produces the same behavior as when I shutdown my computer,
i.e. the video stream is cut and my monitor goes into power saving for a long time.
Ctrl-Alt-F7 won’t immediately switch back, but it will if I try after waiting for like 5 minutes.

Next update I’ll try changing the runlevel instead of rebooting, to avoid the hard shutdown.

Updating openSUSE aside… what is to proper procedure for replacing (updating) drivers?

quiet splash=silent resume=/dev/disk/by-uuid/d5e6ebf9-a232-4266-8dc1-91b6ae5b5faa splash=silent quiet showopts

quiet splash=silent resume=/dev/disk/by-uuid/d5e6ebf9-a232-4266-8dc1-91b6ae5b5faa splash=silent quiet nomodeset showopts

What does this do?

Kernel Mode Setting KMS is a method for setting display resolution and depth in the kernel space rather than user space.
KMS also enables newer technologies which will help reduce artifacts and increase 3D performance, even kernel space power-saving, by using nomodeset you disable KMS and restrict all video acceleration and fallback to the most basic VESA video which should allow your system to boot

[size=2]Adding the:[/size]

nomodeset

comment is only needed if you are installing the nvidia driver the ‘hard way’. If you are now using Leap then there is no need as you can use the nvidia repo.

This time I set the runlevel to 3
and then ran the <driver>.run file again
and then set the runlevel to 5.
It started the graphical login screen,
so I logged in…
but then the taskbar (plasma 5) never appeared.
Alt+F2 did work so I typed in Konsole…
then I ran ‘sudo shutdown’
and it cut the video stream but never shutdown.
In the end another hard shutdown was required… >_<

One thing I noticed on turning it back on was that
it didn’t retain the nouvea blacklist file from before the zypper dup,
and there was no file created after using the driver .run file again.
I guess I would need to create one and run mkinitrd like usual…
but then will it reboot without freezing…? >_<

I decided to just uninstall the driver and
use the nouveau driver and lxqt.
No more long shutdowns / reboots and ctrl+alt+f2 works.
If I could solve the tearing issue I would be totally satisfied.

I’m reluctant to try the nomodset
because when I see “d5e6ebf9-a232-4266-8dc1-91b6ae5b5faa”
as part of the solution I think I need to figure out a new system that
doesn’t require entering human not-readable data.

Sorry but you have me confused.

Are you using Tumbleweed or Leap? With Leap there is no need to formally install the Nvidia driver as you can just use the Nvidia repo and avoid the problems that you are seeing.

I’m using Tumbleweed… and I’m thinking about switching ;-].

Has tumbleweed kernel 4.6 included?
Then you must patch your nvidia.run.

Edit:
The latest Beta Driver 367.18 is building against Kernel 4.6 without any Error.
http://www.nvidia.com/download/driverResults.aspx/102906/com

I have the same problems with 367.18

After I installed it and went back to runlevel 5,
it allowed me to login to xfce but then the system froze… hard shutdown again.

I just tried the nomodset suggestion, but shutdowns and restarts still take a couple of minutes.
It also seems to disable the ctrl+alt+f2 feature.
I’m still not clear about what that is supposed to do for me.

Looks like I’m not alone with this shutdown / restart issue:
http://askubuntu.com/questions/728699/slow-shutdown-reboot-with-15-10
http://askubuntu.com/questions/723993/ubuntu-15-10-long-shutdown-and-suspend-time-after-installing-nvidia-drivers

To follow up on my comment about lxqt + nouveau and tearing:

With a file /etc/X11/xorg.conf.d/20-nouveau.conf


Section "Device"
 Identifier "My Graphics"
 Option "GLXVBlank" "on"
 Option "SwapLimit" "2"
EndSection

I’m not sure if that’s correct or not…

…there is still some minimal tearing but it’s acceptable since I’m not watching movies or playing games.

Tips:

  • make sure all windows are minimized except the one you are working with
  • use chromium instead of firefox (which has much worse tearing when scrolling on webpages)
  • do not use chromium maximized or even the full width of the screen

The Ambiance LxQt theme also seems to help.