首先按照以往的装机经验安装ubuntu18之后,发现无线网卡不能使用,HDMI无法输出,简单查询之后发现,无线网卡驱动需要更新内核,以为20不需要,便重新刷了20,结果还是同样问题,网友建议直接上21,鉴于20是lts,又可能长期不更换ubuntu系统,还是决定在20基础上进行配置。
首先因为锐龙集显的问题,直接从软件更新中安装N卡驱动会导致重启卡死,甚至连非图形化界面都无法加载。
安装N卡驱动
解决方法参考另一位up:https://www.bilibili.com/read/cv10088257?from=search
去这个网址下载所有文件并复制进amdgpu目录:https://people.freedesktop.org/~agd5f/radeon_ucode/gs/
进入下载目录用终端打开并输入:
sudo cp green_sardine_* /lib/firmware/amdgpu/
更新内核:
sudo apt install linux-image-5.10.0-1033-oem linux-headers-5.10.0-1033-oem
然后就可以在附加驱动中安装N卡驱动,这里我安装的是460
重启后生效:
安装8852AE网卡驱动
再一个问题就是无线网卡驱动了,我这一台用的是Realtek 8852AE
使用项目:https://github.com/lwfinger/rtw89#start-of-content
sudo apt-get update
sudo apt-get install make gcc linux-headers-$(uname -r) build-essential git
git clone https://github.com/lwfinger/rtw89.git -b v5
cd rtw89
make
sudo make install
成功之后load驱动:
sudo modprobe rtw89pci
附:我在执行完这一步之后,再重启发现网卡驱动消失,重新make install & load之后再重启又可以了。。。。。
安装ROS noetic
主要参考roswiki 不再赘述:http://wiki.ros.org/cn/noetic/Installation/Ubuntu
安装一些必备的软件
因为硬盘只有一块512固态,能分给ubuntu的属实不多,就不装wine了
qq 、wps、百度云、chrome 用到啥再装啥吧,我都是官网下载deb,执行 sudo dpkg -i XXXXX.deb
安装python3.6使用virtualenv管理python环境
安装python3.6
我没想到的是这个版本的ros已经不依赖python2.7,系统上现在只有python3.8
后面安装低版本的pytorch依赖不了3.8版本的python遂在此先安装3.6
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.6
现链接以下现有的python环境方便切换
sudo update-alternatives --list python
不出意外的话会显示没有候选项,更新列表:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2
现在执行上面的list命令应该可以了,然后运行这句指令切换python版本
sudo update-alternatives --config python
virtualenv
sudo apt-get install pip
sudo apt-get install python3-virtualenv
sudo apt-get install python3-virtualenvwrapper
mkdir $HOME/.virtualenvs
在.bashrc中添加:
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
然后source的时候提示:bash: /usr/local/bin/virtualenvwrapper.sh: 没有那个文件或目录
查了一下大家好像可以在.local/bin中找到,但是这个sh我只能在share中中找到,遂将上一句指令改为:
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh
然后source以下.bashrc就可以了
virtualenvwrapper简单用法:
创建指定版本的python环境:
mkvirtualenv -p /usr/bin/python3.6 pytorch1.4.0
进入已经创建好的python环境:
workon pytorch1.4.0
退出虚拟环境:
deactivate
删除某个虚拟环境:
rmvirtualenv pytorch1.4.0
安装CUDA +cudnn+ pytorch (训练出现问题,主要是显卡需要更高版本的CUDA 升级CUDA见 (二) )
CUDA的版本要跟N卡版本对应,一般来说是向下兼容的,也就是说,把N卡的驱动升级为高版本,CUDA、cudnn的版本低一些也没什么问题。
之前安装的是460驱动,这里就不变了。直接安装CUDA。
可以进入官网找到自己想要的CUDA版本:https://developer.nvidia.com/cuda-toolkit-archive
我手上有之前下好的,就直接用老版本10.0,安装之前需要GCC降级
sudo apt-get install gcc-7 g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50
然后就可以通过这句指令来切换gcc:
sudo update-alternatives --config gcc
CUDA
进入cuda下载目录执行:
sudo ./cuda_10.0.130_410.48_linux
接下来会卡一下,然后阅读一个漫长的协议。
Do you accept the previously read EULA?
accept/decline/quit: accept
You are attempting to install on an unsupported configuration. Do you wish to continue?
(y)es/(n)o [ default is no ]: y
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
(y)es/(n)o/(q)uit: n
Install the CUDA 10.0 Toolkit?
(y)es/(n)o/(q)uit: y
Enter Toolkit Location
[ default is /usr/local/cuda-10.0 ]:
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
Install the CUDA 10.0 Samples?
(y)es/(n)o/(q)uit: n
之后等待安装完毕就可以了
sudo gedit ~/.bashrc
在文件末尾添加
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
使设置生效
source ~/.bashrc
检查是否安装成功
nvcc -V
cudnn
进入官网https://developer.nvidia.com/rdp/cudnn-download
选择对应CUDA的CUDNN,可以复制下载链接去迅雷下载。
tar -xzvf cudnn-10.0-linux-x64-v7.6.5.32.tgz
sudo cp cuda/include/* /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
PyTorch
进入python3.6的虚拟环境
进入其下载网址下载相应的whl文件:https://download.pytorch.org/whl/torch_stable.html
然后在下载目录执行
pip install torch-1.4.0+cu100-cp36-cp36m-linux_x86_64.whl
pip install torchvision-0.5.0+cu100-cp36-cp36m-linux_x86_64.whl
测试
python
输入
import torch
import torchvision
测试GPU ,若成功 返回 true
print(torch.cuda.is_available())