【记录】ubuntu20.04安装nvidia显卡驱动

news2025/1/11 7:03:40

新安装的Ubuntu20.04系统,如果想进行人工智能相关的学习,需要配置一系列的环境,这里我记录下具体的安装过程。

Nvidia显卡驱动的安装

1 安装前需要安装依赖(必须执行)
sudo apt-get update #更新软件列表
#安装编译依赖
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make
2 查看自己的GPU型号,这个如果自己知道,其实没必要,如果不确定,可以用下面的命令进行查看
lspci | grep -Ei '(vga|display)' 
或者 
lspci | grep -i nvidia 
或者 
lspci | grep -i vga
3 Nvidia官网下载对应驱动

进入官网下载
打开页面后,按照自己的GPU型号和系统去选择就好,我这个是Ubuntu系统,所以选择Linux 64-bit
在这里插入图片描述
下载后得到xxx.run文件(如:NVIDIA-Linux-x86_64-515.65.01.run),注意存放路径不要有中文

4 在安装驱动之前,先将之前已经安装过与Nvidia相关的内容删除
sudo apt-get remove --purge nvidia*
5 禁用nouveau

首先明确:nouveau是通用的驱动程序,在安装NVIDIA驱动以前需要禁止系统自带显卡驱动nouveau:可以先通过指令:

lsmod | grep nouveau

查看nouveau驱动的启用情况,如果有输出表示nouveau驱动正在工作,如果没有内容输出则表示已经禁用了nouveau。
如果nouveau驱动尚未禁用,需要进一步设置禁用

sudo gedit /etc/modprobe.d/blacklist.conf   
# 或者(blacklist-nouveau.conf)

在打开的blacklist.conf末尾添加如下,保存文本关闭

blacklist nouveau
options nouveau modeset=0
6 在终端输入如下内容,进行更新,更新结束后重启电脑(必须)
sudo update-initramfs -u
# 然后电脑重启系统
sudo reboot

再次检查 nouveau 是否已经禁用,没有输出说明已经禁用了

lsmod | grep nouveau
7 安装lightdm (Ubuntu20以上可以不装)

这一步也可以不安装lightdm,使用ubuntu20.04、22.04自带的gdm3显示管理器,直观的区别就是gdm3的登陆窗口在显示器正中间,而lightdm登录窗口在偏左边,正常使用没有区别。其他的区别这里不做探究;
如果想要装,可以输入下面的命令:

sudo apt-get install lightdm

(要注意的是,如果你有控制多屏显示的需要,gdm3可能更适合你,亲测使用lightdm设置多屏,可能会出现卡屏,死机,无法动弹情况,仅供参考)

8.停止当前的显示服务器,准备安装驱动

为了安装新的Nvidia驱动程序,需要停止当前的显示服务器。最简单的方法是使用telinit命令更改为运行级别3。在终端输入以下linux命令后,显示服务器将停止。
(如果进不去,就按Ctrl + Alt + F2~F6中的一个 (分别对应进入tty2~tty6))(必须)

sudo telinit 3

然后就弹出了下面的命令行了:
在这里插入图片描述

在文本界面中,禁用X-window服务,在终端输入(必须)
(如果是默认的gdm3显示管理器,命令为sudo /etc/init.d/gdm3 stop)

sudo /etc/init.d/gdm3 stop
或者
sudo /etc/init.d/lightdm stop
或者
sudo service lightdm stop
9 安装CUDA驱动

第二句命令的参数介绍:
–no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数我亲测台式机不加没问题,笔记本不加有可能出现循环登录,也就是loop login。

sudo chmod 777 NVIDIA-Linux-x86_64-*.run   #给你下载的驱动赋予可执行权限,才可以安装
sudo ./NVIDIA-Linux-x86_64-*.run –no-opengl-files   #安装

在这里插入图片描述
一路默认即可
在这里插入图片描述
在这里插入图片描述

10 安装完成后重启界面显示服务

