1、查看当前系统版本

cat /proc/version

显示为:

2、查看当前显卡型号:

sudo lshw -numeric  -C display

显示我的显卡型号为:GM107M[GeForce GTX 950M]

3、安装GCC  G++  make等工具

sudo apt-get  install  build-essential
gcc --version 验证gcc是否安装成功

sudo apt-get install g++
sudo apt-get install make

4、卸载旧驱动

sudo apt-get remove --purge nvidia*

5、根据显卡型号,下载对应的显卡驱动

下载驱动网址:Official Drivers | NVIDIA

我们可以选择版本下载,点击Official Advanced Driver Search | NVIDIA

然后,根据自己的显卡型号,查找驱动,我这里选择510.68.02

sudo wget https://us.download.nvidia.cn/XFree86/Linux-x86_64/510.68.02/NVIDIA-Linux-x86_64-510.68.02.run

6、安装驱动之前,需要禁用nouveau(nouveau 是专门用来逆向工程 NVIDIA 闭源驱动的开源驱动项目),因为ubuntu安装时会默认安装nouveau驱动,如果不禁用,会阻碍NVIDIA官方驱动的安装。

禁用nouveau

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

在文件末尾添加

blacklist nouveau
            blacklist lbm‐nouveau
            options nouveau modeset=0
            alias nouveau off
            alias lbm‐nouveau off

保存文件

wq

对刚才修改的文件进行更新

sudo update-initramfs -u

重启计算机,查看nouveau是否禁用成功

           sudo reboot

lsmod | grep nouveau

执行完这句,如果没有任何输出,表示禁用成功。

7、关闭图形界面

       进入 tty模式

ctrl + alt+ F1 或 ctrl + alt+ F2 或 ctrl + alt+ F3,视情况

输入:

sudo service lightdm stop

8、进入驱动所在目录,给驱动文件付权限,然后安装
     sudo chmod +x NVIDIA-Linux-x86_64-510.68.02.run
     sudo sh NVIDIA-Linux-x86_64-510.68.02.run  -no-opengl-files -no-x-check -no-nouveau-check

参数说明:

-no-x-check:安装驱动时关闭 X 服务
-no-nouveau-check:安装驱动时禁用 nouveau
-no-opengl-files:只安装驱动文件,不安装 OpenGL 文件

  • 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 继续。
  • Nvidia's 32-bit compatibility libraries? 选择 No 继续。
  • 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  继续

9、挂载 Nvidia 驱动

     sudo modprobe nvidia

10、查看驱动是否安装成功

     nvidia-smi

参考网址:

Ubuntu下安装nvidia显卡驱动 - AI菌的个人空间 - OSCHINA - 中文开源技术交流社区

深度学习环境配置——ubuntu20.04装nvidia驱动_我与nano的博客-CSDN博客_ubuntu20.04安装nvidia驱动

-----------------------------------------------------------华丽分割线-------------------------------------------------------

CUDA安装

1、查看自己电脑的驱动程序版本

nvidia-smi可以看到最高版本的cuda不能大于11.6

具体驱动程序对应的cuda版本可以通过官网查看

Release Notes :: CUDA Toolkit Documentation

2、下载cuda,官网地址:

CUDA Toolkit Archive | NVIDIA Developer

因为我的驱动是510.68.02,所以我下载CUDA Toolkit 11.6.2

选择runfile[local]方式安装.

PS:因为有的版本没有20.04就选择最高的,比如18.04

输入:

sudo sh cuda_11.6.2_510.47.03_linux.run

出现如下界面:

在这一步,输入 accept

因为驱动程序已经安装好了,所以按 空格 键,不要选中Driver这一项,然后选择Install,按回车键,开始安装.....

耐心等待中ing.......

安装完成后,会有如下提示:

 配置环境变量

sudo  vim /etc/profile

在文件末尾添加:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64
export PATH=/usr/local/cuda-11.6/bin:$PATH

保存文件

wq

刷新profile文件

source /etc/profile

看看cuda安装是否正常

nvcc  -V

参考网址:

ubuntu20.04安装cuda库_是大小姐H啊的博客-CSDN博客_ubuntu20.04安装cudaUbuntu 20.04安装CUDA & CUDNN 手把手带你撸_哈希Map的博客-CSDN博客_ubuntu20.04安装cuda

-----------------------------------------------------------华丽分割线-------------------------------------------------------

 cudnn安装

1、下载cudnn(需要登录)

       https://developer.nvidia.com/rdp/cudnn-download

因为我的cuda版本是11.6所以,下载for cuda11.x

 2、安装cudnn

点击这里查看安装说明Installation Guide :: NVIDIA Deep Learning cuDNN Documentation

安装步骤:

