笔记80:在 Ubuntu 中安装显卡驱动

一、关于显卡的两个基本概念 -- 显卡驱动 / 显卡BIOS

(1)什么是BIOS

  • BIOS的作用:BIOS是电脑上电开机时加载进内存的第一个程序,CPU会执行他进行系统自检,然后通过其中的指令加载操作系统;例如主板BIOS,会先对各种电脑硬件进行自检,然后加载Windows操作系统;
  • 需要注意的是:你能够在主板BIOS中看到CPU信息、内存信息、南北桥信息、硬盘(SATA)信息、光驱(IDE)信息、集成显卡等几乎所有硬件信息,却看不到独立显卡的信息;这是因为独显并不受主板BIOS控制,显卡内部有自己的BIOS;显卡BIOS的作用和主板BIOS是一样的,只不过显卡BIOS只控制显卡,主板BIOS则负责控制其他硬件;

主板BIOS的作用:

(1)除了独立显卡外的各种硬件的自检;

(2)启动操作系统;

(3)使用操作系统作为平台(链接软件和硬件的平台)加载各个硬件的驱动;

(4)进而使电脑可通过操作系统上的驱动程序,来指挥各个硬件的工作;

显卡BIOS的作用:

(1)对独立显卡进行自检;

(2)启动仅针对于这个独立显卡的 “操作系统”;

(3)使用该 “操作系统” 作为平台加载显卡驱动;

(4)进而使电脑可通过 “操作系统” 上的显卡驱动,来指挥独立显卡的工作;

(2)什么是显卡BIOS

  • 显卡BIOS是存储在显卡电路板上某个芯片里的程序,这个程序只提供了最基础的输入输出功能,他不依赖任何的操作系统,这个BIOS会在电脑刚上电,操作系统还没有启动的时候就被载入电脑内存,我们在进入操作系统之前就出现的桌面就是显卡BIOS在启动的时候提供的;
  • 既然有了BIOS可以提供显示功能,那为什么还要搞个驱动程序出来?因为这个BIOS只提供了最基础的显示功能,甚至不支持高分辨率,只能提供最基础的VGA标准(640*480)/SVGA标准(800*600);而且不连接显卡驱动,就无法使用很多针对独显开发的一系列强大的功能;

(3)那 nouveau 是啥?

  • nvidia 不仅给 windows 操作系统提供了独显驱动,也给 Linux 提供了独显驱动,但这个驱动都是闭源的;
  • 本来在开机的时候是使用显卡BIOS进行图形输出(这个时候操作系统都还没有启动,显卡驱动更没有启动了);
  • 但是一些 Linux 大佬觉得使用显卡BIOS(内核显示驱动)进行最开始的图形显示太垃圾了,所以想提前加载显卡驱动,即电脑上电之后不执行独显内部提供的显卡BIOS,而是直接使用第三方开发的BIOS直接启动显卡驱动,进行开机动画显示;但是 nvidia 拒绝了,所以大佬们对显卡驱动进行了逆向,做成了一个第三方驱动,命名为 nouveau;
  • nouveau 的作用为:开机阶段使用 nouveau 作为显卡驱动,开机后使用 nvidia 官方提供的驱动作为显卡驱动;
  • 但是毕竟是第三方开发的,和新版显卡的兼容性不是那么好,所以可能出现进入 Ubuntu 时黑屏,因此最保险的方法还是使用显卡BIOS作为开机时进行图形输出的工具最保险,毕竟显卡BIOS可是 nvidia 官方自己开发的;(禁用 nouveau)

参考视频:1_NVIDIA显卡黑屏的原因和解决思路_哔哩哔哩_bilibili


二、安装 Ubuntu 时出现黑屏

参考视频:3_UEFI引导的黑屏解决办法_哔哩哔哩_bilibili


三、安装完成后进入 Ubuntu 时出现黑屏

参考视频:4_系统安装后的黑屏解决办法_哔哩哔哩_bilibili


四、如何给 Ubuntu 安装显卡驱动

准备工作1:禁用 nouveau

  • 打开系统的黑名单列表文件

sudo gedit /etc/modprobe.d/blacklist.conf
  • 在文件末尾将 nouveau 添加进去,保存关闭
