适用于 3.2.9 内核的 NVidia 驱动程序

适用于 3.2.9 内核的 NVidia 驱动程序

我将 OpenSUSE 12.1 64 位上的内核从 3.1.9 升级到 3.2.9,当我重新启动时,X-windows 拒绝启动,并且我进入了 shell。我尝试使用 手动运行它startx,但仍然不好。

我设法通过删除 NVidia 驱动程序(我有最新版本)来使 X-windows 工作。当我尝试重新安装它时,安装程​​序抱怨驱动程序是用 GCC 4.5 编译的,因此与用 GCC 4.6 编译的内核不兼容。我认为可以肯定地认为这就是它一开始不起作用的原因......

从 bumblebee 存储库安装 NVidia 驱动程序(最初是我从NVIDIA-Linux-x86_64-295.20.runNVidia 站点的安装程序安装的)也不起作用(这次我只是遇到黑屏,必须使用故障安全模式来删除该驱动程序)。

现在,我知道 Linux 的 NVidia 驱动程序不是开源的,所以我无法自己编译它,但是有其他方法可以让它与最新的内核一起工作,还是我必须等待 NVidia发布 GCC 4.6 编译内核的新版本?

更新

我已向 NVidia 发送邮件,他们的技术支持注意到我对错误消息的理解是错误的。 NVidia 驱动程序是用 GCC 4.6 编译的 - 它是用 GCC 4.5 编译的 Linux 内核。

所以,解决方案很明确 - 我需要编译我自己的内核......

答案1

有一个解决方案肯定可以完成这项工作,但可能会很痛苦。编译并安装kernel您需要的GCC 4.5,然后安装NVidia driver.

这会很困难,因为编译自己的代码kernel几乎从来都不容易,即使configfile可以实现。可能您的系统包含需要kernel编译的组件GCC 4.6- 这些组件将无法正常工作,或根本无法工作。

这里安全的选择是将问题报告给NVidia旧的,然后等待kernel

我问了一个从这个问题中产生的问题这里


更新:上述问题的答案已经到了,其重要的部分是这样的:

您可以修补二进制文件中的版本字符串。这将欺骗内核加载模块,但存在导致内部数据结构数据损坏的风险。

相关内容