Insatll nvidia drivers in ubuntu 16.04

近期遇到了ubuntu 16.04中的login loop, 尝试了很多方法,包括删除\etc\profile.Xauority文件。但是都无济于事,在卸载nvidia显卡后可以正常登录了,因此我认为我遇到的login loop是由于nvidia驱动不匹配引起的。

因此我建议大家尽量选择闭源驱动,而不是开源驱动。同时,最好关闭主板的集成显卡并关闭nouveau核心。

具体的方法可以参照:

1. 准备工作

在待安装驱动的主机上打开一个终端(Ctrl+Alt+T),或者直接切换到终端界面(Ctrl+Alt+F1),进行如下操作

  • 卸载可能存在的旧版本 nvidia 驱动(对没有安装过 nvidia 驱动的主机,这步可以省略,但推荐执行,无害)

    $sudo apt-get remove --purge nvidia*
    
  • 安装驱动可能需要的依赖(可选)

     $sudo apt-get update
    
    $sudo apt-get install dkms build-essential linux-headers-generic
    
  • 把 nouveau 驱动加入黑名单

    $sudo nano /etc/modprobe.d/blacklist-nouveau.conf
    
    在文件 blacklist-nouveau.conf 中加入如下内容:
    blacklist nouveau
    blacklist lbm-nouveau
    options nouveau modeset=0
    alias nouveau off
    alias lbm-nouveau off
    
  • 禁用 nouveau 内核模块

    $echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
    
    $sudo update-initramfs -u
    
  • 重启

2. 安装驱动
  • 选择驱动

    可以通过addition drivers来查看合适的显卡驱动,如下图,我选择了nvidia-375

  • 重启后再次进入字符终端界面,并关闭图形界面

    $sudo service lightdm stop
    
  • 安装驱动

      $sudo add-apt-repository ppa:graphics-drivers/ppa
    
    $sudo apt-get update; sudo apt-get install nvidia-375
    
  • 重启
4. 安装完毕

参考:

[1]http://www.webupd8.org/2016/06/how-to-install-latest-nvidia-drivers-in.html
[2]https://gist.github.com/dangbiao1991/7825db1d17df9231f4101f034ecd5a2b

If you like my article, please feel free to donate!