Linux安装NVIDIA显卡驱动的正确姿势_--no-opengl-files-程序员宅基地

技术标签: NVIDIA  Linux  linux  显卡驱动  parrot  安装显示驱动  

目录

 

Linux安装NVIDIA显卡驱动的正确姿势

什么是nouveau驱动?

检测NVIDIA驱动是否成功安装

集显与独显的切换

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

使用PPA仓库进行自动化安装

使用官方的NVIDIA驱动进行手动安装

常见问题解决


 

 

 

Linux安装NVIDIA显卡驱动的正确姿势

可能想玩Linux系统的童鞋,往往死在安装NVIDIA显卡驱动上,所以这篇文章帮助大家以正常的方式安装NVIDIA驱动。

本文将介绍四种NVIDIA驱动安装方式。具体选择需要根据你的情况而定。

  • 使用标准Ubuntu仓库进行自动化安装
  • 使用PPA仓库进行自动化安装
  • 使用官方的NVIDIA驱动进行手动安装

什么是nouveau驱动?

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

该项目的目标为利用逆向工程Nvidia的专有Linux驱动程序来创造一个开放源代码的驱动程序。

所以nouveau开源驱动基本上是不能正常使用的,性能极低,所以网上有很多人都在骂:干死黄仁勋!!

这里写图片描述

想了解历史的可以去看看这篇知乎,腾讯和AMD是linux的罪人吗?

好了不扯了,正式开始讲安装把!

检测NVIDIA驱动是否成功安装

  1. 使用nvidia-settings命令
nvidia-settings

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

这里写图片描述

如果出现这个界面可以看到 NVIDIA Driver Version:390.48,这就代表nvidia-setting安装正常。

  1. 使用nvidia-smi命令测试

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

nvidia-smi

 

 

执行这条命令将会打印出当前系统安装的NVIDIA驱动信息,如下:

这里写图片描述

我们可以看到我们显卡的型号,我的是GTX 960M,包括显存大小都可以看见。

  1. 系统信息查看

这一步不重要,因为有时候系统信息里面显示的可能会有误,只显示集显不显示独显的情况。

比如我的就没有显示出独显,如下:

这里写图片描述

这里面不显示没有关系,可以略过。

  1. 命令行搜索集显和独显

打开终端执行以下命令:

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

 

 

这里写图片描述

如果都能搜索到说明正常。

查看nouveau是否启动运行可以执行下面命令:

lsmod | grep nouveau

 

 

没有返回代表没有运行。

集显与独显的切换

当我们需要切换独显与集显的时候,一般就是外出的时候,想节省电量,增长待机时间。下面讲解两种切换方式。

  1. 使用nvidia-setting切换

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

这里写图片描述

  1. 命令行切换

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

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

 

 

这里写图片描述

注意: 每一次切换显卡都需要重新启动电脑才能生效

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

在安装的发行版中,如 ubuntuLinux Mint等,找到附加驱动管理软件,下面是Linux Mint界面:

这里写图片描述

选择推荐的驱动安装,点击应用更改,等待下载然后重启即可。

这种安装方式有如下缺点

  1. 如果你的显卡比较新可能会出现安装低版本的NVIDIA驱动而造成即可安装完成,但是并没有真正安装成功,可能会出现循环登录,关机死机等等原因。

  2. 当你更换驱动的时候可能原有的NVIDIA驱动删除不干净。

当然这种方式也是有优点的:

  1. 不需要手动禁止nouveau
  2. 操作方便

可能有的童鞋还使用过命令行的方式安装:

sudo apt-get install nvidia*

 

 

如图:

这里写图片描述

这种方式安装同样也是使用ubuntu官方源的形式安装的,你可以选择不同的驱动版本来安装,但是本质上和标准仓库进行自动化安装是一样的。

其实ubuntu自带命令行版本安装工具ubuntu-drivers,终端输入:

ubuntu-drivers devices   # 查询所有ubuntu推荐的驱动

 

 

这里写图片描述

这路我是有一个推荐安装的驱动,那就是nvidia-driver-390,明显我已经安装完成了。

然后就可以使用下面一条命令安装所有推荐的驱动程序:

sudo ubuntu-drivers autoinstall

 

 

安装完成后重启就可以了,这里要注意,这种安装方式和驱动管理器软件安装的效果是一样的,就是一个是UI版本,一个是命令行版本。

使用PPA仓库进行自动化安装

使用图形驱动程序PPA存储库允许我们安装NVIDIA beta驱动程序,这有可能会出现兼容性的问题,但是有些时候必须使用这种方式,比如显卡比较新,使用上面所讲的方式检测驱动的安装情况,如果不正常那么只能使用这种方式安装最新的NVIDIA驱动。

  1. 添加PPA到我们的系统:
sudo add-apt-repository ppa:graphics-drivers/ppa

 

 

更新系统源:

