本文安装环境:

  - 双显卡: intel 集显 + nvidia 独显

  - Ubuntu 14.04.4

  - CUDA 8.0.44

1. Deb 安装包是个坑 (不要用这种方法!)

使用 Deb 安装包 cuda-repo-ubuntu1404-8-0-local_8.0.44-1_amd64.deb,安装完成之后,重启出现黑屏,

  - 出现黑屏后解决方法:

    (1) Ctrl + Alt + F1 进入命令行模式, root 登录,执行命令,

      # apt-get remove --purge nvidia*        // 卸载已安装的所有 nvidia 组件

      # apt-get autoremove

      # reboot

为解决此问题, 经过各种折腾……

1) 完全卸载 nvidia 相关安装,重新用系统自带的 Software Update 安装 nvidia 驱动,不黑屏了,但是登陆界面循环不能进入

2) 参考网上的相关博客,说 Ubuntu 14.04 安装完成后不能更新,否则才会出现黑屏或者循环登陆界面问题,想想我安装的是 Ubuntu 14.04.4 ,相对于 14.04.3 有较多更新,Kernel 也升级到 4.0 ……汗……事实证明这个结论是瞎扯 (这里要说说,网上的很多博客可能针对博主自己的机器有效,但是如果不是个通用方法,写出来真实害人不浅。 差点让我重装系统……)

3)……

无法解决的问题。具体根源是 Deb 默认将 intel 集显的 openGL lib 给覆盖了,导致 GUI 出现问题。nvidia 文档给出的解释如下,

2. 使用 runfile 安装

使用 runfile 文件 cuda_8.0.44_linux_ubuntu_14.04.run 安装前要先将 系统自带的 nvidia 显卡驱动 nouveau 禁掉,

1) 创建文件 /etc/modprobe.d/blacklist-nouveau.conf 添加如下内容,

blacklist nouveau
options nouveau modeset=0

2) 重新生成 kernel initramfs

$ sudo update-initramfs -u

3) 重启系统,Ctrl + Alt + F1 进入命令行模式,执行,

$ sudo service lightdm stop      // 关闭桌面服务

$ sudo ./cuda_8.0.44_linux_ubuntu_14.04.run --no-opengl-libs

$ sudo service lightdm start     // 重启桌面服务

4) 本机使用 intel 集显作为 display card,而 nvidia 独显只作为 CUDA computing card,建立或修改 /etc/X11/xorg.conf 文件,内容如下,

Section "Device"

  Identifier "intel"

  Driver "intel"

  BusID "PCI:0@0:2:0"       (使用 lspci | grep -i intel  查询即可)

  Option "AccelMethod" "SNA"

EndSection

为防止系统自动修改此文件,打开文件 /etc/default/grub, 在 GRUB_CMDLINE_LINUX_DEFAULT 中增加选项 "nogpumanager",之后更新 grub 即可,

$ sudo update-grub

5) 验证安装,

$ cat /proc/driver/nvidia/version

$ nvcc -V

6) 对 Ubuntu 系统, /dev/nvidia* 相关文件在首次使用 CUDA 时会自动创建,不用手动运行命令生成。

注意: 由于安装时指定了 --no-opengl-libs 所以安装完成后会 warnings 如下,

所以要手动安装必要的 lib,如下,

$ sudo apt-get install freeglut3-dev

$ sudo apt-get install libxmu-dev

完。

