系统:Ubuntu 18.04

笔记本显卡:GTX 1050

在笔记本上面安装 Ubuntu 是一个很折腾的事情,其中主要原因就是显卡驱动,现在的笔记本的显卡基本上都是 inter + Nvidia。集显的驱动还好,主要是 intel 对开源还算友好。Nvidia 它的显卡驱动是闭源的,Nvidia 毕竟是个商业公司,所以给 Linux 做驱动也不是太积极。

显卡驱动的问题会造成各种奇奇怪怪的问题,我把我所遇到的列一下:

  • U 盘启动的时候,直接卡在 Ubuntu 的加载页面。
  • 安装的时候,直接卡在安装界面。
  • 输入密码登录系统的时候,直接卡在登录页面。
  • 登录的时候,需要输入无数次密码,数字键都快被我摁爆了,仍然进不去。
  • 点击 Ubuntu Setting 直接卡住,什么操作都做不了。
  • 无法接外显,外显一丢丢内容都不显示

上面的问题基本上都是 N 卡驱动的问题所造成的,所以在给笔记本安装 Ubuntu 之前需要有点心里准备,显卡驱动问题找找资料,折腾折腾,整个两三天都是有可能的。如果仅仅只是想体验一下 Ubuntu,个人还是建议使用虚拟机安装 Ubuntu,或者使用 Win10 的 Linux 子系统。

一般来说,显卡驱动主机会比笔记本好弄一些。

安装准备

安装驱动之前,请确保你安装 Ubuntu 的时候是选择自动登录。所谓的自动登录就是无需输入登录密码,直接进入到系统。

这样做的主要原因是为了防止出现输入密码后,直接卡在登录页面。又或者出现重复输入密码,但是无法进入系统的情况。

安装

通过 Software & Updates 安装

这种方式是最简单的,最省心的。反正我不爱折腾显卡驱动,所以比较喜欢这种方式。

搜索 Software,并打开 Software & Updates。

Ubuntu 18.04 显卡驱动安装 - 图1

进入 Software & Updates 之后,点击 Additional Drivers。选择其中一个显卡驱动,并点击 Apply Changes 按钮即可。

Ubuntu 18.04 显卡驱动安装 - 图2

通过 PPA 安装

  1. 进入 BIOS 中将 secure boot 设置为 disable。
  2. 进入 Ubuntu,打开终端,添加 ppa:graphics-drivers/ppa repository。
  1. $ sudo add-apt-repository ppa:graphics-drivers/ppa
  2. $ sudo apt update
  1. sudo ubuntu-drivers autoinstall
  1. 自动安装合适的显卡驱动。
  1. 重启系统。

通过 PPA 安装有个问题,就是只要经过 Software Updater 更新 software 之后,显卡驱动就会出现问题。猜测应该是跟 Linux 内核更新有关。猜测的主要依据为 Install NVIDIA Driver and CUDA 这篇文章中提到,通过 apt-get 的方式去安装驱动,每次 Linux 内核更新的时候,NVIDIA 驱动都需要重新安装。

官方驱动文件进行安装

通过官网驱动文件安装驱动文件相对于前面所提到的两种方法要繁琐一些。

下载官方驱动文件

Nvidia 官网

由于我已经通过 Software & Updates 的方式安装了,所以我下面的截图仅仅只是作为记录。

打开官网,点击 GEFORCE 驱动程序:

Ubuntu 18.04 显卡驱动安装 - 图3

我个人的笔记本 Nvidia 显卡是 GTX 1050,因此我填写了下面的信息,以便查找合适的显卡:

Ubuntu 18.04 显卡驱动安装 - 图4

点击搜索之后,会出现下面的结果:

Ubuntu 18.04 显卡驱动安装 - 图5

挑选一个,转跳到对应的页面进行下载即可:

Ubuntu 18.04 显卡驱动安装 - 图6

安装依赖

run 文件需要依赖一些软件,Ubuntu 的话安装下面的软件就足够了:

  1. build-essential:用于构建驱动程序
  2. (可选)gcc-multilib:提供 32-bit 支持
  3. dkms:提供 dkms 支持
  4. (可选)xorg 和 xorg-dev:一般来说都是已经安装好了的,因为你在用图形界面嘛。

综上所述,执行下面的命令即可安装所有的依赖:

  1. sudo apt-get install build-essential gcc-multilib dkms

将 Nouveau Driver 加入黑名单

在 /etc/modprobe.d/ 下创建 blacklist-nouveau.conf 文件,文件中的内容如下:

  1. blacklist nouveau
  2. options nouveau modeset=0

创建完 blacklist-nouveau.conf 文件之后执行:

  1. sudo update-initramfs -u

最后重启系统即可。

关闭 lightdm/gdm/kdm

重启完系统之后,需要关闭 desktop manager。如果桌面环境是 GNOME 的话,则 desktop manager 是 gdm。如果桌面环境是 KDE 的话,则 desktop manager 是 kdm。

Ubuntu 18.04 的桌面环境是 GNOME,则执行:

  1. sudo service gdm stop

执行 run 文件

从官网下载驱动的安装文件,将会得到一个 .run 文件,这个文件是没有执行权限的,所以需要使用下面的命令添加执行权限:

  1. chmod +x ./xxx.run

xxx 替换成你下载的文件名即可。

随后执行 ./xxx.run ,随后的操作根据下面几张截图进行操作即可:

Ubuntu 18.04 显卡驱动安装 - 图7

Ubuntu 18.04 显卡驱动安装 - 图8

显卡驱动卸载

卸载通过 PPA 方式安装的显卡驱动

如果之前曾通过 PPA 安装过 Nvidia 的显卡驱动请进行下面的步骤:

  1. 清除与 NVIDIA 相关的应用。
  1. sudo apt purge nvidia*
  2. # some interactive operations
  3. sudo apt autoremove
  4. # some interactive operations
  1. 检查其余与 NVIDIA 相关的 packages。
  1. dpkg -l | grep nvidia

如果这些 packages 存在,则手动删除。

  1. sudo dpkg -P <package_name>
  1. 重启
  1. reboot

卸载通过手动方式安装的显卡驱动

执行之前手动安装显卡的官方 .run 文件,并添加 --uninstall 参数

  1. sudo ./XXX.run --uninstall

参考资料