戴尔游匣g15 5515笔记本电脑g3060锐龙cpu版装入显卡驱动配置pytorch环境踩坑总结

news/2024/11/1 16:35:59/

游戏本ubuntu21.04装机配置pytorch环境大全

    • ubuntu更换镜像源
  • 0.删除之前的内容
  • 1.开始的ubuntu20.04尝试
  • 2.转换思路,改变系统的版本,使用ubuntu18.04
  • 3.再战ubuntu20.04
  • 4.使用ubuntu21.04顺利安装上
  • 5.安装nvidia驱动之后打开笔记本电脑显示Failed to start Load/Save Screen Backlight Brightness
    • 解决方案1
    • 解决方法2
  • 6.安装cuda
  • 7.安装cudnn-v8.0.5
  • 8.配置环境之后外接显示屏无法显示问题解决
    • 错误:nvidia-settings:ERROR: Unable to load info from any available system
    • 安装成功
    • 9.ubuntu关上笔记本盖子的时候不让它自动待机

最近买了一台戴尔g15 5515的笔记本电脑进行搭深度学习的环境,首先介绍以下这台电脑的配置
这台电脑的特点在于有一个集显和一个独显。
初始化命令:dconf reset -f /

ubuntu更换镜像源

https://www.zhihu.com/question/515638215

0.删除之前的内容

如果之前安装过ubuntu占用磁盘的情况下,可能会出现bios没有办法读取磁盘中内容的情况,此时需要先将之前占用的内容删除掉
删除之前磁盘占用的内容
如果有些恢复分区无法被删除,参考下面的文章
恢复分区无法被删除
如果windows和ubuntu双系统,可以进入windows将ubuntu系统盘删除,然后就可以在bios检测到ubuntu启动盘,如果是ubuntu删除windows,目前没找到合适的方法(启动界面检测不到windows启动盘的情况),目前只能是下载dgdos将硬盘全部格式化,然后重装windows,再装ubuntu。
具体的操作步骤可以参考文章格式化硬盘
接下来再进入bios的时候常按f12进入bios系统即可
注意这里的根目录内容之下一定要有50g,否则下载空间根本不够用,之前分配了15个g,中途不够用
我的分配区域
Swap(相当于电脑内存):逻辑分区、大小设置为电脑内存大小16G
16G=16384MB
/boot(引导分区):主分区:大小设置为480M;
51400 主分区 /
260314 逻辑分区 /home (剩下全给)

1.开始的ubuntu20.04尝试

插播一下,安装ubuntu20.04可能一片黑屏
Minimal BASH-like line editingis supported.解决方法
这里是由于选择最小安装造成的,实验了一下,如果安装的时候选择正常安装,则不会出现类似的问题
这里发现使用ubuntu20.04的时候,如果安装完对应的nvidia-370.63.04显卡驱动之后,重新开机屏幕会陷入黑屏之中,屏幕的左上角有一个光标不断地闪烁。
经过反复地尝试之后,我感觉问题出在集显和独显之上,由于集显在运转的时候不支持nvidia的驱动(集显为amd显卡),所以这里尝试着变换了一下思路,使用手动变换到独立显卡再尝试重新开机。
看了网上的很多教程,都是使用nvidia-settings进行变换的,这里由于nvidia-settings的配置无法打开,所以考虑使用命令行进行切换nvidia的内容
具体的操作命令如下所示:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get install nvidia-driver-470-server nvidia-settings nvidia-profiler

然后进行显卡的切换

sudo prime-select query#查看当前使用的显卡
sudo prime-select nvidia#转换为对应的nvidia显卡
sudo prime-select intel#转换为对应的intel显卡

发现这里转换为nvidia显卡的时候屏幕黑屏,但是nvidia-smi可以正常运行,转换为intel显卡的时候屏幕能正常显示,但是nvidia-smi无法正常运行

2.转换思路,改变系统的版本,使用ubuntu18.04

