最近尝试在ubuntu中安装nvidia的显卡驱动以及cuda。花了近三天时间,真的如网上所说错误百出,期间甚至重装了一次ubuntu系统,搞到怀疑人生,整个都是泪- -。最终经过百般“磨难”总算安装成功。此篇博客将我的整个安装过程介绍一下,包括错误的步骤与我个人理解的错误分析,以及最终成功的安装方法。一方面作为后来人的参考,另一方面也作为我的学习记录。

-------------------------------------------------------------------------------------------------

首先说明一下我的电脑配置:

笔记本型号:DELL游匣7566(i7  8G)。双系统(win10+ubuntu)

ubuntu 系统版本:安装失败版本(14.04);安装成功版本(16.04)
显卡:nvidia   GeForce GTX 960M

注意,以下方法均未成功安装,请勿尝试,仅作错误参考)--------------------

下面先说一下我一开始的安装步骤,注意,以下说明的步骤均未安装成功,因此仅作为失败参考,如果你也出现类似情况,那么可以对照进行更改。

nvidia 官网提供的cuda安装方式有两种,一种是run文件安装,一种是deb安装

刚开始我参考一本caffe书籍的方法,用的deb安装方式,首先讲一下这个方法。

失败方法1:ubuntu14.04+cuda7.5 deb安装

我一开始的ubuntu版本是14.04,其搭配的cuda版本为7.5。因此首先从nvidia官网下载cuda7.5版本的deb文件https://developer.nvidia.com/cuda-75-downloads-archive.下载完以后,终端进入文件目录,输入如下指令:

sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
sudo apt-get update
sudo apt-get install cuda

接下来重启,进入循环登录的错误。(这个错误最常见!)

按Ctrl+Alt+F1,进入text mode(话说这个挺高大上的=.=),登录你的账户。卸载刚装的cuda和显卡驱动。指令如下:

sudo apt-get remove --purge nvidia*
sudo apt-get remove --purge cuda

sudo reboot重启电脑,此时电脑恢复原样(美滋滋)。

接下来参考网上其他博客的方法,他们都推荐用run的安装方式,于是我也开始了run尝试。

失败方法2:ubuntu14.04+cuda7.5 run安装

a) 从nvidia官网下载cuda7.5版本的run文件,https://developer.nvidia.com/cuda-75-downloads-archive,之后将其移到home目录。

b) 接下来禁用nouveau(很重要!)。在/etc/modprobe.d中创建文件blacklist-nouveau.conf,在文件中输入以下内容

blacklist nouveau
options nouveau modeset=0

打开终端,运行

sudo update-initramfs -u

设置完毕以后可以运行

lsmod | grep nouveau

检查nouveau是否禁用成功,如果运行后没有任何输出,则代表禁用成功。

c)重启电脑,到达登录界面时,按Ctrl+Alt+F1,进入text mode。

d)输入

sudo service lightdm stop

关闭图形化界面(很重要!)

e)输入

sudo ./cuda_7.5.18_linux.run

开始安装cuda。

接下来根据提示进行安装,遇到提示是否安装openGL,选择no(很重要!),其他选择yes以及默认配置。安装成功后,会显示installed,否则会显示failed。我的当时是显示installed。

e)输入

sudo service lightdm start

重新启动图形化界面。接下来会跳到登录界面,输入密码登录。此时未出现循环登陆的错误(内心暗喜)。

f)重启电脑。检查/dev文件夹下是否有nvidia*多个文件。如果没有的话,按照官方文档里的步骤进行添加。

重点来了,我这个方法的错误就出现在这里,/dev文件夹下没有nvidia*多个文件,我按照官网公布的步骤进行添加,仍然没有,终端查询nvidia显卡驱动,竟然查不到信息。通常,如果你用cuda的run文件安装方式,它会自动帮你安装显卡驱动。现在我的问题总结下来就是,cuda装上去了,显卡驱动却未成功安装(what the fuck?!),虽然未遇到循环登录的错误,这个错误也着实让我头疼。于是卸载cuda,网上查询了一番,进行第3次安装(委屈脸//)

失败方法3:先装好NVIDIA驱动,再进行cuda.run文件安装

此时的ubuntu版本仍然是14.04。现在的想法是,上一个方法中显卡驱动未成功安装,那么是不是可以先把显卡驱动装了,再进行cuda的安装。于是进行第二次尝试:先装nvidia驱动,再装cuda。

a)去nvidia官网下载对应显卡型号的驱动,也是个run文件,网址如下:http://www.nvidia.cn/Download/index.aspx?lang=cn。下载完以后同样将其移到home路径下。

