Ubuntu 18.04 安装NVIDIA显卡驱动教程

news/2024/10/17 17:16:28/

写在前面

Ubuntu安装NVIDIA显卡驱动时遇到了一个比较大的问题,参考了几位博主的成果,成功安装好了驱动(只能说这独显没有浪费哈哈哈)。

下面就把整个过程记述下来,以供大家一起参考。

 0. 准备工作

  1. 禁用BIOS中的secure boot,因为此方法使用第三方源安装显卡驱动,不禁止secure boot会导致安装的驱动不能使用,禁用也不会有多大安全隐患。
  2. 禁用nouveau,这是ubuntu默认使用的开源显卡驱动,和nvidia驱动一起使用可能导致黑屏,所以禁掉。

1. 禁用nouveau

    创建下面文件:

$ sudo vim /etc/modprobe.d/blacklist-nouveau.conf

 在文件内插入以下内容:

blacklist nouveau
options nouveau modeset=0

执行以下命令使禁用生效并且重启:

$ sudo update-initramfs -u
$ sudo reboot

 重启后可以验证是否生效:

$ lsmod | grep nouveau

若没有输出,则禁用生效。

 2. 禁用X-Window服务

注意:以下操作会关闭图形界面,如果你正在需要安装驱动的电脑上查看当前博客,下面的命令会导致你无法继续查看其他步骤,所以到这一步后请在其他设备上打开本博客进行操作参考

$ sudo service lightdm stop # 这会关闭图形界面

Ctrl-Alt+F1 进入命令行界面,输入用户名和密码登录命令行界面。

注意:在命令行输入:sudo service lightdm start ,然后按Ctrl-Alt+F7即可恢复到图形界面。

3. 安装显卡驱动

首先完全卸载以前安装的显卡驱动:

如果以前是通过ppa源安装的,可以通过下面命令卸载:

$ sudo apt-get remove --purge nvidia*

如果以前是通过runfile安装的,可以通过下面命令卸载:

$ sudo ./NVIDIA-Linux-x86_64-384.59.run --uninstall

安装显卡驱动的方式有很多,这里介绍其中最简单的方法——ppa源安装驱动

# 添加驱动源
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update

在官网查看驱动版本:

点击右下角绿色的 SEARCH 按钮

可以看到,我的显卡版本为:390.77

再通过命令行安装驱动:

# 使用TAB键查看能安装的驱动版本号
$ sudo apt install nvidia-3 # 3后面加<TAB>以提示可以安装的内容
nvidia-304              nvidia-340-updates      nvidia-361
nvidia-304-dev          nvidia-340-updates-dev  nvidia-361-dev
nvidia-304-updates      nvidia-340-updates-uvm  nvidia-361-updates
nvidia-304-updates-dev  nvidia-340-uvm          nvidia-361-updates-dev
nvidia-331              nvidia-346              nvidia-367
nvidia-331-dev          nvidia-346-dev          nvidia-367-dev
nvidia-331-updates      nvidia-346-updates      nvidia-375
nvidia-331-updates-dev  nvidia-346-updates-dev  nvidia-375-dev
nvidia-331-updates-uvm  nvidia-352              nvidia-384
nvidia-331-uvm          nvidia-352-dev          nvidia-384-dev
nvidia-340              nvidia-352-updates      
nvidia-340-dev          nvidia-352-updates-dev
#这里建议大家不要安装最新版本驱动,可能存在不兼容的错误
$ sudo apt install nvidia-375
$ sudo apt-get install mesa-common-dev

如果前面没有禁用secure boot,则在安装过程中会提示设置一个密码,在重启时需要输入密码验证以禁用secure boot。(这一步往往被忽略而导致安装失败!强烈建议提前在bios中禁用secure boot)

安装完成后重启:

$ sudo reboot

注意:如果前面没有禁用secure booot,重启后会出现蓝屏,这时候不能直接选择continue,而应该按下按键,选择Enroll MOK, 确认后在下一个选项中选择continue,接着输入安装驱动时设置的密码,开机。

最后在终端验证是否安装成功

