准备工作
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 | chmod +x 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 | $ cat /etc/modprobe.d/nvidia-installer-disable-nouveau.conf |
3)使禁用生效
只有 blacklist 并不能真的禁用 nouveau 驱动。执行如下命令更新 initramfs:
1 | sudo update-initramfs -u |
然后,重启系统,禁用就成功了。执行如下命令验证:
1 | # 输出结果为空说明已经禁用 nouveau 驱动 |
安装驱动
1)开始安装 NVIDIA 驱动
1 | sudo ./NVIDIA-Linux-x86_64-410.93.run |
安装完,重启系统
2)查看是否安装成功
运行如下命令:
1 | # 运行下面命令查看显卡驱动部分,如果有 Kernel driver in use: nvidia 则成功 |
测试
运行 glxgears
,如果帧数远大于 60 FPS,说明 nvidia 驱动已在使用,因为 NVIDIA 驱动安装后,默认不会开启垂直同步。
1 | sudo apt install mesa-utils |
最后,笔记本盒盖睡眠,再打开,没有黑屏,唤醒成功。
可选:开启垂直同步解决画面撕裂
安装完 NVIDIA 驱动后,默认不开启同步,有可能出现画面撕裂。解决办法如下。
1)在终端运行命令:
1 | sudo vim /etc/modprobe.d/nvidia-drm-nomodeset.conf |
重启系统。
2)重启系统后查看结果
1 | # 下面命令应该是输出 "Y" 而不是 "N" |
3)设置 NVIDIA 驱动
终端运行命令 nvidia-settings
打开驱动设置窗口。
在窗口左侧选择 GPU 0-(xxx)
–> PowerMizer
–> 设置 PowerMizer Settings
为 Prefer Maximum Performance
。
4)让系统尽可能地使用物理内存而不是交换空间
1 | sudo vim /etc/sysctl.conf |
然后,重启系统。运行 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/