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 ...
随机推荐
- Git学习(一)
版本控制系统是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制. 一.集中式版本控制系统 v.s ...
- JAVA 多线程(3)
再讲线程安全: 一.脏读 脏读:在于读字,意在在读取实例变量时,实例变量有可能被另外一个线程更改了,导致获取到的数据出现异常. 在非线程安全的情况下,如果线程A与线程B 共同使用对象实例C中的方法me ...
- 定位公网丢包的工具 mtr
1.使用mtr工具,可以显示从本机到目的ip之间的沿途路由器,从而可以确定丢包的位置. 2.windows 系统,可以使用winmtr工具.
- 父类通过泛型获得子类Class类型 以及Type体系
1.背景介绍 在实现SSH框架中,DAO层向数据库持久化的过程中,因为大部分保存对象的方法都会调用到sava():所有索性就把save delete update select 方法进行封装到父类中, ...
- Electron开发笔记—electron-builder打包流程
该文章说明基于win平台下,mac及linux没有实验 关于electron-builder打包可以有两种方案: 1. 打包成文件夹及绿色免安装: electron-builder --dir(依赖w ...
- [20190305]删除审计登录信息不适合使用logrotate.txt
[20190305]删除审计登录信息不适合使用logrotate.txt --//生产系统数据库sys用户登录会在/u01/app/oracle/admin/${ORACLE_SID}/adump/目 ...
- mssql sqlserver update delete表别名用法简介
转自:http://www.maomao365.com/?p=6973 摘要: 在sql脚本编写中,如果需要在update delete 中使用表别名的方法,必须按照一定的规则编写,否则将会出现相应 ...
- SQLServer基础之数据页类型:GAM,SGAM,PFS
简介 我们已经知道SQL Server IO最小的单位是页,连续的8个页是一个区.SQL Server需要一种方式来知道其所管辖的数据库中的空间使用情况,这就是GAM页和SGAM页. GAM页 GAM ...
- 在泛微系统中修改AD密码的配置
参照文档: Windows server 2008 R2 安装AD域证书:https://blog.csdn.net/zhuyongru/article/details/81107839 配置泛微OA ...
- c/c++链队列
链队列 链队列就是简化了的单链表 nodequeue.h #ifndef __NODEQUEUE__ #define __NODEQUEUE__ #include <stdio.h> #i ...