Same problem, solved much like Cymerio did.
Except previous kernels need not be deleted.
And “reinstall” should be interpreted as “remove”, then “install” again,
not just “install”.
Surely several steps were not needed.
Removing all the nvidia-* packages might be sufficient.
But here is what I did.
There were several nvidia-gfxG04-kmp-desktop leftover
> rpm -qa | grep -i nvidia
nvidia-glG04-361.28-23.1.x86_64
nvidia-gfxG04-kmp-desktop-352.30_k3.16.6_2-15.1.x86_64
nvidia-gfxG04-kmp-desktop-352.41_k3.16.6_2-16.1.x86_64
nvidia-gfxG04-kmp-desktop-352.79_k3.16.6_2-19.1.x86_64
nvidia-gfxG04-kmp-desktop-352.55_k3.16.6_2-17.1.x86_64
nvidia-gfxG04-kmp-desktop-352.21_k3.16.6_2-14.1.x86_64
nvidia-gfxG04-kmp-desktop-352.63_k3.16.6_2-18.1.x86_64
nvidia-computeG04-361.28-23.1.x86_64
nvidia-uvm-gfxG04-kmp-desktop-352.79_k3.16.6_2-19.1.x86_64
nvidia-gfxG04-kmp-desktop-346.72_k3.16.6_2-6.1.x86_64
nvidia-gfxG04-kmp-desktop-361.28_k3.16.6_2-23.1.x86_64
x11-video-nvidiaG04-361.28-23.1.x86_64
At the time, I just removed the “nvidia-gfxG04-kmp-desktop-*”.
> sudo zypper rm nvidia-gfxG04-kmp-desktop-352.30_k3.16.6_2-15.1.x86_64 nvidia-gfxG04-kmp-desktop-352.41_k3.16.6_2-16.1.x86_64 nvidia-gfxG04-kmp-desktop-352.79_k3.16.6_2-19.1.x86_64 nvidia-gfxG04-kmp-desktop-352.55_k3.16.6_2-17.1.x86_64 nvidia-gfxG04-kmp-desktop-352.55_k3.16.6_2-17.1.x86_64 nvidia-gfxG04-kmp-desktop-352.21_k3.16.6_2-14.1.x86_64 nvidia-gfxG04-kmp-desktop-352.63_k3.16.6_2-18.1.x86_64
The following 7 packages are going to be REMOVED:
nvidia-gfxG04-kmp-desktop-352.21_k3.16.6_2-14.1 nvidia-gfxG04-kmp-desktop-352.30_k3.16.6_2-15.1 nvidia-gfxG04-kmp-desktop-352.41_k3.16.6_2-16.1 nvidia-gfxG04-kmp-desktop-352.55_k3.16.6_2-17.1 nvidia-gfxG04-kmp-desktop-352.63_k3.16.6_2-18.1 nvidia-gfxG04-kmp-desktop-352.79_k3.16.6_2-19.1 nvidia-uvm-gfxG04-kmp-desktop
7 packages to remove.
After the operation, 186.7 MiB will be freed.
(1/7) Removing nvidia-gfxG04-kmp-desktop-352.21_k3.16.6_2-14.1 ...
Additional rpm output:
make: Entering directory '/usr/src/kernel-modules/nvidia-352.21-desktop'
make: Leaving directory '/usr/src/kernel-modules/nvidia-352.21-desktop'
Creating initrd: /boot/initrd-3.16.7-32-desktop
Executing: /usr/bin/dracut --logfile /var/log/YaST2/mkinitrd.log --force /boot/initrd-3.16.7-32-desktop 3.16.7-32-desktop
<...>
Update bootloader...
(2/7) Removing nvidia-gfxG04-kmp-desktop-352.30_k3.16.6_2-15.1 ...
(3/7) Removing nvidia-gfxG04-kmp-desktop-352.41_k3.16.6_2-16.1 ...
(4/7) Removing nvidia-gfxG04-kmp-desktop-352.55_k3.16.6_2-17.1 ...
(5/7) Removing nvidia-gfxG04-kmp-desktop-352.63_k3.16.6_2-18.1 ...
(6/7) Removing nvidia-uvm-gfxG04-kmp-desktop-352.79_k3.16.6_2-19.1 ...
(7/7) Removing nvidia-gfxG04-kmp-desktop-352.79_k3.16.6_2-19.1 ...
Note: nvidia-uvm-gfxG04-kmp-desktop-352.79_k3.16.6_2-19.1 was listed as merely nvidia-uvm-gfxG04-kmp-desktop in the summary (“to be REMOVED”)
Now
> rpm -qa | grep -i nvidia
nvidia-glG04-361.28-23.1.x86_64
nvidia-computeG04-361.28-23.1.x86_64
nvidia-gfxG04-kmp-desktop-346.72_k3.16.6_2-6.1.x86_64
nvidia-gfxG04-kmp-desktop-361.28_k3.16.6_2-23.1.x86_64
x11-video-nvidiaG04-361.28-23.1.x86_64
The 346 should not be here
> sudo zypper rm nvidia-gfxG04-kmp-desktop-346.72_k3.16.6_2-6.1.x86_64
The following package is going to be REMOVED:
nvidia-gfxG04-kmp-desktop
1 package to remove.
After the operation, 28.0 MiB will be freed.
Then
Yast/software
Update the 4 nvidia packages:
nvidia-glG04
nvidia-computeG04
nvidia-gfxG04-kmp-desktop
x11-video-nvidiaG04
Check
> ls -l /lib/modules/3.16.6-2-desktop/updates/*
-rw-r--r-- 1 root root 19664934 Mar 5 13:21 /lib/modules/3.16.6-2-desktop/updates/nvidia.ko
-rw-r--r-- 1 root root 1299832 Mar 5 13:21 /lib/modules/3.16.6-2-desktop/updates/nvidia-modeset.ko
-rw-r--r-- 1 root root 18549484 Mar 5 13:21 /lib/modules/3.16.6-2-desktop/updates/nvidia-uvm.ko
> ls -l /lib/modules/3.16.7-35-desktop/weak-updates/updates/
total 8
lrwxrwxrwx 1 root root 55 Mar 5 13:06 nvidia-modeset.ko -> /lib/modules/3.16.6-2-desktop/updates/nvidia-modeset.ko
lrwxrwxrwx 1 root root 51 Mar 5 13:06 nvidia-uvm.ko -> /lib/modules/3.16.6-2-desktop/updates/nvidia-uvm.ko
Strange: nvidia.ko → /lib/modules/3.16.6-2-desktop/updates/nvidia.ko is missing
This is different from Cymerio outcome.
Try to remove /lib/modules/3.16.6-2-desktop/ first,
and then reinstall (with zypper to see output).
sudo mv /lib/modules/3.16.6-2-desktop/ /lib/modules/3.16.6-2-desktop.old
sudo zypper install --force nvidia-glG04 nvidia-computeG04 nvidia-gfxG04-kmp-desktop x11-video-nvidiaG04
Loading repository data...
Reading installed packages...
Forcing installation of 'x11-video-nvidiaG04-361.28-23.1.x86_64' from repository 'nVidia Graphics Drivers'.
Forcing installation of 'nvidia-glG04-361.28-23.1.x86_64' from repository 'nVidia Graphics Drivers'.
Forcing installation of 'nvidia-computeG04-361.28-23.1.x86_64' from repository 'nVidia Graphics Drivers'.
Forcing installation of 'nvidia-gfxG04-kmp-desktop-361.28_k3.16.6_2-23.1.x86_64' from repository 'nVidia Graphics Drivers'.
Resolving package dependencies...
The following 4 packages are going to be reinstalled:
nvidia-computeG04 nvidia-gfxG04-kmp-desktop nvidia-glG04 x11-video-nvidiaG04
4 packages to reinstall.
Overall download size: 82.3 MiB. Already cached: 0 B No additional space will be used or freed after the operation.
...
(1/4) Installing: nvidia-gfxG04-kmp-desktop-361.28_k3.16.6_2-23.1 ..................................................................................................................................................................................................................................................................................................[done]
Additional rpm output:
make: Entering directory '/usr/src/linux-3.16.7-35-obj/x86_64/desktop'
make[1]: Entering directory `/usr/src/linux-3.16.7-35-obj/x86_64/desktop'
Building modules, stage 2.
MODPOST 0 modules
make: Leaving directory '/usr/src/linux-3.16.7-35-obj/x86_64/desktop'
/usr/src/kernel-modules/nvidia-361.28-desktop /
make "CC=cc" KBUILD_OUTPUT=/usr/src/linux-obj/x86_64/desktop KBUILD_VERBOSE= -C /usr/src/linux M=/usr/src/kernel-modules/nvidia-361.28-desktop ARCH=x86_64 NV_KERNEL_SOURCES=/usr/src/linux NV_KERNEL_OUTPUT=/usr/src/linux-obj/x86_64/desktop NV_KERNEL_MODULES="nvidia nvidia-uvm nvidia-modeset" INSTALL_MOD_DIR=kernel/drivers/video modules
make[1]: Entering directory '/usr/src/linux-3.16.7-35'
make[1]: Entering directory `/usr/src/linux-obj/x86_64/desktop'
make -C /usr/src/linux-obj/x86_64/desktop \
KBUILD_SRC=/usr/src/linux-3.16.7-35 \
KBUILD_EXTMOD="/usr/src/kernel-modules/nvidia-361.28-desktop" -f /usr/src/linux-3.16.7-35/Makefile \
modules
Building modules, stage 2.
MODPOST 3 modules
make[1]: Leaving directory '/usr/src/linux-3.16.7-35'
ld -T /usr/src/linux/scripts/module-common.lds -r -o nv-linux.o \
nvidia.mod.o nvidia/nv-interface.o
/
depmod: WARNING: could not open /lib/modules/3.16.6-2-desktop/modules.order: No such file or directory
depmod: WARNING: could not open /lib/modules/3.16.6-2-desktop/modules.builtin: No such file or directory
Modprobe blacklist files have been created at /etc/modprobe.d to prevent Nouveau from loading. This can be reverted by deleting /etc/modprobe.d/nvidia-*.conf.
*** Reboot your computer and verify that the NVIDIA graphics driver can be loaded. ***
depmod: WARNING: //lib/modules/3.16.7-32-desktop/weak-updates/updates/nvidia-modeset.ko needs unknown symbol nvidia_register_module
depmod: WARNING: //lib/modules/3.16.7-32-desktop/weak-updates/updates/nvidia-modeset.ko needs unknown symbol nvidia_get_rm_ops
depmod: WARNING: //lib/modules/3.16.7-32-desktop/weak-updates/updates/nvidia-modeset.ko needs unknown symbol nvidia_unregister_module
depmod: WARNING: //lib/modules/3.16.7-32-desktop/weak-updates/updates/nvidia-uvm.ko needs unknown symbol nvUvmInterfaceChannelDestroy
depmod: WARNING: //lib/modules/3.16.7-32-desktop/weak-updates/updates/nvidia-uvm.ko needs unknown symbol nvUvmInterfaceQueryCaps
depmod: WARNING: //lib/modules/3.16.7-32-desktop/weak-updates/updates/nvidia-uvm.ko needs unknown symbol nvUvmInterfaceUnsetPageDirectory
depmod: WARNING: //lib/modules/3.16.7-32-desktop/weak-updates/updates/nvidia-uvm.ko needs unknown symbol nvUvmInterfaceMemoryAllocSys
...
Warning: /lib/modules/3.16.7-32-desktop is inconsistent
Warning: weak-updates symlinks might not be created
depmod: WARNING: //lib/modules/3.16.7-35-desktop/weak-updates/updates/nvidia-modeset.ko needs unknown symbol nvidia_register_module
depmod: WARNING: //lib/modules/3.16.7-35-desktop/weak-updates/updates/nvidia-modeset.ko needs unknown symbol nvidia_get_rm_ops
depmod: WARNING: //lib/modules/3.16.7-35-desktop/weak-updates/updates/nvidia-modeset.ko needs unknown symbol nvidia_unregister_module
depmod: WARNING: //lib/modules/3.16.7-35-desktop/weak-updates/updates/nvidia-uvm.ko needs unknown symbol nvUvmInterfaceChannelDestroy
depmod: WARNING: //lib/modules/3.16.7-35-desktop/weak-updates/updates/nvidia-uvm.ko needs unknown symbol nvUvmInterfaceQueryCaps
depmod: WARNING: //lib/modules/3.16.7-35-desktop/weak-updates/updates/nvidia-uvm.ko needs unknown symbol nvUvmInterfaceUnsetPageDirectory
depmod: WARNING: //lib/modules/3.16.7-35-desktop/weak-updates/updates/nvidia-uvm.ko needs unknown symbol nvUvmInterfaceMemoryAllocSys
...
Warning: /lib/modules/3.16.7-35-desktop is inconsistent
Warning: weak-updates symlinks might not be created
Note: there are warnings both from /lib/modules/3.16.7-35-desktop and /lib/modules/3.16.7-32-desktop
Now what I should have done first: remove all the remaining nvidia packages
sudo zypper rm nvidia-glG04 nvidia-computeG04 nvidia-gfxG04-kmp-desktop x11-video-nvidiaG04
The following 4 packages are going to be REMOVED:
nvidia-computeG04 nvidia-gfxG04-kmp-desktop nvidia-glG04 x11-video-nvidiaG04
4 packages to remove.
After the operation, 393.1 MiB will be freed.
There are only two symlinks in /lib/modules/3.16.7-35-desktop/weak-updates/updates/
ls -l /lib/modules/3.16.7-35-desktop/weak-updates/updates/
total 8
lrwxrwxrwx 1 root root 55 Mar 5 13:06 nvidia-modeset.ko -> /lib/modules/3.16.6-2-desktop/updates/nvidia-modeset.ko
lrwxrwxrwx 1 root root 51 Mar 5 13:06 nvidia-uvm.ko -> /lib/modules/3.16.6-2-desktop/updates/nvidia-uvm.ko
but they are broken now.
Removed these broken links [Not sure this step was really needed]
sudo rm /lib/modules/3.16.7-35-desktop/weak-updates/updates/nvidia*
Removed the /lib/modules/3.16.6-2-desktop/ [Not sure this step was really needed]
This directory holds only the nvidia drivers (nvidia driver updates always go there)
sudo mv /lib/modules/3.16.6-2-desktop/ /lib/modules/3.16.6-2-desktop.old2
Now install the nvidia packages back
> sudo zypper install nvidia-glG04 nvidia-computeG04 nvidia-gfxG04-kmp-desktop x11-video-nvidiaG04
The following 4 NEW packages are going to be installed:
nvidia-computeG04 nvidia-gfxG04-kmp-desktop nvidia-glG04 x11-video-nvidiaG04
The following 2 recommended packages were automatically selected:
nvidia-glG04 x11-video-nvidiaG04
4 new packages to install.
Overall download size: 82.3 MiB. Already cached: 0 B After the operation, additional 393.1 MiB will be used.
(1/4) Installing: nvidia-gfxG04-kmp-desktop-361.28_k3.16.6_2-23.1 ...
Additional rpm output:
make: Entering directory '/usr/src/linux-3.16.7-35-obj/x86_64/desktop'
make[1]: Entering directory `/usr/src/linux-3.16.7-35-obj/x86_64/desktop'
Building modules, stage 2.
MODPOST 0 modules
make: Leaving directory '/usr/src/linux-3.16.7-35-obj/x86_64/desktop'
/usr/src/kernel-modules/nvidia-361.28-desktop /
make "CC=cc" KBUILD_OUTPUT=/usr/src/linux-obj/x86_64/desktop KBUILD_VERBOSE= -C /usr/src/linux M=/usr/src/kernel-modules/nvidia-361.28-desktop ARCH=x86_64 NV_KERNEL_SOURCES=/usr/src/linux NV_KERNEL_OUTPUT=/usr/src/linux-obj/x86_64/desktop NV_KERNEL_MODULES="nvidia nvidia-uvm nvidia-modeset" INSTALL_MOD_DIR=kernel/drivers/video modules
make[1]: Entering directory '/usr/src/linux-3.16.7-35'
make[1]: Entering directory `/usr/src/linux-obj/x86_64/desktop'
make -C /usr/src/linux-obj/x86_64/desktop \
KBUILD_SRC=/usr/src/linux-3.16.7-35 \
KBUILD_EXTMOD="/usr/src/kernel-modules/nvidia-361.28-desktop" -f /usr/src/linux-3.16.7-35/Makefile \
modules
CONFTEST: INIT_WORK
...
depmod: WARNING: could not open /lib/modules/3.16.6-2-desktop/modules.order: No such file or directory
depmod: WARNING: could not open /lib/modules/3.16.6-2-desktop/modules.builtin: No such file or directory
depmod: WARNING: //lib/modules/3.16.7-32-desktop/weak-updates/updates/nvidia-modeset.ko needs unknown symbol nvidia_register_module
Note: now there are no more warnings from the 3.16.7-35 dir. Seems good.
reboot
fine