使用ubuntu18.04版本的系统之后更惨,这里的gcc编译器装不上去,导致无法安装nvidia-470.63.04的驱动,使用ubuntu18.04宣告失败

3.再战ubuntu20.04

接下来我再次尝试了几种方法,一个是使用命令行进行安装nvidia驱动的方法:

ubuntu-drivers devices   # 查询所有ubuntu推荐的驱动
sudo apt-get install nvidia-driver-470

发现这种安装方式与之前使用手动安装的操作结果相同,都是如果更换nvidia显卡之后进入黑屏模式但是nvidia-smi正常,如果更换intel显卡之后屏幕显示正常但是nvidia-smi不正常
接下来的尝试都无果,不得不切换到原先的部分重新进行操作

4.使用ubuntu21.04顺利安装上

装入ubuntu21.04对应系统的网址
这里我尝试了一下ubuntu21.10,发现安装失败,最主要是ubuntu安装完成之后输入nvidia-settings无法出现相应的那个选项。尝试一下ubuntu22.04版本。
然后装入470.63.04驱动
(如果这里是ubuntu21.10装470.129.06驱动)
这里装入是使用的手动装入的方法,先屏蔽原先的显卡内容
禁用nouveau

打开编辑配置文件:
sudo gedit /etc/modprobe.d/blacklist.conf
在最后一行添加:
blacklist nouveau
这一条的含义是禁用nouveau第三方驱动,之后也不需要改回来。
由于nouveau是构建在内核中的,所以要执行下面命令生效:
sudo update-initramfs -u

最后使用命令检测显卡驱动是否被删除

lsmod | grep nouveau

如果没被删除需要重启一波电脑
安装对应的nvidia-470.63.01驱动
注意这里安装驱动的过程需要在tty1的界面或者tty2的界面之中进行
停止可视化桌面
为了安装新的Nvidia驱动程序,我们需要停止当前的显示服务器。最简单的方法是使用telinit命令更改为运行级别3。执行以下linux命令后,显示服务器将停止,因此请确保在继续之前保存所有当前工作(如果有)
(提前把安装包放在用户文件夹之中,然后进入命令行界面):

sudo telinit 3

之后会进入一个新的命令行会话,使用当前的用户名密码登录
之后可以进入tty1的界面进行安装驱动
安装驱动

sudo apt-get update
sudo apt-get install gcc

如果这里安装gcc报错,可以参考下面的步骤
1.使用如下命令修改源

sudo gedit /etc/apt/sources.list

2.在打开的文件中添加如下源(在最后面加上这两行即可)

deb http://dk.archive.ubuntu.com/ubuntu/ xenial main
deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe

3.使用如下命令更新源

sudo apt update

更新源的时候如果报错,使用下面的命令

 debian更新清华源 GPG 错误:由于没有公钥,无法验证下列签名
apt-get update
正在读取软件包列表... 完成
W: GPG 错误:https://mirrors.tuna.tsinghua.edu.cn buster InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 04EE7237B7D453EC NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY DCC9EFBF77E11517
W: GPG 错误:https://mirrors.tuna.tsinghua.edu.cn buster-updates InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 04EE7237B7D453EC NO_PUBKEY 648ACFD622F3D138
W: GPG 错误:https://mirrors.tuna.tsinghua.edu.cn buster-backports InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 04EE7237B7D453EC NO_PUBKEY 648ACFD622F3D138
W: GPG 错误:https://mirrors.tuna.tsinghua.edu.cn buster/updates InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY AA8E81B4331F7F50 NO_PUBKEY 112695A0E562B32A
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 112695A0E562B32A##(此处换成错误的签名)

然后调用make安装

sudo apt-get install make

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

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

然后执行安装:

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

这里推荐的组合为470.63.01+cuda11.1+cudnn8.2.0
如果使用ubuntu22.04的话安装较方便,nvidia为550
ps:nvidia-settings在21.04系统之中也是可以使用的
我下的是cuda11.1.0以及cudnn8.2.1,cudnn8.2.1选cudnn library for linux
(下载完了之后的版本为cudnn-11.3)
安装完成之后,重启笔记本电脑会报以下的错误
[SOLVED] Failed to start Load/Save Screen Backlight Brightness
报错内容以及解决方案
[SOLVED] Failed to start Load/Save Screen Backlight Brightness