Download the Debian local repository installation package. Before issuing the following commands, you must replace X.Y and 8.x.x.x with your specific CUDA and cuDNN versions.

Procedure

  1. Navigate to your <cudnnpath> directory containing the cuDNN Debian local installer file.
  2. Enable the local repository.
    sudo dpkg -i cudnn-local-repo-${OS}-8.x.x.x_1.0-1_amd64.deb

    Or

    sudo dpkg -i cudnn-local-repo-${OS}-8.x.x.x_1.0-1_arm64.deb
  3. Import the CUDA GPG key.
    sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings/
  4. Refresh the repository metadata.
    sudo apt-get update
  5. Install the runtime library.
    sudo apt-get install libcudnn8=8.x.x.x-1+cudaX.Y
  6. Install the developer library.
    sudo apt-get install libcudnn8-dev=8.x.x.x-1+cudaX.Y
  7. Install the code samples and the cuDNN library documentation.
    sudo apt-get install libcudnn8-samples=8.x.x.x-1+cudaX.Y

PS:

1、我在安装cudnn的时候,上述5、6、7的步骤中

libcudnn8=8.x.x.x-1+cudaX.Y中俄cudaX.Y没有cuda11.6

只有cuda11.7,如:第5步骤中的,应该为

sudo apt-get install libcudnn8=8.5.0.96-1+cuda11.7

而非:

sudo apt-get install libcudnn8=8.5.0.96-1+cuda11.6,虽然我的cuda的驱动是11.6.

通过官网说明得知:cudaX.X只有两种一种 cuda10.2 or cuda11.7

检查是否安装成功:

To verify that cuDNN is installed and is running properly, compile the mnistCUDNN sample located in the /usr/src/cudnn_samples_v8 directory in the Debian file.

Procedure

  1. Copy the cuDNN samples to a writable path.

    $cp -r /usr/src/cudnn_samples_v8/ $HOME
  2. Go to the writable path.
    $ cd  $HOME/cudnn_samples_v8/mnistCUDNN
  3. Compile the mnistCUDNN sample.
    $make clean && make
  4. Run the mnistCUDNN sample.
    $ ./mnistCUDNN

    If cuDNN is properly installed and running on your Linux system, you will see a message similar to the following:

    Test passed!如果在运行make指令的时候,出现了不能编译,提示缺少FreeLmage.h与资源库的问题
    则运行下面指令安装FreeLmage相关文件:

sudo apt-get install libfreeimage3 libfreeimage-dev

-----------------------------------------------------------华丽分割线-------------------------------------------------------

突破NVENC的并发限制:

NVIDIA的编码器并发时有限制,官网:https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new#Encoder

突破限制的方法,给驱动程序打补丁:(非官方)

https://github.com/keylase/nvidia-patch

选择相应的驱动程序,打补丁

我的驱动程序版本是:510.68.02

下载对应的补丁。

1、sudo  git clone https://github.com/keylase/nvidia-patch.git

2、sudo  bash ./patch.sh

3、回滚(如果出问题可以回滚到原始版本):

bash ./patch.sh -r

打补丁后进行测试,发现原先的报错消失了。多个视频均能够被正常编码。

参考网址:解决NVIDIA GeForce系列显卡NVENC并发Session数目限制问题_TracelessLe的博客-CSDN博客

===================华丽分割线=====================================

用的好好的nidia驱动找不到啦,

输入 nvidia-smi 提示:

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

在终端输入nvcc -V 提示cuda还在

解决方法:

1、sudo apt-get install dkms

2、sudo dkms install -m nvidia -v 510.68.02

其中510.68.02是原来的驱动版本号,如果不知道

cd   /usr/src

然后再次 输入  nvidia-smi

驱动回来啦!

===================华丽分割线=====================================

使用h264_nvenc编码,如下提示:

要看到上述提示需要关闭,关闭ffmpeg的日志级别,使用默认级别

[h264_nvenc @ 0x187e640] Driver does not support the required nvenc API version. Required: 12.0 Found: 11.1

原因:nv-codec-headers的版本太高了,nvidia driver的版本太低了,可以查看nv-codec-headers目录下的README:

这个是linux下nvidia驱动要求的最低版本

解决方法:1、升级nidia的驱动程序

2、找到适合nvidia驱动的nv-codec-headers,然后重新编译ffmpeg