Ubuntu 14.04 安装 CUDA 问题及解决的更多相关文章

  1. ubuntu 14.04 安装torch及编译环境zbstudio

    ubuntu 14.04 安装torch及编译环境zbstudio torch zbstudio 本来是安装官网给的步骤安装torch的,可是碰到一系列的问题,后来参考网上的安装方法安装成功了 官网安 ...

  2. Ubuntu 14.04 安装libssh

    参考: libssh [CMake] include command Ubuntu 14.04 安装libssh $ git clone https://github.com/substack/lib ...

  3. 在Ubuntu 14.04安装和使用Docker

    Docker是一个开源软件,它可以把一个Linux应用和它所依赖的一切(比如配置文件)都封装到一个容器.然而,Docker与虚拟机不同,它使用了沙箱机制,Docker容器不运行操作系统,它共享主机上的 ...

  4. [转]在Ubuntu 14.04安装和使用Docker

    在Ubuntu 14.04安装和使用Docker 作者:chszs,版权所有,未经同意,不得转载.博主主页:http://blog.csdn.net/chszs Docker是一个开源软件,它可以把一 ...

  5. Ubuntu 14.04 安装VMware 12

    /*********************************************************************** * Ubuntu 14.04 安装VMware 12 ...

  6. Ubuntu 14.04安装Chromium浏览器并添加Flash插件Pepper Flas

    转自Ubuntu 14.04安装Chromium浏览器并添加Flash插件Pepper Flash Player Chromium谷歌的开源浏览器将不再支持Netscape浏览器插件API,Adobe ...

  7. ubuntu 14.04 安装搜狗拼音输入法

    原文:ubuntu 14.04 安装搜狗拼音输入法 ubuntu桌面系统下终于有了好用的拼音法-搜狗拼音输入法,欲在ubuntu 14.04下安装搜狗拼音输入法相当的简单. 先到搜狗拼音官网下载对应的 ...

  8. ubuntu 14.04 安装svn server (subversionedge )

    ubuntu 14.04 安装subversionedge 请仔细阅读安装包自带的readme文件! 1.先去官网,找安装包: http://subversion.apache.org/ http:/ ...

  9. Ubuntu 14.04 安装 sysrepo v0.7.5

    参考: Tentative gNMI support with sysrepo protobuf-c/protobuf-c Ubuntu 14.04 安装 sysrepo v0.7.5 安装依赖: s ...

随机推荐

  1. C#DataTable添加列、C#指定位置添加列

    DataSet ds = SQlHelper.GetDataTable(Con, sb.ToString()); ds.Tables[].Columns.Add("Check", ...

  2. docker swarm 集群进入某节点容器失败的原因及解决方法

    今日在自己的docker swarm 测试环境中,想进入某个节点的容器去查看下,结果进入容器失败,并且报了如下错误信息: [root@worker1 ~]# docker exec -it 9a6f6 ...

  3. Navicat Premium for Mac 破解版地址

    找了好几个都不能使用    试了一下这个  可以使用 放地址:http://www.orsoon.com/Mac/85386.html

  4. redis 数据库安装和基本使用

    Redis 介绍: Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server). Redis的键值可以包 ...

  5. (网页)HTML5

    1.html5基本格式: <!DOCTYPE> --> 文档类型声明. <html lang="zh-cn"> --> 表示html文档开始 & ...

  6. [20190306]奇怪的查询结果.txt

    [20190306]奇怪的查询结果.txt--//链接http://www.itpub.net/thread-2108588-1-1.html提到一个非常古怪的问题,我自己重复测试看看:1.环境:SC ...

  7. 移动端 input样式在安卓与ios上不同的解决方案

    input{ -webkit-appearance:none; }

  8. 第二章 基础查询 2-1 SQL语句基础

    一.列的查询 基本的SELECT语句: SELECT <列名 >,...... FROM < 表名>; 注:子句是SQL的组成要素. 注:查询结果中的列的顺序和SELECT子句 ...

  9. Thread和Runnable的区别和联系、多次start一个线程会怎么样

    一.Java有两种方式实现多线程,第一个是继承Thread类,第二个是实现Runnable接口.他们之间的联系:   1.Thread类实现了Runable接口. 2.都需要重写里面Run方法. 二. ...

  10. 计数排序与桶排序python实现

    计数排序与桶排序python实现 计数排序 计数排序原理: 找到给定序列的最小值与最大值 创建一个长度为最大值-最小值+1的数组,初始化都为0 然后遍历原序列,并为数组中索引为当前值-最小值的值+1 ...