sudo apt update

 

 

此时我们就可以下载最新的NVIDIA驱动了:

安装的方式有以下三种,其实前面已经讲过,这里总结一下:

  • 附加驱动管理软件
  • sudo apt-get install nvidia-xxx
  • ubuntu-drivers方式

这三种都可以,选择一个版本安装,然后重启即可。

使用官方的NVIDIA驱动进行手动安装

这种安装方式我认为是比较野蛮的,也是最正规,最原始的的方式,当然难度最高的。你可以来挑战一下!!!!

1. 查看当前电脑的显卡型号

lshw -numeric -C display

 

 

执行完毕后我的显卡型号为 GTX 960M,如下图:

这里写图片描述

2. 下载NVIDIA官方驱动

到NVIDIA的官方驱动网站下载对应显卡的驱动程序,下载后的文件格式为run

下载好之后放到用户目录下,等下后面会用到。

3. 删除原有的NVIDIA驱动程序

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

sudo apt-get remove –purge nvidia*

 

 

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

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

5. 禁用nouveau

打开编辑配置文件:

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

 

 

在最后一行添加:

blacklist nouveau

 

 

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

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

sudo update-initramfs -u

 

 

6. 重启

reboot

 

 

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

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

 

 

7. 停止可视化桌面:

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

sudo telinit 3

 

 

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

8. 安装驱动

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

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

 

 

然后执行安装:

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

 

 

安装完成后重启即可,记得验证是否安装成功,参考前面所讲。

–no-opengl-files 参数必须加否则会循环登录,也就是loop login

参数介绍:

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

关于使用此方式可以参照Ubuntu 18.04安装NVIDIA(英伟达) RTX2080Ti显卡 这篇文章。

注意:

  • 安装CUDA时一定使用runfile文件,这样可以进行选择。不再选择安装驱动,以及在弹出xorg.conf时选择NO

常见问题解决

  1. 安装完驱动后,HDMI扩展屏幕不能使用,现象表现为能识别扩展屏幕但是黑屏。
    这种情况需要确定以下内容是否已经设置:

    • bios内是否已经禁止安全启动、快速启动。
    • linux系统是否设置了禁止nouveau

    如果上面的都已经做了,但还是有问题,可以尝试下面的配置:

    sudo nano /usr/share/X11/xorg.conf.d/10-amdgpu.conf
    
  2. 有可能不是这个文件,但是类似。

    修改为下面这样

    Section "OutputClass"
       Identifier "AMDgpu"
       MatchDriver "amdgpu"
       Driver "amdgpu"
       Option "PrimaryGPU" "no"
    EndSection
    
  3. 下面修改nvidia的配置

  4. sudo nano /usr/share/X11/xorg.conf.d/10-nvidia.conf
    
    • 1

    修改为下面这样:

    Section "OutputClass"
       Identifier "nvidia"
       MatchDriver "nvidia-drm"
       Driver "nvidia"
       Option "AllowEmptyInitialConfiguration"
       Option "PrimaryGPU" "yes"
       ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
    EndSection
    
    然后重新启动。

到此NVIDIA的安装方式讲解完了。。。。

END

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq3965470/article/details/112759149

智能推荐

JavaScript警告框:创建自定义提示框的实现方法_js自定义提示框-程序员宅基地

文章浏览阅读289次。通过以上的HTML、CSS和JavaScript代码,我们可以创建一个自定义的警告框,并可以根据需要进行样式和行为的定制。警告框的显示和隐藏可以通过JavaScript函数来控制,使得开发者能够根据具体的应用场景进行灵活的操作。要定制警告框的外观和行为,我们可以使用HTML、CSS和JavaScript的组合。JavaScript中的警告框是一种常见的弹出框,它用于向用户显示重要的消息或警告。当上述代码执行时,将在页面上显示一个警告框,并显示消息"这是一个警告框的示例!函数,以便显示警告框。_js自定义提示框

android中ListView异步加载图片时的图片错位问题解决方案,Alibaba高并发业务实战文档-程序员宅基地

文章浏览阅读520次,点赞30次,收藏15次。ListView/>加入访问网络和读取,写入sdcard的权限。接下来,我们来看看MainActivity.java。性能考虑,我们使用convertView和ViewHolder来重用控件。这里涉及到比较关键的一步,我们会在getView的时候给ViewHolder中的ImageView设置tag,其值为要放置在该ImageView上的图片的url地址。

linux服务器上,docker安装nginx_linux docker nginx-程序员宅基地