5.安装nvidia驱动之后打开笔记本电脑显示Failed to start Load/Save Screen Backlight Brightness

解决方案1

添加下列内容到/etc/default/grub

sudo vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi_backlight=vendor"

更新grub

sudo grub-mkconfig -o /boot/grub/grub.cfg

接下来发现亮度无法能够正常的进行调节,这里再一次调整/etc/default/grub的对应文件

GRUB_CMDLINE_LINUX=""

改为

GRUB_CMDLINE_LINUX="quiet acpi_osi=Linux acpi_backlight=vendor"

这里有可能重启之后再次报错,

Failed to start Load/Save Screen Backlight Brightness

此时将上面更新的grub内容

sudo grub-mkconfig -o /boot/grub/grub.cfg

或者

sudo update-grub -u 

多更新几遍即可
之前保存了一遍没用,连续保存三次后成功
后来发现上面的方法有时候失灵,
(第一段引入将

GRUB_CMDLINE_LINUX=""

改为

GRUB_CMDLINE_LINUX="quiet acpi_osi=Linux acpi_backlight=vendor"

之后接着操作,又引入了下面的方法

解决方法2

1、编写一个开机启动服务

sudo vi /etc/systemd/system/startup_brightness.service

文件内容如下所示:

[Unit]
Description=Dummy service for attempting to start the problematic amdgpu_bl0 service[Service]
Type=oneshot
ExecStart=systemctl start systemd-backlight@backlight:amdgpu_bl0[Install]
WantedBy=multi-user.target

2、让服务开机启动

sudo systemctl enable --now startup_brightness

关机重启,屏幕亮度能够自动保存
后续:发现这里报错主要原因由于u盘仍然插在笔记本电脑上面,如果拿掉u盘的情况下就可以成功进入系统???

6.安装cuda

接下来查看cuda的安装,注意安装cuda之前最好先查看一下pytorch的对应版本,从而能够保证pytorch与cuda的版本适配
ubuntu cuda和cudnn的配置
对应的下载命令可以在下面查找到
对应的下载命令
如果安装cuda11.1.0的情况下,需要到历史版本之中寻找
注意安装需要两个命令

wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run

然后进行安装

sudo sh cuda_11.1.0_455.23.05_linux.run

这里别漏输了
安装cuda配置的时候,会报错

Driver:   Not Selected
Toolkit:  Installed in /usr/local/cuda-11.1/
Samples:  Installed in /home/xiaoguzai/, but missing recommended librariesPlease make sure that-   PATH includes /usr/local/cuda-11.1/bin-   LD_LIBRARY_PATH includes /usr/local/cuda-11.1/lib64, or, add /usr/local/cuda-11.1/lib64 to /etc/ld.so.conf and run ldconfig as root
......
Logfile is /var/log/cuda-installer.log

关键的内容需要到/va/log/cuda-installer.log之中去查找,进入到了log内容之中查看,发现缺少了几个库

[WARNING]:Missing recommended library:libGLU.so
[WARNING]:Missing recommended library:libX11.so
[WARNING]:Missing recommended library:libXi.so
[WARNING]:Missing recommended library:libXmu.so
[WARNING]:Missing recommended library:libGL.so

缺少的库需要安装

sudo apt-get install libGLU-dev libX11-dev libXi-dev libXmu-dev libGL-dev

如果这里报错的话需要指令

sudo apt --fix-broken install libtinyxml2.6.2v5

注意如果找不到软件包的时候,需要把库改成小写的英文字母

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

如果还有报错内容为

[WARNING]:Cannot find manpages to install

报错:Error: unsupported compiler: 11.2.0. Use --override to override this check.
更换版本,执行下面的指令

sudo apt install gcc-8 g++-8
sudo ln -s /usr/bin/gcc-8 /usr/local/bin/gcc
sudo ln -s /usr/bin/g++-8 /usr/local/bin/g++

测试安装是否成功时,执行以下几条命令:

cd /usr/local/cuda-11.1/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

结果这里发生报错:
g++ no such file or directory
此时需要安装g++(有可能也需要安装cmake)

sudo apt-get install g++

正常情况下输出

正常情况下输出:./deviceQuery Starting...CUDA Device Query (Runtime API) version (CUDART static linking)Detected 1 CUDA Capable device(s)Device 0: "GeForce RTX 2070"CUDA Driver Version / Runtime Version          10.0 / 10.0CUDA Capability Major/Minor version number:    7.5Total amount of global memory:                 7950 MBytes (8335982592 bytes)(36) Multiprocessors, ( 64) CUDA Cores/MP:     2304 CUDA CoresGPU Max Clock rate:                            1620 MHz (1.62 GHz)Memory Clock rate:                             7001 MhzMemory Bus Width:                              256-bitL2 Cache Size:                                 4194304 bytesMaximum Texture Dimension Size (x,y,z)         1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)Maximum Layered 1D Texture Size, (num) layers  1D=(32768), 2048 layersMaximum Layered 2D Texture Size, (num) layers  2D=(32768, 32768), 2048 layersTotal amount of constant memory:               65536 bytesTotal amount of shared memory per block:       49152 bytesTotal number of registers available per block: 65536Warp size:                                     32Maximum number of threads per multiprocessor:  1024Maximum number of threads per block:           1024Max dimension size of a thread block (x,y,z): (1024, 1024, 64)Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)Maximum memory pitch:                          2147483647 bytesTexture alignment:                             512 bytesConcurrent copy and kernel execution:          Yes with 3 copy engine(s)Run time limit on kernels:                     YesIntegrated GPU sharing Host Memory:            NoSupport host page-locked memory mapping:       YesAlignment requirement for Surfaces:            YesDevice has ECC support:                        DisabledDevice supports Unified Addressing (UVA):      YesDevice supports Compute Preemption:            YesSupports Cooperative Kernel Launch:            YesSupports MultiDevice Co-op Kernel Launch:      YesDevice PCI Domain ID / Bus ID / location ID:   0 / 1 / 0Compute Mode:< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 10.0, CUDA Runtime Version = 10.0, NumDevs = 1
Result = PASS

