0%

Ubuntu 18.04 禁用 nouveau 安装 NVIDIA 显卡驱动

准备工作

1)从 NVIDIA 官网下载对应显卡的驱动备用

https://www.nvidia.cn/Download/index.aspx?lang=cn

我下载的驱动是:NVIDIA-Linux-x86_64-410.93.run
安装环境:华硕笔记本 Ubuntu 18.04

注意
主板 BIOS 必须关闭安全启动 (Secure Boot),不然安装的 NVIDIA 驱动无法加载。
但此时,还是能正常进 Ubuntu 桌面,可能是此时使用的是 Intel 核显有关。

2)首次运行 NVIDIA 驱动

1
2
chmod +x NVIDIA-Linux-x86_64-410.93.run
sudo ./NVIDIA-Linux-x86_64-410.93.run

首次运行驱动程序,不会安装,因为系统中有 nouveau 驱动存在。
但是 NVIDIA-Linux-x86_64-410.93.run 会生成 /etc/modprobe.d/nvidia-installer-disable-nouveau.conf 文件。用于禁用系统自带的 nouveau 驱动。该文件内容如下:

1
2
3
4
$ cat /etc/modprobe.d/nvidia-installer-disable-nouveau.conf
# generated by nvidia-installer
blacklist nouveau
options nouveau modeset=0

3)使禁用生效

只有 blacklist 并不能真的禁用 nouveau 驱动。执行如下命令更新 initramfs:

1
sudo update-initramfs -u

然后,重启系统,禁用就成功了。执行如下命令验证:

1
2
# 输出结果为空说明已经禁用 nouveau 驱动
lsmod | grep nouveau

安装驱动

1)开始安装 NVIDIA 驱动

1
sudo ./NVIDIA-Linux-x86_64-410.93.run

安装完,重启系统

2)查看是否安装成功

运行如下命令:

1
2
3
4
5
# 运行下面命令查看显卡驱动部分,如果有 Kernel driver in use: nvidia 则成功
lspci -v

# 也可以运行如下命令,看看 nvidia 模块是否加载成功
lsmod | grep nvidia

测试

运行 glxgears,如果帧数远大于 60 FPS,说明 nvidia 驱动已在使用,因为 NVIDIA 驱动安装后,默认不会开启垂直同步。

1
2
sudo apt install mesa-utils
glxgears

最后,笔记本盒盖睡眠,再打开,没有黑屏,唤醒成功。

可选:开启垂直同步解决画面撕裂

安装完 NVIDIA 驱动后,默认不开启同步,有可能出现画面撕裂。解决办法如下。

1)在终端运行命令:

1
2
3
4
5
6
7
sudo vim /etc/modprobe.d/nvidia-drm-nomodeset.conf

# 加入如下一行
options nvidia-drm modeset=1

# 更新到 initramfs
sudo update-initramfs -u

重启系统。

2)重启系统后查看结果

1
2
# 下面命令应该是输出 "Y" 而不是 "N"
sudo cat /sys/module/nvidia_drm/parameters/modeset

3)设置 NVIDIA 驱动

终端运行命令 nvidia-settings 打开驱动设置窗口。
在窗口左侧选择 GPU 0-(xxx) –> PowerMizer –> 设置 PowerMizer SettingsPrefer Maximum Performance

4)让系统尽可能地使用物理内存而不是交换空间

1
2
3
4
5
sudo vim /etc/sysctl.conf

# 文末加入两行(默认值为 60):
# User defines
vm.swappiness=10

然后,重启系统。运行 cat /proc/sys/vm/swappiness 查看结果。

如果要卸载驱动

装完 NVIDIA 驱动后,如果要卸载,会有一个命令 nvidia-uninstall 用来卸载驱动。但是同时要删除文件 /etc/modprobe.d/nvidia-installer-disable-nouveau.conf 文件,然后运行 sudo update-initramfs -u,让 nouveau 驱动再次生效。

参考:
https://blog.csdn.net/u012442845/article/details/78855573
https://askubuntu.com/questions/1031511/cant-disable-nouveau-drivers-in-ubuntu-18-04
https://askubuntu.com/questions/1056363/how-to-disable-gui-on-boot-in-18-04-bionic-beaver
http://ubuntuhandbook.org/index.php/2018/07/fix-screen-tearing-ubuntu-18-04-optimus-laptops/