blacklist nouveau
  • 令黑名单生效
sudo update-initramfs-u

 准备工作2:进入 BIOS ,关闭 Secure Boot

  • 防止在后面安装驱动的过程中会要求对驱动程序进行签名

方法1:官方途径安装驱动

  • 官网下载对应型号的显卡驱动
  • 注意:如果是从 Windows 或其他系统中拷贝来的驱动文件,需要执行下面这个指令确保用户获得这个文件的执行权限
chmod +x NVIDIA-Linux-x86_64-(版本号).run    //NVIDIA-Linux-x86_64-(版本号).run 就是下载的驱动文件的文件名
  • 运行驱动安装程序
sudo bash NVIDIA-Linux-x86_64-(版本号).run

参考内容:

  • 5_下载NVIDIA官方驱动_哔哩哔哩_bilibili
  • 6_安装NVIDIA官方驱动_哔哩哔哩_bilibili
  • ubuntu | 安装nvidia驱动_ubuntu nvidia驱动 csdn-CSDN博客

方法2:将所有的驱动都更新,包括显卡驱动

  • 注意:这个方法吃网卡驱动,只是记录一下这个方法,没有试过也不推荐
  • 查看推荐驱动
ubuntu-drivers devices
  • 自动更新所有的驱动
sudo ubuntu-drivers autoinstall

参考文章:Ubuntu 18.04 安装 NVIDIA 显卡驱动 - 知乎

方法3:使用settings里推荐的显卡驱动

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

react 项目如何暴露 webpack配置文件

首先创建一个项目: // 全局安装 create-react-app 脚手架 npm install create-react-app -g// 创建项目 create-react-app demo 创建完成后,进到项目根目录,执行以下命令: npm run eject 出现以下命令: 选择yes即可…

【Unity】Transform、Rigidbody、CharacterController移动

前言 在使用Unity开发的时候,移动是最最基础的一个需求,我来给大家简单的讲一下Unity中的几种常见的移动方法。 1.Transform移动 Transform移动就是修改物体的position ①修改位置 这里要注意:坐标分为世界坐标和本地坐标 //将物体的世界坐…

import gdal 报错

1.下载gdal https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal 2.安装正确版本 (1)查看python版本 python -v我的版本Python 3.7.9 建议下载 GDAL-3.4.2-cp37-cp37m-win_amd64.whl (2)放到Scripts文件夹下 执行 pip install GD…

Unity Timeline学习笔记(2) - PlayableTrack

PlayableTrack 是可自定义播放的轨道。我们可以通过进入轨道后调用自己的函数方法,使用起来也是比较顺手的。 添加轨道 我们点击加号添加 这样就有一个空轨道了,然后我们创建两个测试脚本。 添加脚本 分别是Playable Behaviour和PlayableAsset脚本。…

吴恩达深度学习笔记:神经网络的编程基础2.9-2.14

目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第二周:神经网络的编程基础 (Basics of Neural Network programming)2.9 逻辑回归中的梯度下降(Logistic Regression Gradient Descent) 第一门课&#xff…

vue 基于elementUI/antd-vue, h函数实现message中嵌套链接跳转到指定路由 (h函数点击事件的写法)

效果如图: 点击message 组件中的 工单管理, 跳转到工单管理页面。 以下是基于vue3 antd-vue 代码如下: import { message } from ant-design-vue; import { h, reactive, ref, watch } from vue; import { useRouter } from vue-router; c…

蓝桥杯单片机快速开发笔记——定时器

一、基本原理: 定时器的作用: 定时器是一种用于产生精确时间延时的模块,可以在程序中用来进行时间控制、计时等操作。 定时器的工作原理: 51单片机的定时器是通过内部的计数器来实现的,计数器每隔一个固定的时间周期自…

C#,数值计算,矩阵相乘的斯特拉森(Strassen’s Matrix Multiplication)分治算法与源代码

Volker Strassen 1 矩阵乘法 矩阵乘法是机器学习中最基本的运算之一,对其进行优化是多种优化的关键。通常,将两个大小为N X N的矩阵相乘需要N^3次运算。从那以后,我们在更好、更聪明的矩阵乘法算法方面取得了长足的进步。沃尔克斯特拉森于1969年首次发表了他的算法。这是第…

