本章简答讲述下如何在Ubuntu中驱动nvidia显卡

1 卸载以前的NVIDIA驱动

如果之前在Linux中安装过NVIDIA驱动的话,请将其全部删除

sudo apt autoremove nvidia

2 禁用nouveau

2.1 什么是nouveau驱动?

nouveau,是一个自由及开放源代码显卡驱动程序,是为Nvidia的显示卡所编写,也可用于属于系统芯片的NVIDIA Tegra系列,此驱动程序是由一群独立的软件工程师所编写,Nvidia的员工也提供了少许帮助。

该项目的目标为利用逆向工程Nvidia的专有Linux驱动程序来创造一个开放源代码的驱动程序,因此nouveau开源驱动基本上是不能正常使用的,性能极低。在安装Nivdia驱动时要手工禁止nouveau。

终端执行以下命令修改文件。

sudo vi /etc/modprobe.d/blacklist.conf

以下内容复制到文件中

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

保存退出。其中,blacklist nouveau是禁用nouveau第三方驱动,之后不需要改回来
由于nouveau是构建在内核中的,所以要执行下面命令生效:

sudo update-initramfs -u

重启

reboot

重启后查看nouveau有没有运行,没输出代表禁用生效

lsmod | grep nouveau  

3 驱动安装

Nvidia驱动有几种安装方式,其中自己实现过几种,下面就分别讲解。

3.1 使用标准仓库进行自动化安装

在安装的发行版中,如 ubuntu, Linux Mint等,找到附加驱动管理软件,下面是Ubuntu界面:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GMxpNAyt-1645148511028)(https://note.youdao.com/yws/api/personal/file/WEBa0b717990b524a635361154523bd38a0?method=getImage&version=1994&cstk=FgMz45h7)]
选择推荐的驱动安装,点击应用更改,等待下载然后重启即可。

缺点:

  • 如果你的显卡比较新可能会出现安装低版本的NVIDIA驱动而造成即可安装完成,但是并没有真正安装成功,可能会出现循环登录,关机死机等等原因。
  • 当你更换驱动的时候可能原有的NVIDIA驱动删除不干净。

优点:

  • 不需要手动禁止nouveau
  • 操作方便

3.2 命令行的方式安装

通过命令行方式安装的是Nvidia提供的闭源驱动

3.2.1 关闭图形界面

安装Nvidia驱动程序时,需要停止当前的图形界面。
使用快捷键CTRL+ALT+F2进入超级终端,登录账号,并关闭图形界面:

sudo service lightdm stop

3.2.2 安装nvidia-settings

sudo apt update
sudo apt install nvidia-settings

3.2.3 安装nvidia驱动

sudo apt install nvidia-driver

这种方式安装其实就是ubuntu官方源的命令行版本,你可以选择不同的驱动版本来安装,但是本质上和标准仓库进行自动化安装是一样的。使用ubuntu-drivers的结果和图形界面显示一致:

(base) pang@pang-HP:~$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.1/0000:01:00.0 ==
modalias : pci:v000010DEd00001FBAsv0000103Csd00008911bc03sc00i00
vendor   : NVIDIA Corporation
driver   : nvidia-driver-470 - distro non-free recommended
driver   : nvidia-driver-460-server - distro non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-495 - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

4 手动驱动安装

此种方式是最正规,最原始的的方式,当然难度是最高的。

4.1 查看当前电脑的显卡型号

(base) pang@pang-HP:~$ lshw -numeric -C display
WARNING: you should run this program as super-user.
  *-display                 
       description: VGA compatible controller
       product: TU117GLM [T600 Mobile] [10DE:1FBA]
       vendor: NVIDIA Corporation [10DE]
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: vga_contro

4.2 下载驱动

进入NVIDIA官网下载Linux驱动:NVIDIA官网驱动下载
找到对应驱动后下载,记住下载位置。
显卡驱动位置

4.3 删除原有的NVIDIA驱动程序

如果你没有安装过,或者已经卸载,可以忽略:

sudo apt-get remove –purge nvidia*

4.4 bios禁用禁用secure boot,也就是设置为disable

如果没有禁用secure boot,会导致NVIDIA驱动安装失败,或者不正常。

4.5 禁用nouveau

打开编辑配置文件:

sudo gedit /etc/modprobe.d/blacklist.conf

在最后一行添加:

blacklist nouveau

这一条的含义是禁用nouveau第三方驱动,之后也不需要改回来。

由于nouveau是构建在内核中的,所以要执行下面命令生效:

sudo update-initramfs -u

4.6 重启

reboot

重启之后,可以查看nouveau有没有运行:

lsmod | grep nouveau  # 没输出代表禁用生效

4.7 停止可视化桌面

为了安装新的Nvidia驱动程序,我们需要停止当前的显示服务器。最简单的方法是使用telinit命令更改为运行级别3。执行以下linux命令后,显示服务器将停止,因此请确保在继续之前保存所有当前工作(如果有):

sudo telinit 3

之后会进入一个新的命令行会话,使用当前的用户名密码登录

4.8 安装驱动

给驱动文件增加可执行权限:

sudo chmod a+x NVIDIA-Linux-x86_64-460.48.run

然后执行安装:

sudo sh ./NVIDIA-Linux-x86_64-460.48.run --no-opengl-files

安装完成后重启即可,记得验证是否安装成功,参考前面所讲。–no-opengl-files参数必须加否则会循环登录,也就是loop login

参数介绍:

  • –no-opengl-files只安装驱动文件,不安装OpenGL文件。这个参数最重要
  • –no-x-check 安装驱动时不检查X服务
  • –no-nouveau-check 安装驱动时不检查nouveau

5 检测NVIDIA驱动是否成功安装

5.1 使用nvidia-settings命令

nvidia-settings

终端执行这个命令会调出NVIDIA的驱动管理程序,如下:
image.png

这里可以看到NVIDIA驱动版本:460.91.03

5.2 使用nvidia-smi命令

英伟达系统管理接口(NVIDIA System Management Interface, 简称 nvidia-smi)是基于NVIDIA Management Library 的命令行管理组件,旨在帮助管理和监控NVIDIA GPU设备。

nvidia-smi

执行这条命令将会打印出当前系统安装的NVIDIA驱动信息,如下:
image.png
可以看到我的独立显卡型号T600以及其他信息。

5.3 命令行搜索集显和独显

lspci | grep VGA     # 查看集成显卡
lspci | grep NVIDIA  # 查看NVIDIA显卡

6 集显与独显切换

6.1 nvidia命令

NVIDIA提供了一个切换显卡的命令:

sudo prime-select nvidia # 切换nvidia显卡
sudo prime-select intel  # 切换intel显卡
sudo prime-select query  # 查看当前使用的显卡

切换后要重启才能生效

6.2 使用nvidia-setting切换

终端执行nvidia-setting,在弹的界面中选择独显与集显:
image.png

6.3 其他命令

参考文章中大佬的dde-dock-switch_graphics_card尝试了,没能和集显切换,切换后,直接无法登录了。(好像集显没驱动成功,待研究!!!!)

笔记本外出时使用集显可以节省电量,增长待机时间。
可以使用插件:dde-dock-switch_graphics_card
Github:https://github.com/zty199/dde-dock-switch_graphics_card
安装后可以方便地在dock栏切换显卡

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