[ 已解决 ][ 求助 ] 内核升级后开源显卡驱动失效

显卡型号
NVIDIA Corporation C78 [GeForce 9100] (rev a2)
系统版本
openSUSE13.1,一直使用的开源驱动 nouveau
内核版本
3.11.10-11-desktop
今天推送升级至 3.11.10-17-desktop 后,显卡驱动失败


重启退回到 3.11.10-11-desktop 后,恢复正常。
考虑到之前添加 openSUSE-zh 源后安装过 nvidia-gfxG03-kmp-desktop 与 nvidia-uvm-gfxG03-kmp-desktop


YaST2 中查看@system 中 331.79_k3.11.10_11-5.3 与 openSUSE-zh 源 331.79_k3.11.10_17-5.3 版本共存,删除 3.11.10_11,只保留 3.11.10_17 版本后问题仍然存在。看来问题似乎并不在此。

向各位求助解决办法以及更多内核升级过程中应注意的事项。

好吧,我自问自答了
:sweat:
将 openSUSE-zh 源中 nvidia-gfxG03-kmp-desktop 与 nvidia-uvm-gfxG03-kmp-desktop 两个包删除后重启解决问题,是不是应该说之前的 nvidia 闭源驱动是在 3.11.10-11-desktop 下编译的,升级至 3.11.10-17-desktop 后应当重新编译?但本人之前安装后起效的显卡驱动仍是 nouveau,要安装 nvidia 闭源驱动似乎也不仅仅是这两个包就可以的,那么 openSUSE_zh 源中添加这两个包是有何用意呢? :question:

opensuse_zh 里是 nv 闭源驱动针对新内核的升级包,因为 nv 官方 ftp 只针对原始光盘带的那个内核版本打包,这个是针对新版本的,就是说,这个源里需要只编译了需要升级的部分,而 nv 官方包共有 5 个文件 。
如果你需要安装高性能的闭源驱动,剩下的那三个文件就到 ftp://download.nvidia.com/opensuse/13.1 里去下就可以了 ; 如果你只用开源驱动,就单纯的把两个包卸载就可以了…

PS: 为什么需要这两个包? 其中一个原因是:虽然就使用 NV 的 ftp 原始包,升级内核后也可以正常用,但是针对老内核版本的打包要依赖那个版本的内核组件,很多人不是喜欢升级后把老的内核删掉么,如果使用老内核的驱动打包,就会导致系统内的老内核产生组件依赖从而无法清除。。。

1赞

也就是说 nv 官方源里的这两个包会依赖内核组件,不方便升级内核后删除老内核,所以把这两个包去除依赖后单独提到 openSUSE_zh 里。不知我理解得对不对。

总之要感谢你的解答!

不是 “去除”依赖,内核依赖是没法”去除“的 , 闭源驱动必然要依赖内核组件,只不过官方的只针对 3.11.6 内核打包,所以必须依赖 3.11.6 内核组件,这样就会导致即使你升级到 3.11.10 以后,删除不掉 3.11.6 的内核组件,除非连驱动一起删除。而两个新包就是以新内核(3.11.10)编译,依赖的就是新内核 (3.11.10),使用这两个升级,就可以完全清除旧内核了…

举个例子,现在的驱动版本针对 3.11.10-17 打包,因为你升级到新内核,内核文件理所当然是存在的,但是假如一旦内核版本升级到 3.18.xx-xxx ,而假如这个源里的包没有更上新内核重新编译的话,那么,你升级到 3.18.xx-xxx 后,同样系统里会存在一个 没法卸载的 3.11.10-17 的内核文件…