当前位置: 首页 > article >正文

在深度Linux (Deepin) 20中安装Nvidia驱动

文章创作不易,麻烦大家点赞关注收藏一键三连。


在Deepin上面跑Tensorflow, pytorch等人工智能框架不是一件容易的事情。特别是如果你要使用GPU,就得有nvidia的驱动。默认情况下Deepin系统自带的是nouveau开源驱动。这是没办法用tensorflow的。下面内容是如何在Deepin 20.3中安装nvidia驱动。

下载驱动

首先仍然是下载驱动。打开 https://www.nvidia.cn/geforce/drivers/,之后在列表里面查找你的显卡和平台。这里特别要注意的是操作系统一定要选择Linux 64-Bit。语言选中文或者英文都无所谓。你后面安装的时候会发现你选了中文也是英文安装界面。

图片

选好以后点“开始搜索”,找到对应的驱动就可以下载了。后面的步骤比较直接我就不截图了。

准备工作

我们假设下载以后是在~/Downloads目录下。安装之前检查一下显卡驱动。最简单的办法是打开深度应用商店,之后搜索并安装显卡驱动管理器(Graphics Driver Manager)。

图片

安装好以后打开。如果你的驱动选择不是第一个集显驱动,那么把驱动切换成集显驱动。

图片

修改好以后还需要安装几个必要的包:

sudo apt install pkg-config libglvnd-dev libglvnd-core-dev

之后把系统重启以后到grub界面按e键进行编辑。找到initrd那一行,在后面(不要换行)加上以下内容:

nouveau.modeset=0 init 3 

熟悉grub的读者可能知道init 3意思是把Linux启动到命令行下面。这主要是因为nvidia驱动不能在x server启动的情况下安装。

文本模式下安装

启动到文本模式下以后,输入用户名和密码之后准备安装(下面例子中我的安装文件名称是NVIDIA-Linux-x86_64-495.44.run):

$ cd ~/Downloads/ $ chmod +x NVIDIA-Linux-x86_64-495.44.run  $ ./NVIDIA-Linux-x86_64-495.44.run

配置grub

安装好以后输入reboot重启。重启其实默认系统还是会启动nouveau。为了把nouveau禁用掉,进入到/etc/default/grub.d下面,找一下有没有类似10_deepin.cfg的。如果有的话修改一下,在里面内容加上"nouveau.modeset=0"。比如我的修改过以后就是:

GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT DEEPIN_GFXMODE=\$DEEPIN_GFXMODE nouveau.modeset=0"

之后更新grub:

$ sudo update-grub

再重启登录以后,在命令行输入nvidia-smi就可以看到nvidia驱动已经被正确安装了。

安装CUDA

安装CUDA之前,首先安装一下build-essential

 sudo apt-get install build-essential

这里以CUDA 11.2为例,首先还是下载:https://developer.nvidia.com/cuda-11.2.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Debian&target_version=10&target_type=runfilelocal

图片

可以看到在网页下面有Base Installer的指令。按照指令首先下载:

wget https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux.run

下载好以后检查一下是否有执行权限,正常情况下是应该有的。如果没有可以chmod +x加上以后sudo运行。

运行以后第一个屏幕是这样的:

图片

在光标处打字输入accept。之后选择组件:

图片

默认情况下驱动(Driver)是选中的,因为我们已经安装好了驱动,所以没必要在这里选择,把光标用方向键移动到Driver那一行,然后按空格键取消选择(反选以后的状态就像上面图片中一样),之后光标移动到Install按回车。

安装好的文件夹在/usr/local/cuda-11.2(如果版本不同路径名称也会有差异).

之后用root身份编辑/etc/profile文件,将/usr/local/cuda-11.2/bin加入PATH环境变量中,将/usr/local/cuda-11.2/lib64加入LD_LIBRARY_PATH环境变量中。比如我的/etc/profile开头我改成了这样:

if [ "`id -u`" -eq 0 ]; then  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/cuda-11.2/bin"else  PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin:/usr/sbin:/usr/local/cuda-11.2/bin"fiexport PATH
LD_LIBRARY_PATH="/usr/local/cuda-11.2/lib64"export LD_LIBRARY_PATH

之后可以重启一下机器让配置生效。

如果要验证是否安装正确,可以将cuda目录下的samples拷贝出来进行构建(build)。如果能够构建成功不出错那么就说明安装成功了:

$ cp /usr/local/cuda-11.2/samples/ ~/samples -Rf$ cd ~/samples$ make

编译以后的二进制文件应该在~/samples/bin/x86_64/linux/release下面。可以进一步尝试运行一下这些二进制文件。

安装nvidia-docker

如果要在docker里面跑一些深度计算,那么需要安装nvidia-docker。首先还是要安装docker。Deepin自带的软件源里面已经有docker了。所以可以直接用apt进行安装:

$ sudo apt install docker-ce docker.io

之后启动docker服务:

$ sudo systemctl start docker

如果不想老是sudo,可以当前用户加入docker用户组:

$ sudo usermod -aG $USER

上面命令里面可以把$USER换成你需要的用户名。运行以后需要注销一次再重新登录以使得变更生效。

之后运行下面的命令安装nvidia-docker:​​​​​​​

$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -$ curl -s -L https://nvidia.github.io/nvidia-docker/debian10/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list  $ sudo apt update && sudo apt install -y nvidia-container-toolkit


到这里所有安装就完成了。后面就应该可以用GPU跑绝大多数的人工智能框架了。


http://www.kler.cn/a/520967.html

相关文章:

  • MiniMax-01中Lightning Attention的由来(线性注意力进化史)
  • API接口设计模板
  • Zotero中使用Deepseek翻译
  • 基于Python的哔哩哔哩综合热门数据分析系统的设计与实现
  • 小程序开发实战:记录一天的 Bug 修复历程
  • 绘制决策树尝试2 内含添加环境变量步骤
  • AIGC时代下的Vue组件开发深度探索
  • Centos7系统php8编译安装ImageMagick/Imagick扩展教程整理
  • 数据结构课设——模糊查询汉字和其位置
  • 机器学习2 (笔记)(朴素贝叶斯,集成学习,KNN和matlab运用)
  • 推箱子游戏
  • 第04章 17 实现一个逐步收缩球体的视觉效果
  • 分布式系统学习:小结
  • 从项目复查做一些TypeScript使用上的总结
  • 多模态论文笔记——VDT
  • ZooKeeper 数据模型
  • react-native网络调试工具Reactotron保姆级教程
  • java8-日期时间Api
  • 83,【7】BUUCTF WEB [MRCTF2020]你传你[特殊字符]呢
  • PyCharm接入DeepSeek实现AI编程