Ubuntu 14.04 安装 CUDA 问题及解决
本文安装环境:
- 双显卡: 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 问题及解决的更多相关文章
- ubuntu 14.04 安装torch及编译环境zbstudio
ubuntu 14.04 安装torch及编译环境zbstudio torch zbstudio 本来是安装官网给的步骤安装torch的,可是碰到一系列的问题,后来参考网上的安装方法安装成功了 官网安 ...
- Ubuntu 14.04 安装libssh
参考: libssh [CMake] include command Ubuntu 14.04 安装libssh $ git clone https://github.com/substack/lib ...
- 在Ubuntu 14.04安装和使用Docker
Docker是一个开源软件,它可以把一个Linux应用和它所依赖的一切(比如配置文件)都封装到一个容器.然而,Docker与虚拟机不同,它使用了沙箱机制,Docker容器不运行操作系统,它共享主机上的 ...
- [转]在Ubuntu 14.04安装和使用Docker
在Ubuntu 14.04安装和使用Docker 作者:chszs,版权所有,未经同意,不得转载.博主主页:http://blog.csdn.net/chszs Docker是一个开源软件,它可以把一 ...
- Ubuntu 14.04 安装VMware 12
/*********************************************************************** * Ubuntu 14.04 安装VMware 12 ...
- Ubuntu 14.04安装Chromium浏览器并添加Flash插件Pepper Flas
转自Ubuntu 14.04安装Chromium浏览器并添加Flash插件Pepper Flash Player Chromium谷歌的开源浏览器将不再支持Netscape浏览器插件API,Adobe ...
- ubuntu 14.04 安装搜狗拼音输入法
原文:ubuntu 14.04 安装搜狗拼音输入法 ubuntu桌面系统下终于有了好用的拼音法-搜狗拼音输入法,欲在ubuntu 14.04下安装搜狗拼音输入法相当的简单. 先到搜狗拼音官网下载对应的 ...
- ubuntu 14.04 安装svn server (subversionedge )
ubuntu 14.04 安装subversionedge 请仔细阅读安装包自带的readme文件! 1.先去官网,找安装包: http://subversion.apache.org/ http:/ ...
- Ubuntu 14.04 安装 sysrepo v0.7.5
参考: Tentative gNMI support with sysrepo protobuf-c/protobuf-c Ubuntu 14.04 安装 sysrepo v0.7.5 安装依赖: s ...
随机推荐
- MySql: Year, Quarter, Month, Day, Hour statistics
-- 统计 select count(*) as '当天记录数' from web_product where date(p_createtime) = curdate(); select count ...
- Android联系人列表实现
演示 汉字转拼音 String pinyingStr = PinyinHelper.getShortPinyin( String.valueOf(charSequence).toLowerCase() ...
- 如何用ABP框架快速完成项目(3) - 为什么要使用ABP和ABP框架简介
首先先讲为什么要使用ABP? 当然是因为使用ABP可以快速完成项目啦. 时间就是金钱, 效率就是生命嘛 有了ABP, 你就节省了写如下模块的时间: CRUD数据库基本操作 校验 异常处理 日志 权 ...
- C# 对象持久化
本文以一个简单的小例子,简述对象持久化的相关知识,仅供学习分享使用,如有不足之处,还请指正. 概述 对象持久化是指将内存中的对象保存到可永久保存的存储设备中(如磁盘)的一种技术. 本文介绍的是除数据库 ...
- svn基本常见操作设置
代码管理工具一开始用的确会有点懵,但是永久了就会发现都是那几下套路,记录下来 托管好了代码一般起冲突了还是想重新搞一下,有个万能的重置操作,那就是重新关联svn项目,以前有时更换地址也是,发现遇到很多 ...
- IDEA基于Maven Struts2搭建配置及示例
1.web.xml加载struts框架即过滤器,要注意struts版本不同过滤器配置也不同. <!DOCTYPE web-app PUBLIC "-//Sun Microsystems ...
- MFC 键盘响应
键盘响应 插入函数:在...对话框/menu中进入建立类模式,建立preTranslateMessage(MSG * pMsg) 在CXXXView类中,添加: BOOL CMy9_1View::Pr ...
- c++预声明类引发的无法解析外部符号问题
在VisualStudio下开发C++程序常遇到链接问题就是:LNK2019 无法解析外部符号. 这个问题一般我们认为是没有将引用的代码链接到当前项目造成,也有例外,就是下面我要说的预声明类导致的. ...
- python-turtle 快给你的爷爷看看啥是 “小猪佩奇”
完整代码: #!/usr/bin/env python2 # coding=utf-8 import turtle t = turtle.Pen() t.pensize(4) t.hideturtle ...
- php循环删除checkbox
一.首先要了解sql语句$SQL=delete from `user` where id in (1,2,4); 表单大概是:form action= method=post input name=I ...