安装结束后输入sudo service lightdm start 或者 sudo service gdm3 start 重启x-window服务,即可自动进入登陆界面。
不行的话,输入sudo reboot重启。
如果重启后不行,尝试在bios中去掉安全启动设置,改成 secure boot:disable
在这里插入图片描述

11 打开终端输入 nvidia-smi 既可看到下图,说明已经安装成功了。安装的驱动支持的CUDA最高版本为11.7,即安装CUDA的版本不能超过11.7。

在这里插入图片描述
【以上是安装Nvidia显卡驱动过程,有点困了,先休息了, 明天继续把CUDA和cuDNN等的安装记录下】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/94870.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python urllib CRLF注入漏洞小结

Python urllib CRLF注入漏洞小结 CVE-2016-5699 https://www.suse.com/security/cve/CVE-2016-5699.html before 2.7.10 and 3.x before 3.4.4POC: http://127.0.0.1%0d%0aX-injected:%20header%0d%0ax-leftover:%20:12345/foo漏洞&patch源码:http…

音视频大合集最终篇;学废了

前言 加企鹅群:1079654574 解锁 《音视频八大板块资料》音视频大合集,从初中高到面试应有尽有;让学习更贴近未来实战。已形成PDF版 八个模块内容如下: 1.音视频基础2.FFmpeg实战3.流媒体客户端4.流媒体服务器5.WebRTC项目实战6.Android NDK开…

零时 || 警惕恶意聊天软件!聊天记录被劫持损失数千万资产追踪分析

事件背景 近期,零时科技安全团队收到大量用户因为同一个原因导致加密资产被盗的情况,经调查都是因为过程中使用了恶意Whatsapp的原因,通过与受害者沟通,了解到情况如下: 受害者在使用恶意Whatsapp进行沟通时&#xf…

173. 二叉搜索树迭代器

实现一个二叉搜索树迭代器类BSTIterator ,表示一个按中序遍历二叉搜索树(BST)的迭代器: BSTIterator(TreeNode root) 初始化 BSTIterator 类的一个对象。BST 的根节点 root 会作为构造函数的一部分给出。指针应初始化为一个不存在…

STM32F4 | PWM输出实验

文章目录一、PWM 简介二、硬件设计三、软件设计四、实验现象五、STM32CubeMX 配置定时器 PWM 输出功能上一章,我们介绍了 STM32F429 的通用定时器 TIM3,用该定时器的中断来控制 DS1 的闪烁,这一章,我们将向大家介绍如何使用 S…

CososCreator (Android)-AppLovin MAX 广告聚合平台接入+Firebase统计

CososCreator 2.2.4 Android Studio :4.2.1 接入SDK有:接max聚合及中介平台(Admob,FB, applovin,pangle,mintegral,vungle,unity),和Firebase 统计 1、构建Android工程 2、升级gr…

计算机SSM毕设推荐 40个高质量软件工程毕设项目分享【源码+论文】(一)

文章目录前言 题目1 : 基于SSM的毕业设计管理系统 <br /> 题目2 : 基于SSM的病人跟踪治疗信息管理系统 <br /> 题目3 : 基于SSM的大学生兼职跟踪系统 <br /> 题目4 : 基于SSM的大学生企业推荐系统 <br /> 题目5 : 基于SSM的电影院在线售票系统 <br …

电感和磁珠的区别

电感和磁珠在我们电路设计中经常会用到&#xff0c;他们都属于磁性元器件&#xff0c;今天就来分享下电感和磁珠的区别 1.从构成原理来看 电感其实就是导线这样一圈一圈绕在磁芯上&#xff0c;这样就构成了电感&#xff0c;而磁珠(插件)的话则是导线外围包裹着一层铁氧体磁性材…

Linux中磁盘存储相关命令

du 命令 Linux du命令也是查看使用空间的&#xff0c;但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看&#xff0c;还是和df命令有一些区别的. **1&#xff0e;**命令格式&#xff1a; du [选项][文件] **2&#xff0e;**命令功能&#xff1a; 显示每…

javaHelloWorld

