首先推荐两个博主的文章,大多都是参考二位
第一位https://www.cnblogs.com/left4back/p/10952845.html
另一位https://blog.csdn.net/u012925946/article/details/84788376
总结
其实安装命令很容易就能找到,但是自己执行起来却总是行不通。不知道为什么明明按照作者的步骤来的,但是却卡住了
提供以下几个注意的点:
安装cuda首先要做的就是查看内核是否符合要求,比如我要安装的CUDA8,0智能接受最高4.4的内核
其次,CUDA需要NVIDIA显卡,而且必须在双系统下才能运行,因为虚拟机下的ubutun检测不到显卡,没有办法使用
所以先保证你的配置环境符合。
再有就是多试试,就像我的CUDA在内核4。4下安装成功的,而驱动安装好之后 执行nvidia-smi 却没有效果。偶然的机会我打开 内核4.15.0-45 ,驱动成功了
一、降内核:
命令行敲入sudo dpkg --get-selections|grep linux-image并执行,返回了两个结果,分别为:
linux-image-4.15.0-45-generic install
linux-image-generic-hwe-16.04 install
说明我需要安装4.4 安装步骤如下:
1. 执行以下命令安装
$ sudo apt-get install linux-image-extra-4.4.0-98-generic
2. 执行以下命令查看是否安装成功
$ dpkg -l | grep 4.4.0-98-generic
具体版本号,可以查一下,4.4.后面有多种类型,都可以
3. 更新完成后重启系统
$ reboot
之后再次命令行敲入sudo dpkg --get-selections|grep linux-image并执行,返回了四个结果,分别为:
linux-image-4.15.0-45-generic install
linux-image-4.4.0-98-generic install
linux-image-extra-4.4.0-98-generic install
linux-image-generic-hwe-16.04 install
将linux-image-4.15.0-29-generic修改为linux-image-4.4.0-148-generic
执行sudo vim /etc/default/grub,打开grub设置文件,将GRUB_DEFAULT=0改为GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-148-generic'
随后执行sudo update-grub,如无错误提示,即意味着/boot/grub/grub.cfg修改成功,然后sudo reboot重启电脑
二、禁用nouveau
简单介绍一下nouveau,简单来说它和nvidia系列有冲突,不禁用的话可能会导致黑屏或循环登陆,因此一定要禁掉。
这里提供一个不太一样的禁用方法,这种方法不需要重启电脑。
分为四部:
1.首先ctrl+alt+f1切换到命令行界面,输入账号密码登录;
2.然后sudo service lightdm stop关闭图形界面;
3.sudo modprobe -r nouveau将nouveau彻底干掉;
4.执行lsmod | grep nouveau返回空说明nouveau已经清理干净。
三、安装CUDA
终于到了安装CUDA的步骤了,在禁用nouveau后,不要急着启用lightdm,转到cuda安装文件所在目录,用sudo命令进行安装,
我的cuda安装文件名为cuda_8.0.61_375.26_linux.run,记得要禁用opengl,所以我的命令就是sudo ./cuda_8.0.61_375.26_linux.run --no-opengl-lib,
禁用opengl据说是为了防止和系统原有的opengl冲突。其余默认安装即可。
注意:如果执行sudo ./cuda_8.0.61_375.26_linux.run --no-opengl-lib时出现未找到命令,找到cuda_8.0.61_375.26_linux.run文件,右键属性,将其调成可执行文件就可以了
四、安装驱动
/。。。。。。。。。。。。注意。。。。。。。。。。/
-
完事之后重启电脑,发现一直循环在登录界面进不了系统桌面
- 进入文本模式 CTRL+ALT+F1
- 1.2 卸载当前 NVIDIA 所有驱动
-
sudo apt-get remove nvidia-*
- sudo apt-get autoremove
- sudo nvidia-unistall
- 进入图像模式 CTRL+ALT+F7
1.3 重启电脑
/。。。。。。。。。。。。注意。。。。。。。。。。/
安装
第一种
1、 卸载旧的驱动
sudo apt-get purge nvidia*
sudo apt-get autoremove #这个命令有时候不用也可以
加入PPA,然后更新库,如果添加国内的镜像源的话,可以参考https://blog.csdn.net/u010592301/article/details/90451179
sudo add-apt-repository ppa:graphics-drivers
sudo apt-get update
查看适合本机的nvidia驱动
ubuntu-drivers devices
在终端安装上一步出现的最适合的nvidia版本,如果是384,这安装nvidia-384, 以此类推
sudo apt-get install nvidia-384 nvidia-settings nvidia-prime
最后使用nvidia-smi 查看是否已经读取到安装的驱动,然后重启
————————————————
版权声明:本文为CSDN博主「qianchess」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010592301/article/details/90452281
第二种
3、解决进入桌面
重新安装驱动
编辑文件blacklist.conf
sudo vim /etc/modprobe.d/blacklist.conf
在文件最后部分插入以下两行内容
blacklist nouveau
options nouveau modeset=0
更新系统
sudo update-initramfs -u
重启系统(一定要重启)
验证nouveau是否已禁用
lsmod | grep nouveau 没有反应说明成功了
4、在英伟达的官网上查找你自己电脑的显卡型号然后下载相应的驱动。网址:http://www.nvidia.cn/page/home.html
我的是NVIDIA-Linux-x86_64-440.100
下载后的run文件拷贝至home目录下。
5、卸载原先的所有驱动:
#for case1: original driver installed by apt-get:
sudo apt-get remove --purge nvidia*
安装
先按Ctrl+Alt+F1,关闭图形界面(过程中出现星号则证明需要输入密码)
1 $sudo service lightdm stop
再进入到.run文件目录中,安装驱动
把.run文件放在home文件夹下 2 $sudo chmod a+x NVIDIA-Linux-x86_64-xxx.run //修改权限 3 $sudo ./NVIDIA-Linux-x86_64-xxx.run -no-x-check -no-nouveau-check -no-opengl-files //执行安装
过程中根据提示,选择Accept等。
(3)完成安装
1 $sudo service lightdm start //启动图形界面
再按Ctrl+Alt+F7回到图形界面即可。
以上两种方法我都试过了,但是都把驱动安装没有成功,执行invidia-smi时都显示没有找到命令,此时我所在的环境为ubutun16.04 内核 4.4.98
然后切换回内核4.15.0-45,执行invidia-smi时出现
~$ nvidia-smi
Sat Jul 18 10:28:14 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.130 Driver Version: 384.130 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 950M Off | 00000000:01:00.0 Off | N/A |
| N/A 48C P0 N/A / N/A | 129MiB / 2002MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1178 G /usr/lib/xorg/Xorg 82MiB |
| 0 2052 G compiz 37MiB |
| 0 2225 G fcitx-qimpanel 7MiB |
+-----------------------------------------------------------------------------+
很神奇。