zl程序教程

您现在的位置是:首页 >  系统

当前栏目

【Deepin 20系统】Linux系统安装RTX 2070的NVIDIA卡驱动

Linux驱动安装系统 20 NVIDIA deepin RTX
2023-09-14 09:13:10 时间

1 查看显卡型号

lspci | egrep “VGA|3D”
在这里插入图片描述

本人的是RTX2070

2 下载驱动

NAVIDIA驱动下载官网。下载后命名为n.run,方便后面执行命令操作。
在这里插入图片描述

3 安装编译环境

安装编译环境:gcc、kernel-devel、kernel-headers 等等

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake unzip pkg-config libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgtk-3-dev libopenblas-dev libatlas-base-dev liblapack-dev gfortran libhdf5-serial-dev python3-dev python3-tk python-imaging-tk

4 Bios关闭Security boot

每个电脑BIOS不一样,找到自己的BIOS 的security 关闭即可。
本人是华硕z390的主板,bios设置如下
华硕z390关闭Security boot
设置后重启,进入以下步骤

5 禁用NVIDIA开源驱动nouveau

新建一个黑名单让系统启动的时候不去加载开源驱动。这会让系统分辨率降到特别低,请做好心理准备,重启后分辨率会变化,在驱动安装完毕后,重启就可以恢复。暂时不用太担心。

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

写入以下内容:

blacklist nouveau
options nouveau modeset=0

按ESC键,输入 :wq! 保存
然后执行,

sudo update-initramfs -u

重启系统,重启后查看是否生效,
输入以下代码检查是否禁用成功

lsmod |grep -i nouveau

如果没有输出内容,证明禁用成功了。

6 安装NVIDIA闭源驱动

先检查之前时候安装过闭源驱动和大黄蜂方案,如果有最好卸载掉。

nvidia-smi

没输出内容证明没有安装过闭源驱动

6.1 卸载已经安装的驱动

(1)如果你之前使用过大黄蜂方案,需要删除大黄蜂所安装的软件,可以用以下命令:

dpkg -l | grep -i nvidia | awk ‘{ print $2 }’ | cut -d: -f1 | xargs apt-get -y remove --purge

如果报错——无法打开锁文件 /var/lib/dpkg/lock - open (13: 权限不够),可以sudo -s 输入一次密码 进入root模式,再重试。
(2)已经下载了不合意的驱动,或是上面删除大黄蜂所安装软件后,
还需要输入

dpkg -l | grep -i nvidia

命令来查看是否还有残余驱动,如果还有显示,则输入下面命令进行卸载:

sudo apt-get --purge remove nvidia*

确认卸载完成之后,下面开始安装新驱动

6.2 安装驱动

驱动下载后命名为n.run,方便后续命令行操作。最好不要下载最新的驱动,有可能有Bug。
切到命令行模式,并关闭桌面程序服务,“Ctrl+Alt+F2”,进入TTY命令行模式,Ctrl+Alt+F1可以切换回来(关闭图形显示界面后,就进不了桌面了,操作失败重启命令reboot),然后登录系统,帐号密码是你登陆系统的帐号和密码(不要用小键盘数字)。
(1)关闭图形显示界面:

sudo service lightdm stop
#当然对应的启动图形界面命令行是systemctl start graphical.target,但尽在此做记录,不需要执行

(2)安装驱动:
cd到驱动所在目录

chmod +x n.run #赋予可执行权限
sudo init 3 #切换运行级别3来运行驱动安装程序(不切换可能安装失败)
sudo ./n.run --no-opengl-files --no-cc-version-check #安装驱动文件 –no-opengl-files:只安装驱动文件,不安装OpenGL文件.–no-cc-version-check不检查gcc版本,必须加上,有的后果很麻烦

安装过程中可能有一些问题

1. There appears to already be a driver installed on your system (version:      
  390.42).  As part of installing this driver (version: 390.42), the existing  
  driver will be uninstalled.  Are you sure you want to continue?
                 Continue installation      Abort installation 
(选择 Coninue,如果是重装的话)
2. The distribution-provided pre-install script failed!  Are you sure you want
  to continue?                                                                 
                 Continue installation      Abort installation       
(选择 Cotinue)
3. Would you like to register the kernel module sources with DKMS? This will    
  allow DKMS to automatically build a new module, if you install a different   
  kernel later.
