如何确保 nvidia_current 模块在启动期间加载

如何确保 nvidia_current 模块在启动期间加载

我在配备 nvidia gforce GTX 660M 的 Asus G75V 笔记本电脑上运行 Ubuntu 12.10。我首先在这台机器上运行 12.04,并能够从 swat ppa 安装 nvidia_current 驱动程序:

sudo apt-add-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install nvidia-current 

这在 12.04 中有效,重启机器后我的图形工作正常。然而,升级到 12.10 后,机器启动到低分辨率桌面,我无法与之交互。我怀疑这是由于驱动程序未正确加载。要解决这个问题,我必须切换到ctrl+alt+F1会话并手动加载 nvidia_current 模块并重新启动桌面管理器:

sudo modprobe nvidia_current
sudo service lightdm restart

现在一切都恢复正常了。但是,我不想每次重启机器时都这样做。我也不想破解一个脚本来在加载时执行此操作。基本上,如果一切设置正确,则应该加载已安装的 nvidia_current 驱动程序。如何确保系统启动时正确加载 nvidia_current 驱动程序模块?

编辑:我尝试删除 ppa 并nvidia-current-update按照评论中的建议进行安装。但是,我仍然面临同样的问题。唯一的区别是,现在当我重新启动时,我会回到桌面,看到这个扭曲的图像:

在此处输入图片描述

尽管安装了有效的驱动程序,但系统启动时 nvidia 模块似乎没有被正确加载。

同样,为了解决这个问题,我可以切换到ctrl+alt+F1会话并登录。然后我可以运行此代码来加载驱动程序并返回桌面:

sudo modprobe nvidia_current_updates
sudo service lightdm restart

我认为可能是 nvidia_current_updates 不知何故被列入了黑名单,或者 nouveau 驱动程序未被列入黑名单。所以我进入 /etc/modprobe.d 目录并查看了一下。我找不到任何证据。以下是nvidia-graphic-drivers.conf似乎相关的内容:

:/etc/modprobe.d$ cat nvidia-graphics-drivers.conf 
# This file was installed by nvidia-current-updates
# Do not edit this file manually

blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-173
blacklist nvidia-96
blacklist nvidia-current
blacklist nvidia-173-updates
blacklist nvidia-96-updates
alias nvidia nvidia_current_updates
alias nouveau off
alias lbm-nouveau off

答案1

由于ppa:ubuntu-x-swat/x-updatesPPA 目前没有任何适用于 Quantal 的软件包,我建议将其删除。

sudo apt-get install ppa-purge

sudo ppa-purge ppa:ubuntu-x-swat/x-updates

然后安装推荐或实验性的 Nvidia 驱动程序。您可以通过将其添加到 /etc/modules 来确保模块加载。

相关内容