更新内核后如何更新我的 nvidia 模块?

faz*_*oso 19 nvidia kernel modules drivers

每次有内核更新时,nvidia 图形驱动程序都会停止工作,因为没有有效的内核模块。

什么是 ubuntu 为新内核“重新编译”nvidia 模块的方法?

不应该自动完成吗?我遇到了错误?

use*_*174 6

对我来说 dpkg-reconfigure 使用最新的内核重建 Nvidia 驱动程序。然后这需要重新启动才能生效。我下面的示例使用较旧的 nvidia-304-updates。

sudo dpkg-reconfigure nvidia-304-updates
Run Code Online (Sandbox Code Playgroud)

编辑:我设法通过编写zz-dkpg-reconfigure-nvidia在内核更新后运行的脚本来自动执行此操作

#!/bin/bash
#
# Reconfigure nvidia driver

DRIVER=nvidia-304-updates

dpkg-reconfigure $DRIVER > /var/log/dpkg-reconfigure-nvidia.log 2>&1

exit 0
Run Code Online (Sandbox Code Playgroud)

我通过运行安装了上述脚本

sudo install zz-dkpg-reconfigure-nvidia /etc/kernel/postinst.d
Run Code Online (Sandbox Code Playgroud)

适用于我的 Ubuntu 14.04 内核 3.13.0-29 到 3.13.0-36 更新。


Kar*_*enc 6

当您安装 NVIDIA 二进制驱动程序时,您可能还没有安装 dkms 软件包。Dkms确保每次更新内核时,支持它的模块都会重新编译:

sudo apt-get install dkms

之后您可能需要重新安装 NVIDIA 二进制驱动程序,并允许在安装过程中使用 DKMS,因为它需要注册。


chr*_*tis 5

如果您已将 NVIDIA 驱动程序安装为 ubuntu 包,则应在每次内核升级后自动更新。

您可以使用Additional Drivers仪表板中的工具安装打包的驱动程序,或者安装包nvidia-current

如果您直接从他们的网站安装了 nvidia 驱动程序,那么在安装此软件包之前将其删除可能是明智的 - 我不确定它在检测冲突方面的效果如何。

如果您已经从 ubuntu 存储库安装了该软件包,您可以尝试重新配置它,dpkg-reconfigure但我怀疑构建 nvidia 模块是通过安装新内核触发的,我不知道如何触发它。传统的卸载和重新安装可能会很好地工作 ( sudo apt-get remove nvidia-current; sudo apt-get install nvidia-current)。