b) 打开终端,先删除旧的驱动:(虽然我的显卡驱动根本就没装上去,但为了保险起见,还是执行了这一步)

sudo apt-get --purge nvidia*

c)由于之前已经禁用了nouveau,所以禁用nouveau这一步无需进行。

d)同样按Ctrl+Alt+F1,进入text mode。输入

sudo service lightdm stop

关闭图形化界面

e)输入

sudo ./NVIDIA....run

注意,以上sudo后面的run文件视显卡型号而变。

f)接下来进行安装,期间会跳出UEFI安全启动的相关问题,按照提示进行操作即可,问题不大。开启图形化界面

sudo service lightdm start

g)接下来便出现循环登录的错误了(心力憔悴!!。。)无奈,只好再次进入text mode(此时这个仍然可以用!),卸载刚装的nvidia驱动。(进一步委屈脸//)

失败方法4:系统推荐的NVIDIA显卡驱动版本+cuda.run 文件安装

鉴于第二种失败的方法,我思考是否驱动版本不对的原因。于是这次我更换了NVIDIA的显卡驱动版本,在设置里面查询附加驱动,里面有推荐的显卡驱动版本号,这次我没有在官网上下载驱动run文件,而是直接apt-get安装了,两者其实一样。终端装完以后重启电脑,这次没有出现循环登录的问题。但问题却更严重了,系统卡在开机logo那里了!这也没法进入text mode 啊。傻傻的等了近20分钟,依然没反应,强制重启,仍是卡住,这下可绝望了,难道要我重装系统,我里面的资料都没备份啊啊啊啊!!!结局你懂得,重装认命- -

失败方法5:ubuntu16.04+cuda8.0 run文件

默默掏出U盘重装系统,装了个16.04的版本,这个系统的版本搭配cuda8.0。继续重复方法2的步骤,出现相似错误(显卡驱动装不上)。

失败方法6:先装好NVIDIA驱动,再装cuda run

错误情况同方法3(循环登录)。

-----------------------------------------------------------------------(分割线)

以上便是我的失败经历,有些细节未详细说明,大抵如此。接下来好好思考了一番,也查阅了不少资料。进行了最终的安装方法。

成功安装方法:ubuntu16.04+cuda8.0 deb安装

这个方法仅仅在失败方法1中添加了几步而已(囧),下面说明一下步骤:

a)从nvidia官网下载cuda8.0版本的deb文件https://developer.nvidia.com/cuda-80-ga2-download-archive.

b)禁用nouveau(参考前述方法)

c)无需关闭图形界面,在终端输入

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda

d)重启,终端输入

sudo nvidia-smi
sudo nvidia-settings

显示nvidia驱动信息,安装成功,同时设置里面显示驱动也为nvidia显卡,没想到步骤这么简单,仅仅在失败方法1中禁用了nouveau。

--------------------更新-------------------------

现阶段使用deb的方法是最稳定的,参考官网的教程指令就好!!