速卖通安全测评补单技术提升运营安全性

对于一个新品来说,最大的问题就是评论。没有评论,你的广告就不能打的很靠前,那样你的转化率就会非常低,数据也很差。新品运气不好的来两个一星差评,链接可能就此废掉,做不上去了。所以虽然平台管的非常的严…

从根到叶:深度理解哈希表

​​​​​​​ 一.哈希表的概念 关于查找元素时: 在顺序结构以及平衡树 中,元素关键码与其存储位置之间没有对应的关系,因此在 查找一个元素时,必须要经过关键 码的多次比较 。 顺序查找时间复杂度为 O(N) ,平衡树中…

MySQL 系统变量查看与设置(System Variables Configuration)

MySQL中有大量的系统变量控制服务器的行为,大部分的系统变量是不需要我们调整的,保持默认即可。但为了获得更高的性能和稳定性,有时需要适当对部分变量进行调整,本文总结了MySQL中系统变量的查看与设置方法。 目录 一、变量的类型…

学点Java打小工——Day2Day3一点作业

1 猜数字(10次机会) 随机生成[1,1000]的一个数,输入你猜的数程序会给出反馈,直到猜对或次数用尽(10次)。 //猜数字 10次机会Testpublic void guessNumber() {Random random new Random();// [0, 1000) 1// [1, 1000]int num ra…

SQLiteC/C++接口详细介绍之sqlite3类(六)

快速前往文章列表:SQLite—系列文章目录 上一篇:SQLiteC/C接口详细介绍之sqlite3类(五) 下一篇:SQLiteC/C接口详细介绍之sqlite3类(七) 19. sqlite3_changes与sqlite3_changes64 是SQLite中用…

CSDN 编辑器设置图片缩放和居中

CSDN 编辑器设置图片缩放和居中 文章目录 CSDN 编辑器设置图片缩放和居中对齐方式比例缩放 对齐方式 Markdown 编辑器插入图片的代码格式为 ![图片描述](图片路径)CSDN 的 Markdown 编辑器中插入图片,默认都是左对齐,需要设置居中对齐的话,…

9种分布式ID生成之美团(Leaf)实战

​​​​​ 前几天写过一篇《一口气说出 9种 分布式ID生成方式,面试官有点懵了》,里边简单的介绍了九种分布式ID生成方式,但是对于像美团(Leaf)、滴滴(Tinyid)、百度(uid-generator&…

多维时序 | MATLAB实现BiTCN-selfAttention自注意力机制结合双向时间卷积神经网络多变量时间序列预测

多维时序 | MATLAB实现BiTCN-selfAttention自注意力机制结合双向时间卷积神经网络多变量时间序列预测 目录 多维时序 | MATLAB实现BiTCN-selfAttention自注意力机制结合双向时间卷积神经网络多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.M…

三个表联合查询的场景分析-场景1:a表关联了b表和c表

本场景对应情景如下: 三个数据表,一个表的两个字段分别关联了另外两个表各自的id数据,可能包含多个id(两个1对多关联)。 目录 数据表准备 需求1、查询c表的列表数据,要求获得关联的b表中的name&#xf…

OceanBase中binlog service 功能的试用

OBLogProxy简介 OBLogProxy即OceanBase的增量日志代理服务,它可与OceanBase建立连接并读取增量日志,从而为下游服务提供了变更数据捕获(CDC)的功能。 关于OBLogProxy的详尽介绍与具体的安装指引,您可以参考这篇官方OB…

【深度学习笔记】9_8 区域卷积神经网络(R-CNN)系列

注:本文为《动手学深度学习》开源内容,部分标注了个人理解,仅为个人学习记录,无抄袭搬运意图 9.8 区域卷积神经网络(R-CNN)系列 区域卷积神经网络(region-based CNN或regions with CNN feature…

Unreal发布Android在刘海屏手机上不能全屏显示问题

Unreal 4.27发布Android在刘海屏手机上不能全屏显示问题 Android设置全屏刘海屏全屏设置4.27设置刘海屏在部分手机不能显示问题 Android设置全屏 AndroidManifest.xml文件配置 ...<activity android:name"com.epicgames.ue4.GameActivity" android:label"st…