1. Introduction
deepin可以按照正常cuda toolkit的方式安装cuda 9.0,但是10.0+就出现了问题。查看安装日志也看不出所以然。在cuda论坛阴差阳错发现了一个用来解决其他问题的方法,但是可以用来解决deepin上cuda toolkit的安装。
2. 正常安装toolkit和driver的方法
2.1 禁用默认闭源驱动
# 使用vim或者其他编辑器添加配置文件
sudo vim /etc/modprobe.d/nvidia-installer-disable-nouveau.conf
# 编辑内容如下
blacklist nouveau
options nouveau modeset=0
# 卸载之前安装的nvidia相关东西
sudo apt purge nvidia-*
sudo reboot
2.2 安装驱动
deepin15.10是基于debian9,因此从cuda官网下载的是ubuntu16.04的run包。
先通过ctrl + alt + F2
进入tty2(默认tty1是图形界面):
# 关闭dm
sudo service lightdm stop
# 如果是其他的桌面环境比如gnome
sudo service gdm stop
sudo service gdm3 stop
# 给下载的cuda安装文件添加执行权限
chmod +x ./cuda.run
# 安装驱动
sudo ./cuda.run
进入安装驱动界面以后,只勾选driver,因为其他的目前都装不上。安装大概需要几分钟时间,会提示你安装失败还是成功,安装完成后重启。
2.3 安装cuda toolkit
如果在2.2安装时选择了toolkit,从安装日志里可以发现,所有步骤都是安装成功。但安装完成后,莫名开始按照/var/log/nvidia/.uninstallManifests
里的所有文件卸载安装的部件。所以一个比较容易想到的解决思路就是让安装包对这个目录没有读写的权限。
在论坛里找了一个Failing to install 10.1 via .run file on RHEL7 as non-root不使用sudo安装toolkit的帖子。直接按照帖子里的方法在deepin上安装cuda toolkit即可:
cd ~/opt/
mkdir cuda10.1
cd ~/Downloads/
./cuda.run --silent --toolkit --toolkitpath=$HOME/opt/cuda10.1 --defaultroot=$HOME/opt/cuda10.1 --samples --samplespath=$HOME/
没有报错,就说明安装成功了。在系统的/usr/local/
下创建toolkit10的链接:
sudo ln -s ~/opt/cuda10.1 /usr/local/
# 测试安装是否成功
cd ~/NVIDIA_CUDA-10.1_Samples/1_Utilities/deviceQuery
make
./deviceQuery
如果deviceQuery可以正常打印结果,那就说明安装完成!:raised_hands:
2.4 设置环境变量
可以修改~/.bashrc
或者/etc/profile
,添加如下内容(记得重启):
CUDA_HOME=/usr/local/cuda/
export PATH=$PATH:$CUDA_HOME/bin/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_HOME/lib64
Comments