文章浏览阅读2k次,点赞3次,收藏8次。在浏览器访问主机(例如:192.168.124.182:9002),会看到nginx欢迎页,如果你是云服务器(云服务器公有 IPv4 地址,例如http://51.65.205.216:9000/),请记得开放对应的外网端口。-p 指定主机与容器内部的端口号映射关系,格式 -p [宿主机端口号]:[容器内部端口],此处我使用了主机80端口,映射容器80端口。-p 指定主机与容器内部的端口号映射关系,格式 -p [宿主机端口号]:[容器内部端口],此处我使用了主机80端口,映射容器80端口。_linux docker nginx

前端Jest测试学习笔记_jest jquery requires a window with a document-程序员宅基地

文章浏览阅读907次。Jest中对dom节点操作的测试解决jest jQuery requires a window with a documentvar jsdom = require('jsdom');const $ = require('jquery')(new jsdom.JSDOM().window);// jq.jsvar jsdom = require('jsdom');export const $ = require('jquery')(new jsdom.JSDOM().window);_jest jquery requires a window with a document

【FPGA约束:使用自建 PLL 输出时的时钟约束】_pll_clk_inst-程序员宅基地

文章浏览阅读443次。其中,CLKIN1_PERIOD指定输入时钟的周期,CLKFBOUT_MULT指定反馈时钟倍频,CLKOUTx_DIVIDE指定输出时钟的分频,CLKOUTx_PHASE指定输出时钟的相位偏移。上述约束文件中的create_clock命令定义了一个名为clk_out0的时钟,并指定了它的周期为20.0ns。上述约束文件中的create_generated_clock命令指定了四个名为clk_out的时钟,并将它们的倍频和分频参数直接设为PLL中对应时钟的配置参数。接下来,我们需要在约束文件中指定时钟约束。_pll_clk_inst

6个最好用的Python图像处理库!-程序员宅基地

文章浏览阅读2.9k次。与其他编程语言不同,Python有非常独特的优势,那就是它拥有非常非常多的第三方库,拿来即用,可为我们的工作带来很大的帮助。而今天的这篇文章,小编要为大家介绍6个最好用的Python图像处理库,快来认识一下吧。_python图像处理库

随便推点

IntelliJ IDEA 设置代码检查级别_idea校验级别-程序员宅基地

文章浏览阅读2.4w次,点赞2次,收藏8次。设置代码检查等级  IntelliJ IDEA中最右下角的小按钮可以设置当前编辑文档的代码检查等级,如图  Inspections 为最高等级检查,可以检查单词拼写,语法错误,变量使用,方法之间调用等Syntax 可以检查单词拼写,简单语法错误None 不设置检查IntelliJ IDEA 对于编辑大文件并没有太大优势,很卡,原因就是它有各种检查,这样是非常耗内存和 CPU 的,所以为..._idea校验级别

Android开发之——修改debug.keystore_com.android from store "or\.android\debug.keystore-程序员宅基地

文章浏览阅读2.6k次。前言app在运行安装到手机上时,都是要签名的(没有签名无法安装),你可以设置签名,然后安装时使用设置的签名;没有设置签名,就用系统默认的签名信息,那么,这个签名信息,你知道么?签名debug.keystore如果查看debug.keystore本文分为Eclipse版本和android studio来说明Eclipse查看debug.keystoreAndroid ..._com.android from store "or\.android\debug.keystore

实景三维在乡村规划建设中的应用_三维辅助村庄选址-程序员宅基地

文章浏览阅读128次。素心·山谷里是由陕西秦风云影网络科技有限公司负责,基于倾斜摄影三维建模、进行建筑规划设计到虚实融合交互展示的乡村规划建设项目,是实景三维在乡村规划设计的典型应用案例。素心·山谷里使用云端地球及大势智慧旗下模方、Dasviewer等软件产品实现了从照片到实景三维模型、从单一的CAD设计图浏览到实景模型与BIM手工模型叠加立体设计展示的跨越,使乡村建设设计从二维提升到三维层面,让建筑规划设计效果更真实、更直观,更科学,极大地减少了设计单位与甲方的沟通成本,助力乡村振兴建设用更少的时间完成更高效的设计。_三维辅助村庄选址

中标麒麟安装达梦-程序员宅基地

文章浏览阅读1.1k次。达梦数据库的安装方法(以中..._中标麒麟安装达梦

数据库 分页 sqlserver 四种方法_sqlserver fetch next-程序员宅基地

文章浏览阅读1.5k次。数据库 分页 sqlserver 四种方法_sqlserver fetch next

sublime text3 插件_Origin实用插件之散点密度热图(Density Filter)-程序员宅基地

文章浏览阅读1k次。前言:在统计样点在二维空间中的分布情况时常常会使用到散点密度热图,我们知道在 R 语言中有专用的绘图函数 smoothScatter ()可以实现,在 MATLAB 中也有可以用 plotScat.m 的内嵌函数,在 Python 中可以使用 pandas和MatPlotLib 中的相应功能,那么在 Origin 中如何绘制散点密度图呢?本期插件介绍:本期要介绍的插件是 OriginLab 官方技..._origin二维热图加密

推荐文章

热门文章

相关标签