ubuntu安装nvidia驱动以及cuda教程的更多相关文章

  1. ubuntu安装nVidia驱动,遇到终端闪砾问题并解决

    安装nvidia的官方驱动之后,比起nouvean来说感觉速度快了不少. 安装该驱动很简单,但选择哪个驱动是要注意的.因为今天我试了nvidia的多个驱动后都在ubuntu下用起来并不好. 我现在的环 ...

  2. ubuntu 安装NVIDIA驱动过程

    用U盘引导安装时,提示 nouveau 0000:65:00.0: fifo: SCHED_ERROR 08 [] 解决方法: 进入grub 内核启动参数后增加 nomodeset nomodeset ...

  3. ubuntu安装nvidia驱动

    安装环境: ubuntu 版本:12.04.02 LTS  64bit nvidia 驱动版本:NVIDIA-Linux-x86_64-310.19.run nvidia 显卡:GT640 安装过程主 ...

  4. ubuntu安装显卡驱动和cuda

    NVIDIA-linux.run安装后,会出现登录页面循环,解决办法是在运行命令后加入-no-opengl-files 打开nvidia x server Settings软件,显示:You do n ...

  5. ubuntu16.04安装nvidia驱动及CUDA+cudnn

    网上查了资料,装好了,参照以下 https://blog.csdn.net/zhang970187013/article/details/81012845 https://blog.csdn.net/ ...

  6. Ubuntu16.04 Nvidia驱动、CUDA安装

    安装Nvidia驱动和CUDA时往往很费力,经常有莫名奇妙的错误,这次安装十分顺畅,权当记录一下,以方便以后再次安装. 一.Nvidia显卡驱动安装 sudo add-apt-repository p ...

  7. Ubuntu系统---安NVIDIA 驱动后 CUDA+cuDNN 安装

    Ubuntu系统---安NVIDIA 驱动后  CUDA+cuDNN 安装 --------------------------------------------@20190726--------- ...

  8. Ubuntu系统---“NVIDIA 驱动+CUDA+cuDNN ”之后 OpenCV安装

    Ubuntu系统---“NVIDIA 驱动+CUDA+cuDNN ”之后 OpenCV安装 目录: 一.OpenCV安装包下载 二.cmake安装 三.OpenCV安装 正文 一.OpenCV安装包下 ...

  9. Ubuntu系统---NVIDIA 驱动安装

    Ubuntu系统---NVIDIA 驱动安装 第一次安装“NVIDIA 驱动”,小小的激动,因为终于可以玩GPU了.预想一块GPU,盼望太久,差点放弃,感谢J姐让我捡个漏.但是,第一次新的试错过程,网 ...

随机推荐

  1. 【Codeforces】665E Beautiful Subarrays

    E. Beautiful Subarrays time limit per test: 3 seconds memory limit per test: 512 megabytes input: st ...

  2. confusion_matrix函数的使用

    from:http://blog.csdn.net/m0_38061927/article/details/77198990 官方文档中给出的用法是 sklearn.metrics.confusion ...

  3. 自定义的Notification

    要创建一个自定义的Notification,可以使用RemoteViews.要定义自己的扩展消息,首先要初始化一个RemoteViews对象,然后将它传递给Notification contentVi ...

  4. 2017阿里给Java开发者的两个福利

    一.<Java开发规约> 无规矩不成方圆 无规范不能协作. 2017年开春之际,诚意献上重磅大礼:阿里巴巴Java开发手册,首次公开阿里官方Java代码规范标准.这套Java统一规范标准将 ...

  5. Google Closure Compiler 高级模式及更多思考(转)

    前言 Google Closure Compiler 是 Google Closure Tools 的一员,在 2009 年底被 Google 释出,早先,有 玉伯 的 Closure Compile ...

  6. 26.Extjs 部门列表信息展示页面

    /** * @author sux * @time 2011-1-14 * @desc 部门信息显示 */ deptInfoGridPanel = Ext.extend(Ext.grid.Editor ...

  7. vue-easytable

    github地址:https://github.com/huangshuwei/vue-easytable

  8. bzoj 1700: [Usaco2007 Jan]Problem Solving 解题【dp】

    很像贪心的dp啊 这个定金尾款的设定让我想起了lolita和jk制服的尾款地狱-- 设f[i][j]为从j到i的付定金的最早月份然后从f[k][j-1]转移来,两种转移f[i][j]=min(f[i] ...

  9. robotframework - 框架做接口自动化get请求

    1.做get请求之前先安装 Request库,参考github上链接 :https://github.com/bulkan/robotframework-requests/#readme 2.请求&a ...

  10. JMeter配置MongoDB

    1.启动JMeter,右键添加->配置文件->MongoDB Source Config. 注意:JMeter 3.0以上版本去掉了此配置项,可以从低版本处拷贝. 2.设置MongoDB配 ...