本弱鸡在使用deepin系统时遇到了无法关机,运行nvidia-smi无法查看GPU资源的情况。本教程综合参考了网上很多关于nvidia驱动的安装教程,尝试了很多次,亲测可以在deepin v15.11& v20两个版本的系统中安装成功。
注:我的电脑显卡为 nvidia geforce gtx 1050
一、安装NVIDIA驱动
1、禁止nouveau驱动,在终端中运行一下命令:
sudo nano /etc/modprobe.d/blacklist.conf
然后在打开的blacklist.conf文件中添加如下内容:
blacklist nouveau
options nouveau modeset=0
然后执行命令:
sudo update-initramfs -u
一直等到检测结束,退出重启电脑,重新启动后验证是否成功,运行以下命令:
lsmod | grep nouveau
注:如果页面没什么反应、无输出什么内容即为成功。
2、NVIDIA安装过程
① 在官网下载对应NVIDIA型号的驱动版本
我下载的是 NVIDIA-Linux-x86_64-435.21.run 网址:https://www.geforce.cn/drivers
② 如果之前在Deepin中安装过NVIDIA驱动,请将其全部删除:
sudo apt autoremove nvidia-*
③ 重启系统
④ 使用快捷键CTRL+ALT+F2进入终端。
⑤ 暂时关闭图形界面:
sudo service lightdm stop
⑥ 给下载好的nvidia驱动文件设置执行权限
sudo chmod a+x /home/fengqi/Desktop/NVIDIA-Linux-x86_64-435.21.run
⑦ 驱动安装
sudo sh /home/fengqi/Desktop/NVIDIA-Linux-x86_64-435.21.run
⑧ 重启系统
sudo reboot
⑨ 执行: nvidia-smi 会发现这个时候其实NVIDIA的显卡并没有独立工作,显存一点都没有占用。我的电脑是双显卡,这时候其实依然是intel集成显卡在工作,故我们需要下一步
3、设置默认NVIDIA显卡工作(注意接下来几步要仔细,否则会造成系统图形化界面无法正常进入)
① 打开终端,使用如下命令查看自己的显卡型号
lspci -nn | egrep -i "3d|display|vga"
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:591b] (rev 04)
01:00.0 3D controller [0302]: NVIDIA Corporation Device [10de:1c8d] (rev a1)
记下Nvidia显卡的型号与最前边的编号
② 查看显卡信息
其实这一步在这里是多余的,我们在之前在官网上就已经找到支持自己显卡的驱动版本
nvidia-detect
Detected NVIDIA GPUs:
01:00.0 3D controller [0302]: NVIDIA Corporation Device [10de:1c8d] (rev a1)
Checking card: NVIDIA Corporation Device 1c8d (rev a1)
Your card is supported by the default drivers.
It is recommended to install the
nvidia-driver
package.
Your card is supported by the default drivers.
如果你的输出和我的相同,那么之后的安装完全和本教程一致即可, 否则需要指定驱动版本号
③ 查看/etc/X11目录,查看有没有xorg.conf文件,没有则创建,添加如下代码
注意:BusID是我们之前在第2步记录的编号,但是有点区别,比如我的编号为 01:00.0,那么我的BusID应为1:0:0
Section "Module"
Load "modesetting"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "1:0:0"
Option "AllowEmptyInitialConfiguration"
EndSection
保存退出
④ 创建切换N卡脚本
vim /usr/local/bin/switch_nvidia.sh
添加内容,红字部分为dpi,普通屏幕无需修改,高分辨率的请自行参考资料
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
xrandr --dpi 96
保存并退出,授予执行权限
chmod +x /usr/local/bin/switch_nvidia.sh
⑤ 根据DM (Desktop Manager)的类型选择配置文件进行修改,请自行选择
这里可以参考https://www.cnblogs.com/hellxz/p/7865790.html
deepin系统的类型为lightDM
打开/etc/lightdm/lightdm.conf 搜索display-setup-script=,一般是第二个,去除前边的#号注释,修改为如下
display-setup-script=/usr/local/bin/switch_nvidia.sh
保存后,重启lightdm
systemctl restart lightdm.service
界面会自动重启,重启之后驱动已经安装完毕
⑥ 终端执行:nvdia-smi 可以发现process栏里的已经有显示GPU资源信息了
***nice play~***
二、安装 tensorflow2.0.0_gpu
1、安装
conda install tensorflow-gpu==2.0.0
2、在jupyter中验证
import tensorflow as tf
tf.test.is_gpu_available()
# True
完结撒花~ nice play!