Ubuntu20.04安装NVIDIA显卡驱动、CUDA、CUDNN及突破NVENC并发限制相关推荐

  1. ubuntu20.04 RTX2060||nvidia显卡驱动|cuda|cudnn|pytorch

    安装显卡驱动 自动安装: ubnutu-drivers devices sudo ubuntu-drivers autoinstall 软件与更新->驱动->安装专有最新版本 cuda11 ...

  2. Ubuntu 20.04 安装NVIDIA显卡驱动+cuda 11.7+cudnn 8.4

    Ubuntu 18.04 安装NVIDIA显卡驱动+cuda 10.2+cudnn 本机环境 1 相关查询命令 一.Ubuntu 20.04 安装NVIDIA显卡驱动 二.Ubuntu 20.04 安 ...

  3. Ubuntu20.04安装nvidia显卡驱动并解决重启后黑屏问题

    几次安装都会出现一些问题,因此记录本次成功安装的过程. 安装前需要做: 打开blacklist.conf sudo gedit /etc/modprobe.d/blacklist.conf 在blac ...

  4. ubuntu20.04安装NVIDIA显卡驱动 /dev/nvme0n1p8:clean

    技术交流qq群933925017 1.下载显卡驱动 nvid官网 https://www.nvidia.cn/content/DriverDownload-March2009/confirmation ...

  5. Ubuntu20.04安装Nvidia显卡驱动教程

    0.前期准备 禁用BIOS的secure boot,即disable它,如果不关闭,使用第三方源安装显卡驱动会安装后不能使用. 1.禁用nouveau 1.创建文件,如果没有下载vim编辑器,将vim ...

  6. ubunt16.04 安装3090显卡驱动 cuda cudnn pytorch

    安装驱动 需要的安装包 30系列显卡是新一代架构,新驱动不支持cuda9以及cuda10,所以必须安装cuda11.而pytorch现在稳定版为1.6,最高仅支持到cud10.2.所以唯一的办法就是使 ...

  7. Ubuntu20.04安装Nvidia显卡驱动后屏幕不显示的问题

    背景: 本来电脑(Ubuntu20.04)插两个显示器,一个插在了VGA口,一个插在了DVI口,都是接的老显示器.公司新腾出一台新显示器,需要插DP口,所以就把VGA口拔掉,插入DP口,保留DVI口. ...

  8. 虚拟机Ubuntu20.04安装NVIDIA显卡驱动失败原因

    本来想在ubuntu里使用Tensorflow的GPU版,但是按照一系列操作,在处理显卡驱动问题的时候,出现下图报错: 后来查到虚拟机不支持显卡驱动,显卡不支持虚拟化,所以不能用Tensorflow的 ...

  9. Ubuntu16.04安装Nvidia显卡驱动(cuda)

    [专业亲测]Ubuntu16.04安装Nvidia显卡驱动(cuda)--解决你的所有困惑 确实是可行的 下载完成之后: 卸载原先的所有驱动: #for case1: original driver ...

最新文章

  1. 嵌入式系统理解及相关知识100问
  2. 奇异值分解(SVD) --- 几何意义
  3. 增大Linux的socket最大连接数(针对select,要编译内核)
  4. 最优化——线性规划中最大规划和最小规划之间的转换
  5. windows10配置php7.1+apache2.4+mysql5.7
  6. 收集一些工作中常用的经典SQL语句
  7. idea overlays文件夹_Intellij IDEA 文件修改提示星号
  8. int indexs=(int)(_v+0.5);
  9. 上海java工作经验与薪资_Java硕士京东工作1年,跳槽后他期望薪资26K,大家感觉他可以吗...
  10. keil+proteus 制作计算器_设计费 | 工程设计费计算器使用指南
  11. Java区块链视频教程百度云_区块链开发入门到精通视频教程
  12. socks5代理ip购买_详解IP加速器的四种协议
  13. char与signed char, unsigned char的区别
  14. 实现shiro-remember功能
  15. 高佣次方递增营销联盟模式
  16. 前端开发周报:20190817
  17. 以计算机通信技术为核心的,浙江混合型IPPBX通信系统,战场上是以计算机通信技术为核心。...
  18. MATLAB/simulink 并网型双馈风力发电机(DFIG) 输出功率1.5MW 可实现单位因数并网
  19. 【CC评网】2013.第41周 不求排版,简单就好
  20. MySQL数据库基本语法

热门文章

  1. 文件加解密,AIDE入侵检测,扫描与抓包
  2. 【转】qlv文件如何转换成mp4 怎样把下载好的qlv格式视频转换成MP4格式
  3. PHP开发阿里云短信服务接口
  4. //利用 DirectoryInfo递归遍历文件夹,删除所有文件,文件夹
  5. 华硕x580nv拆机_华硕x580nv拆机_做工扎实用料足 华硕S56超极本拆解图
  6. MT8732 / MT8735处理器特点/芯片组型号资料介绍
  7. 关于SQL:已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行
  8. html如何设置网页的背景图片,使放大或缩小浏览器时,页面排版和背景可以随浏览器放大缩小而排版不会改变,
  9. 用代码实现一场烟花盛宴,提前祝大家2022新春快乐
  10. VS code 代码鼠标滑轮缩放