(这里选 No)
4. Install NVIDIA's 32-bit compatibility libraries?
(这里选 No)
5. would you like to run the nvidia-xconfig utility to automatically update your X configuration file so that the NVIDIA X driver will be used when you restart X ? Any pre-existing X configuration file will be backed up 
(这里选 No)
6. Installation of the kernel module for the NVIDIA Accelerated Graphics Driver
  for Linux-x86_64 (version 390.42) is now complete.                                                                                
                                       OK
7. 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 继续。

(2)安装完后,不要重启不要重启不要重启,还有配置启动脚本。这时候重启可能会黑屏(这里很关键)
新建一个display_setup.sh

sudo vim /etc/lightdm/display_setup.sh

内容如下:

#!/bin/sh
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
xrandr --dpi 96

赋予权限:

sudo chmod +x /etc/lightdm/display_setup.sh

然后在lightdm里配置启用这个脚本

sudo vim /etc/lightdm/lightdm.conf

找到 display-setup-script这一行,去掉前面的注释,将display_setup.sh这个目录填进去

display-setup-script=/etc/lightdm/display_setup.sh

做完这些操作就可以重启了
重启后执行

nvidia-smi

6.3 遗留问题

重启后执行 nvidia-smi,如果显示NVIDIA的显卡并没有工作,显存一点都没占用,显示No running Processes found,还要做下面的工作。
(1)设置默认Nvidia显卡工作

lspci | egrep ‘VGA|3D’

(2)执行上述命令获取nvidia显卡设备BusID,例子 01:00.0 填写PCI:1:0:0
在这里插入图片描述

然后编辑

sudo vim /etc/X11/xorg.conf #( /etc/X11/xorg.conf没有xorg.conf要新建一个)注意其中PCI部分填写PCI:1:0:0

/etc/X11/xorg.conf没有xorg.conf要新建一个,注意其中PCI部分填写PCI:1:0:0
编辑

sudo vim ~/.xinitrc

填写以下内容

xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
xrandr --dpi 96

重启动后,查看是否生效

7 安装驱动过程中遇到的BUG

(1) 错误:ERROR: Unable to find the development tool cc in your path; please make sure that you have the
解决办法:系统更没有gcc。安装N卡驱动必须要Gcc以及一系列工具。
安装编译环境:gcc、kernel-devel、kernel-headers 等等

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake unzip pkg-config libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgtk-3-dev libopenblas-dev libatlas-base-dev liblapack-dev gfortran libhdf5-serial-dev python3-dev python3-tk python-imaging-tk

(2)错误:Unable to load the “nvidia-drm” kernel module Unable to load the ‘nvidia-drm’ kernel module
问题分析:原因有两个,其一Bios没有关闭security boot.其二系统的内核与gcc版本不对应,导致驱动无法正常安装。
查看系统内核版本命令

uname -r

查看gcc版本

gcc -v

Nvidia官网查看系统内核和gcc对应版本
在这里插入图片描述

解决办法:

  • BIOS关闭security
  • 初始考虑:安装和内核兼容的gcc版本。安装gcc对应版本 参考本人另一篇博客【Deepin 20系统】Linux系统安装N卡驱动前的安装gcc三种方法详解
    • 简单粗暴:重做系统后,先安装gcc系列工具箱。因为安装gcc的过程过于繁琐,重做系统后,干净的让系统去执行安装兼容内核的gcc系列工具,在重装系统后,执行以下代码,安装gcc系列工具箱。不用去考虑这个问题。因为本人踩过这个坑,装gcc的坑越陷越深,最后几天都出不来,倒不如重做系统后,按照我的步骤执行一遍,一条龙就下来了。大概两个小时完事。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake unzip pkg-config libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgtk-3-dev libopenblas-dev libatlas-base-dev liblapack-dev gfortran libhdf5-serial-dev python3-dev python3-tk python-imaging-tk

(3)错误:The cc sanity check failed …please make sure you have your linux distribution’s libc development package
解决办法:

sudo apt-get install build-essential
sudo apt --fix-broken install

参考内容

  1. Deepin 20配置NVIDIA驱动和CUDA——完美安装Tensorflow-gpu
  2. Ubuntu18.04 RTX2070 显卡驱动、Cuda、cudnn和Pytorch深度学习环境配置——亲测可可用
  3. NVIDIA 官网驱动介绍
  4. CUDA,NVIDIA Driver,Linux,GCC之间的版本对应关系表格