Ubuntu18.04 显卡驱动安装(解决各种疑难杂症)

步骤

  • 下载驱动
  • 准备工作
  • 进行安装
  • 检查安装

下载驱动

首先我们需要去官网下载显卡驱动

  1. 打开浏览器,在百度搜索框中搜索:显卡驱动 下载
  2. 手动搜索驱动程序一栏,根据自己的显卡进行选择
  3. 产品系列中,Notebooks代表笔记本使用的显卡驱动,30系的选择GeForce RTX30 Series操作系统选择Linux 64-bit,选择好之后点击 开始搜索
  4. 在下方驱动程序搜索结果中,选择适合自己的版本进行下载,本文选择的是 510.39

具体过程,如下面两个图所示:

Ubuntu18.04 显卡驱动安装(解决各种疑难杂症)

Ubuntu18.04 显卡驱动安装(解决各种疑难杂症)

准备工作

这部分就不放图了,直接输入命令即可

在安装显卡驱动前,我们需要做一些准备工作

  • 将Ubuntu自带的显卡驱动禁掉
  • 修改驱动安装文件的权限
  • 安装好所需要的的依赖

首先打开终端

输入命令:

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

在打开的blacklist.conf文件的最后一行,我们加入以下内容:

blacklist nouveau

保存并退出该文件,这样可以将Ubuntu自带的显卡驱动禁止

紧接着,我们需要让修改生效

sudo update-initramfs -u

为了方便待会的安装步骤,我们需要将下载的驱动修改为可执行文件

首先进入驱动所在的目录,我放在了Downloads目录

cd Downloads

然后我们修改驱动的权限

sudo chmod +x ./NVIDIA-Linux-x86_64-510.39.01.run

安装显卡驱动安装所需要的一些依赖

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev  
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev  
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

重启电脑

reboot

重启之后,我们进入到输入用户名密码界面,此时我们按住 Ctrl + ALT + F2,会进入命令行界面

如果此时出现◇乱码

解决办法:sudo gedit /etc/default/locate

将里面的LANG与LANGUAGE修改为:

LANG="en_US.UTF-8"
LANGUAGE="en_US:en"

在命令行界面,我们需要输入用户名、密码,自行输入

成功登录以后,如果事先已经安装过Ubuntu自带的驱动,需要将图形化桌面关掉(若没有安装过,可省略此步骤)

sudo service lightdm stop

找到我们驱动安装文件所在的目录

cd Downloads

输入命令进行安装

sudo ./NVIDIA-Linux-x86_64-510.39.01.run

安装过程

可能遇到的问题

由于显卡驱动在使用过程中也会有挂掉的情况,笔者安装过很多次,遇到了很多情况,在此先总结一下,可能遇到的问题,希望给大家带来一定的帮助,遇到此类问题的朋友也好直接找到办法去解决!

如果有没有提及的错误,也希望大家在评论区指出,一起交流

成功进入安装程序不代表一帆风顺,会遇到各种报错

  1. Error: the distribution-provided pre-install script failed.
  2. Error: Unable to find the development tool 'cc' in your path.
  3. Error: Unable to find the development tool 'make' in your path.
  4. Error: The kernel module failed to load. Secure boot is enabled on this system.
  5. The signed kernel module failed to load.
  6. Error: Unable to load the kernel module 'nvidia.ko'.
  7. Error: An NVIDIA kernel 'nvidia-drm' appears to already be loaded in your kernel.
  8. Error: An NVIDIA kernel module 'nvidia-modeset' appears to already be loaded in your kernel.
  9. WARNING: Unable to find a suitable destination to install 32-bit compatibility libraries.
  10. WARNING: Unable to determine the path to install the libglvnd EGL vendor library config files.

遇到了报错不要担心,正常情况,让我们逐一解决

解决方法

第一个错误,继续安装即可,这个错误只是确认你是否要安装这个驱动

第二个、第三个错误产生的原因是Ubuntu环境缺少所需要的依赖

解决:

sudo apt-get install gcc
sudo apt-get install make

第四个错误第五个错误产生的原因是BIOS没有关闭 Secure boot

解决:

  1. 重启电脑在主板信息界面,按F2Del进入BIOS界面
  2. F7进入高级设置菜单
  3. 在菜单栏中点击进入启动分页
  4. 快速启动设置为 Disabled
  5. 点击 安全启动菜单
  6. 操作系统类型如果是双系统依旧保持UEFI模式,如果不是双系统,设置为其他操作系统
  7. 点击 密钥管理
  8. 点击 清除安全启动密钥,再点击确认清除
  9. 保存设置并退出

第六个错误,证明准备工作没有做好

  1. 输入命令reboot重启电脑
  2. 在用户登录界面,按 Alt + Ctrl + F2 进入命令行
  3. 输入命令:sudo systemctl isolate multi-user.target进入无窗口界面
  4. 输入用户名与密码进行登录
  5. 输入命令:sudo modprobe -r nvidia_drmsudo modprobe -r nvidia_modeset
  6. 重新进入驱动安装
  7. 退出无窗口界面:sudo systemctl start graphical.target

第七个错误第八个错误,首先要确保关闭了Secure Boot,然后删除已经安装的显卡驱动:

sudo apt-get purge nvidia*
sudo apt-get autoremove
sudo reboot

再到第六个错误的部分解决准备工作的问题

最后两个警告,不影响安装,如果有需要,可以自己安装需要的依赖

安装时的选项

不放图了,选择基本如下,自行对号入座:

Q:The distribution-provided pre-install script failed! Are you sure you want to continue?
>>> yes
Q:Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?
>>> No
Q:Would you like to sign the NVIDIA kernel module?
>>> Install without signing
Q:Nvidia’s 32-bit compatibility libraries? 
>>> No
Q:Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.
>>> Yes

检查安装情况

重启电脑之后,打开终端,输入命令:

sudo nvidia-smi

看看是否成功输出显卡信息、显存使用信息以及驱动版本信息

如下所示:

Ubuntu18.04 显卡驱动安装(解决各种疑难杂症)

自此,显卡驱动就算安装完成

上一篇:Flask Http请求 - 上下文 、请求钩子


下一篇:毕业设计|Python实现学生教师刷脸签到系统