说明安装成功
注意这里不需要特别地去安装python环境,因为ubuntu在安装的过程中自带了python的环境

7.安装cudnn-v8.0.5

到官网nvidia-cudnn官网找寻需要下载的cudnn内容
下载完成之后进行解压

tar -zxvf cudnn-10.0-linux-x64-v7.4.2.24.tgz 

然后进行复制

cp cuda/lib64/* /usr/local/cuda-11.1/lib64/
cp cuda/include/* /usr/local/cuda-11.1/include/

最后进行验证

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

接下来安装cudnn,安装完成之后

cat /usr/local/cuda/include/cudnn_version.Pool h | grep CUDNN_MAJOR -A 2

判断是否成功安装python3或者python之后,发现python3能够成功,但是python不能成功,此时需要python3链接到python。

sudo ln -s /usr/bin/python3 /usr/bin/python

安装pip

sudo apt-get install python3-pip

然后再去pytorch的官网安装pytorch的对应版本
jupyter notebook与python pip安装的库文件不同的原因
jupyter安装

sudo snap install jupyter

jupyter notebook与python pip安装的库文件不同
在python下面输出的对应路径内容

import sys
sys.path
['', '/usr/lib/python39.zip', '/usr/lib/python3.9', '/usr/lib/python3.9/lib-dynload', '/home/xiaoguzai/.local/lib/python3.9/site-packages', '/usr/local/lib/python3.9/dist-packages', '/usr/lib/python3/dist-packages', '/usr/lib/python3.9/dist-packages']

而在jupyter notebook下面输出的对应内容

import sys
sys.path
import syssys.path['/home/xiaoguzai/程序','/snap/jupyter/6/lib/python37.zip','/snap/jupyter/6/lib/python3.7','/snap/jupyter/6/lib/python3.7/lib-dynload','','/snap/jupyter/6/lib/python3.7/site-packages','/snap/jupyter/6/lib/python3.7/site-packages/IPython/extensions','/home/xiaoguzai/snap/jupyter/6/.ipython']

此时我们需要把Jupyter notebook少的路径加入进来
输入指令,找寻jupyter notebook的对应路径

import site
site.getsitepackages()

找寻出来的路径为

['/snap/jupyter/6/lib/python3.7/site-packages']

参考jupyter notebook与python pip安装的库文件不同
以及
jupyter notebook导入新包
不知道怎么就弄好了(主要应该还是通过路径的cp指令的操作)
主要使用的是newpath.path放入jupyter notebook中的/snap/jupyter/6/lib/python3.7/site-packages的方法
(在/snap/jupyter/6/lib/python3.7/site-packages之中放入含有’/usr/lib/python39.zip’, ‘/usr/lib/python3.9’, ‘/usr/lib/python3.9/lib-dynload’, ‘/home/xiaoguzai/.local/lib/python3.9/site-packages’, ‘/usr/local/lib/python3.9/dist-packages’, ‘/usr/lib/python3/dist-packages’, '/usr/lib/python3.9/dist-packages’这几个路径的newpath.path,这里面可能有读写目录的权限问题,所以需要先赋予相应目录权限

sudo chmod a+x 对应目录

然后再将文件复制到对应目录之中
)
安装时出现HTTPSConnectionPool Read timed out问题解决
解决方法:插上网线之后,安装速度很快,安装的软件包直接就能够安装上去了

8.配置环境之后外接显示屏无法显示问题解决

能够连接外接显示屏但是无法识别的解决方法
输入命令

xrandr

能够有相应的输出,识别出对应的外接显示屏,但是外接显示屏仍然无法显示
使用nvidia-settings会报以下的错误信息内容

xiaoguzai@xiaoguzai-Dell-G15-5515:~$ nvidia-settings(nvidia-settings:3649): GLib-GObject-CRITICAL **: 21:00:15.584: g_object_unref: assertion 'G_IS_OBJECT (object)' failedERROR: nvidia-settings could not find the registry key file or the X server isnot accessible. This file should have been installed along with thisdriver at/usr/share/nvidia/nvidia-application-profiles-key-documentation. Theapplication profiles will continue to work, but values cannot beprepopulated or validated, and will not be listed in the help text.Please see the README for possible values and descriptions.

尝试一下使用以下的指令更新库

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo add-apt-repository ppa:xorg-edgers/ppa

更新完成之后进行安装nvidia-settings

sudo apt-get install nvidia-driver-470-server nvidia-settings nvidia-profiler

此时就会出现PRIME Profiles选项
如果想要安装nvidia其他版本的server,可以运行ubuntu-drivers devices,就能够看到其他版本的server内容了,比如我之后安装了ubuntu22.04版本,对于这个版本来说,nvidia-driver-550-server要比nvidia-driver-470-server更适配,因此选择合适版本的server很重要。
安装完看不到相应的选项需要重启一下
截图的结果此时我们是试着选择一下NVIDIA(Performance Mode),
重启电脑之后发现成功了,现有的电脑屏幕可以成功地扩展到外接显示屏之中!!!

错误:nvidia-settings:ERROR: Unable to load info from any available system

这里是装好nvidia-settings之后,调用nvidia-settings命令出现这种错误,出现这种错误的本质原因是nvidia-smi的显卡驱动安装错误,调用nvidia-smi会报错

nvidia-smi

报错:

NVIDIA-SMI couldn't find libnvidia-ml.so library in your system. Please make sure that the NVIDIA Display Driver is properly installed and present in your system.
Please also try adding directory that contains libnvidia-ml.so to your system PATH.

需要重装一下nvidia的驱动内容,卸载重装可以查看一下内容
卸载重装网址

安装成功

最终大功告成!!!
大功告成图片

9.ubuntu关上笔记本盖子的时候不让它自动待机

修改 Login Manager的配置文件。

sudo gedit /etc/systemd/logind.conf

将其中的

#HandleLidSwitch=suspend

改成或者添加一行

HandleLidSwitch=ignore

然后重启服务:

sudo restart systemd-logind

或者这样重启:

service systemd-logind restart

http://www.ppmy.cn/news/132352.html

相关文章

ORACLE 11G 性能诊断优化之ASH实战分析详解

1、ASH &#xff08;Active SessionHistory&#xff09; ASH以V$SESSION为基础&#xff0c;每秒采样一次&#xff0c;记录活动会话等待的事件。不活动的会话不会采样&#xff0c;采样工作由新引入的后台进程MMNL来完成。 v$active_session_history视图提供了在实例级别抽取会话…

[百家号]铁流:华为Hi1620发布 自研内核还是ARM改?

华为Hi1620发布 自研内核还是ARM改&#xff1f; https://baijiahao.baidu.com/s?id1618735211251270521&wfrspider&forpc 铁流 发布时间&#xff1a;18-12-0218:44 日前&#xff0c;华为发布了ARM服务器CPU Hi1620&#xff0c;如果不算存在于传说中的Hi1610&#xff0…

生命不息,折腾不止——新的起点

在家里窝了两天&#xff0c;什么都没做什么都没想&#xff0c;有点心急&#xff0c;急也没用。 好好把丢掉的东西学回来&#xff0c;问问自己到底想去哪里&#xff0c;到底想做什么&#xff1f; 给自己一点时间

天阔服务器1620-G15如何装系统,曙光服务器和存储产品与技术介绍.pptx

曙光天阔服务器和存储产品介绍 2013-11 1 2 曙光2013年新产品介绍 3 曙光服务器产品管理功能介绍 曙光产品线概况介绍 国内最全的服务器产品线 A系列服务器 龙芯服务器 I系列服务器 A840: 4U 四路 A620/A420: 2U 双路 A610/A410: 1U 双路 A650/A440: 塔式 双路 I950: 5U …

启发式合并详解 (基于CF 1620E - Replace the Numbers)

前言&#xff1a; 这是Educational Codeforces Round 119 (Rated for Div. 2)的第五题&#xff0c; 这个题我最开始使用从后往前的方法写的&#xff0c;复杂度 O ( n ) O(n) O(n)。 交完以后我看看了题解&#xff0c;题解提供了两种办法&#xff0c;第二种是用启发式合并&…

[ZCMU OJ]1620: 全排列 1683: 排列(next_permutation全排列函数的使用)

首先我们先来认识一个函数&#xff1a;全排列函数——next_permutation。这个函数用于全排列问题功能十分强大。与之相对还有一个函数prev_permutation&#xff1b;二者区别在于&#xff1a;前者求的是下一个全排列&#xff0c;而后者求的是上一个全排列&#xff1b;二者在用法…

Weblogic 11g 部署

操作系统&#xff1a;RedHat Enterprise Linux 5 32位 Weblogic版本&#xff1a;wls1035_oepe111172_linux32.bin 安装weblogic 1、修改控制参数 [rootyorkshi ~]# vi/etc/security/limits.conf # /etc/security/limits.conf # #Each line describes a limit for a user inthe …

2g 双核电脑 linux,9208)(奔腾双核E5200/2G/320G)电脑详细技术

处理器型&#xff1a;intel 酷睿2双核 p7350 intel 酷睿2双核 p7450 intel 酷睿2双核 t6600 intel 奔腾双核t4300 intel 奔腾双核 t4400 intel 赛扬双核 t1600 intel 赛扬双核 t3000操作系统&#xff1a;windowsvista home basic dos标配内存&#xff1a;1gb 2gb 硬盘容量&…