$ nvidia-smi #如果出现GPU列表,则驱动安装成功

4. 可能踩到的坑

    1. 安装完成后重启黑屏

比如在ubuntu16.04下安装nvidia-430就会出现这种情况,具体原因可能是系统版本和驱动版本不匹配,需要卸载该驱动并安装更低版本(如nvidia-418).具体可参考: Ubuntu16.04:安装nvidia驱动430的各种坑_遇见一只执着的猴子的博客-CSDN博客_nvidia-430

 所以平时安装是不建议大家选择最新版本的,且显卡驱动最好少更新。

5. 附录

cuda 安装官方教程:Installation Guide Linux :: CUDA Toolkit Documentation

cudnn 安装官方教程:Installation Guide :: NVIDIA Deep Learning cuDNN Documentation


http://www.ppmy.cn/news/386855.html

相关文章

【框架源码】Spring源码解析之Bean创建源码流程

问题&#xff1a;Spring中是如何初始化单例bean的&#xff1f; 我们都知道Spring解析xml文件描述成BeanDefinition&#xff0c;解析BeanDefinition最后创建Bean将Bean放入单例池中&#xff0c;那么Spring在创建Bean的这个过程都做了什么。 Spring核心方法refresh()中最最重要…

Question Log

Question Log 提示&#xff1a;记录一下平常遇到的坑 Question Log&#xff08;★ &#xff1e; &#xff09; Question LogⅠ、★ &#xff1e; 使用VsCode构建Unity开发环境1.环境配置2.遇到的相关问题★.The .NET Core SDK cannot be located: A valid dotnet installation …

java两个数组合并为一个数组

1、int[]数组 int[] a {1,2,6}; int[] b {7,8,9}; 合并结果为&#xff1a; [1, 2, 6, 7, 8, 9] 2、String[]数组 String[] a {"阿","java","so","easy"}; String[] b {"is","very","good"}; 合并…

[CSP-S 2022] 策略游戏

[CSP-S 2022] 策略游戏 题目描述: 小 L 和小 Q 在玩一个策略游戏。 有一个长度为 n 的数组 A 和一个长度为 m 的数组 B&#xff0c;在此基础上定义一个大小为 nm 的矩阵 C&#xff0c;满足 Cij​Ai​Bj​。所有下标均从 1 开始。 游戏一共会进行 q 轮&#xff0c;在每一轮游…

Spring框架有哪些主要模块?分别有哪些作用

Spring框架有以下主要模块&#xff1a; Spring Core&#xff1a;Core封装包是框架的最基础部分&#xff0c;提供IOC和依赖注入特性。这里的基础概念是BeanFactory&#xff0c;它提供对Factory模式的经典实现来消除对程序性单例模式的需要&#xff0c;并真正地允许你从程序逻辑…

9550电机_扭矩公式9550是什么 电机扭矩计算公式T=9550P/n怎么算

1, 电机扭矩计算公式T9550P/n怎么算 针对你的问题有公式可参照分析&#xff1a;电机功率&#xff1a;P1.732*U*I*cosφ电机转矩&#xff1a;T9549*P/n ; 电机功率 转矩9550*输出功率/输出转速 转矩9550*输出功率/输出转速P T*n/9550公式推导电机功率&#xff0c;转矩&#xff…

androidstudio adb突然抽风的各种问题

今天是个阳光明媚的好日子&#xff0c;我带好红领巾背上小书包高高兴兴去上班&#xff0c;用androidstudio运行程序后&#xff0c;发现logcat查看日志区不能选择已部署app的applicationId&#xff0c;昨天还好使&#xff0c;咋今天就不好使了 咋地都没有&#xff0c;看整个手机…

[数据分析与可视化] Python绘制数据地图2-GeoPandas地图可视化

本文主要介绍GeoPandas结合matplotlib实现地图的基础可视化。GeoPandas是一个Python开源项目&#xff0c;旨在提供丰富而简单的地理空间数据处理接口。GeoPandas扩展了Pandas的数据类型&#xff0c;并使用matplotlib进行绘图。GeoPandas官方仓库地址为&#xff1a;GeoPandas。G…