java语言介绍 ​ 目前大系统开发中&#xff0c;很少使用单一语言进行开发&#xff0c;现有语言也十分发达&#xff0c;包含Java\C\C\PHP\Python等等。通常情况下&#xff0c;一个大系统底层驱动部分都是使用C语言开发&#xff0c;而在上层用户交互层使用java语言开发。因此&am…

新型材料厂电动葫芦PLC无线通讯应用方案详解

一&#xff0e;应用背景 电动葫芦是一种安装在天车、龙门吊之上的特种起重设备&#xff0c;具有体积小&#xff0c;自重轻&#xff0c;操作简单&#xff0c;使用方便等特点&#xff0c;是起升搬运物品&#xff0c;最理想的起重设备之一。目前电动葫芦的控制部分都是由PLC完成的…

【Spring Cloud】Ribbon负载均衡原理与实战(源码级讲解)

本期目录1. 负载均衡原理1.1 总体流程1.2 源码解析2. 负载均衡策略2.1 负载均衡策略继承关系2.2 负载均衡策略描述1&#xff09;ZoneAvoidanceRule2&#xff09;AvailabilityFilteringRule2.3 修改负载均衡策略方式1&#xff09;全局修改2&#xff09;局部修改3. 饥饿加载3.1 背…

使用VackBAS攻击模拟平台对抗勒索病毒

勒索病毒是一种恶意软件&#xff0c;它可以从一台主机直接感染到整个网络&#xff08;包括服务器&#xff09;并加密磁盘上的任何文件和文档&#xff0c;勒索软件会要求受害者缴纳赎金以取回对电脑的控制权&#xff0c;或取回受害者根本无从自行获取的密钥去解密文件。勒索病毒…

jsp+ssm计算机毕业设计宠物店管理系统【附源码】

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JSPSSM mybatis Maven等等组成&#xff0c;B/S模式 Mave…

数论的一些小小的性质总结

gcd的一些套路&#xff1a; 1.设一些未知数&#xff0c;设gcd为k&#xff0c;换个角度去看问题&#xff0c;比如去枚举倍数 2.一堆数的gcd为1&#xff0c;等价于它们所有数的因子重合小于n&#xff1b;两个数的gcd1&#xff0c;它们的因子之间没有重合 3.相邻两数之间gcd1&a…

SpringMVC:SpringMVC请求映射路径(3)

SpringMvc请求路径1. 环境准备2. 问题提出3. 设置映射路径3.1 方法一&#xff1a;修改Controller3.2 方法二&#xff1a;优化路径配置1. 环境准备 项目结构 BookController类 public class BookController {RequestMapping("/save")ResponseBodypublic String save…

告别XML,Android新声明式UI框架《Jetpack Compose入门到精通》最全开发指南

什么是Jetpack Compose? Jetpack Compose是Android的新声明式UI框架。长期以来, Android 开发人员习惯于使用带有状态视图的xml编写UI,这些状态视图通过逐步浏览视图层次结构进行更新。使用Jetpack Compose, UI 是通过使用KotinQ 函数以无状态方式编写的。 可组合函数使用注…

大一学生HTML期末作业 【html体育排球5页面带注册】学生网页设计作业源码

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

RT-Thread Studio创建STM32WB55工程

STM32WB是ST推出的物联网标准无线连接SoC芯片&#xff0c;可支持BLE、ZigBee等标准协议&#xff0c;内置M4F和M0双内核&#xff0c;其中M0主要运行底层协议栈&#xff0c;而M4F则可以用于应用的开发。 RT-Thread是国内目前比较成熟、比较成熟的物联网操作系统了&#xff0c;有…

C++ Reference: Standard C++ Library reference: Containers: map: map: crend

C官网参考链接&#xff1a;https://cplusplus.com/reference/map/map/crend/ 公有成员函数 <map> std::map::crend const_reverse_iterator crend() const noexcept;返回指向反向结束的const_reverse_iterator 返回一个const_reverse_iterator&#xff0c;指向容器中第…