如何禁用 Nouveau 内核驱动程序

在Ubuntu 16.04上执行cuda_8.0.44_linux.run安装CUDA时, 我在/var/log/nvidia-installer.log中收到了以下错误信息。

enter image description here

然后我检查了/etc/modprobe.d/nvidia-installer-disable-nouveau.conf并得到

enter image description here

有没有禁用 Nouveau 内核驱动的建议?

我找到了this 2012 discussion,但对我没用。


我试过了,但是没有成功。 - willSapgreen
2个回答


3这个完美地起作用了,但我还得从/tmp目录中删除X0锁定文件。 - adelindev
太好了,谢谢!顺便说一下,在Arch环境中,update-initramfs -u的操作方式有所不同。你需要在/etc/mkinitcpio.d/目录下找到你的内核预设文件(例如linux417.preset),然后运行sudo mkinitcpio -p linux417命令,并重新启动电脑。完成了! - MewX
在Ubuntu 18.04.03上完美运行。非常感谢! - sdd
对我来说,在18.04上没有起作用,nvidia安装程序仍然抱怨这个nuveau。 - stiv
谢谢,它在Ubuntu Server 20.04上运行正常。 - eval
1FYI在Fedora上,这对我有效!(1)下载了适用于我的显卡的NVIDIA驱动程序/脚本。执行它。然后它在/usr/lib/modprobe.d/nvidia-installer-disable-nouveau.conf/etc/modprobe.d/nvidia-installer-disable-nouveau.conf中生成具有上述内容的文件。(2)然后,我必须在Fedora上运行dracut --regenerate-all -f,因为sudo update-initramfs -u在Fedora上不起作用。(3)重新启动,就这样! - code

也许已经有些晚了,但希望这些提示对其他人有所帮助。以下的方法适用于 Ubuntu 16.04 和 elementary OS 0.4。
  1. 如果您的系统是全新安装的,请跳过此步骤,删除所有NVIDIA软件包:

    sudo apt-get remove nvidia* && sudo apt autoremove
    
  2. 安装一些用于构建内核的软件包:

    sudo apt-get install dkms build-essential linux-headers-generic
    
  3. 现在阻止并禁用nouveau内核驱动程序:

    sudo vim /etc/modprobe.d/blacklist.conf
    
将以下行插入到blacklist.conf中:
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

保存并退出。
4. 输入以下命令禁用Kernel nouveau(nouveau-kms.conf可能不存在,没关系):
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
5. 通过以下方式构建新的内核:
sudo update-initramfs -u
6. 重新启动。

3第四项必要吗?它似乎是对你在第三项中提到的将"options nouveau modeset=0"添加到/etc/modprobe.d/blacklist.conf的重复。 - Sun Bear
我这样做了,然后按下CTRL+ALT+F1,输入sudo service lightdm stop,然后才能运行安装程序。我不知道是否必须这样做,但我确实这样做了,并且成功地运行了安装程序。谢谢! - Julian Cienfuegos
2这简直毁了我的系统。重新启动后,我现在看到一个无尽的黑屏,甚至没有一个可恶的光标;( - revolutionary
最好将sudo vim /etc/modprobe.d/blacklist.conf更改为gksu gedit /etc/modprobe.d/blacklist.conf :D - Mariusz Jaskółka
1@revolutionary 这很奇怪,你可能没有备用驱动程序。你有多余的VGA显示器吗? - Tcll
@Tcll 我也是一样。我的屏幕无法通过Grub引导加载程序。现在该怎么办? - Isengo
@revolutionary 你是怎么解决它的? - Isengo
1好的,你不能撤销你的更改并重新运行 sudo update-initramfs -u 来重新启用 nouveau... 我像个白痴一样做了这件事,结果把所有的nvidia驱动程序安装都搞砸了,最后只能重新安装xubuntu。我能为@revolutionary推荐的最好的事情就是拿一个vga显示器(液晶,CRT,无所谓),这至少可以运行回退模式,并帮助你找到一些解决方法。 - Tcll
幸运的是,我正在安装在GCloud Compute虚拟实例上,但我绝对认为这个答案带来的伤害大于帮助。现在我的系统被警告信息淹没,例如“警告:无法找到适合安装32位兼容库的目标。您的系统可能没有设置为32位兼容。将不会安装32位兼容文件;如果您希望安装它们,请重新运行安装并使用--compat32-libdir选项设置有效的目录。”我给出了负评。 - Nathan majicvr.com
@frank,抱歉,那个回答可能已经过时了,是的,你应该给它点个踩。 - WesleyHsiung
按照此方法提供的所有步骤操作后,您可以从Nvidia官方网站下载.run文件并按照屏幕上的指示安装Nvidia。 - Ghostranger