更新了cuda之后,opencv的gpu模块又要重新编译了,这个地方有一个疑问,我对cuda6.0装了两次,第一次装好之后,没有配一个bumblebee,重装了cuda6.0之后,发现原来编译的opencv2.4.9又要重新编译,这边有理解一下为什么同一个cuda的版本,重新安装了一下,opencv下的gpu模块要重新编译,是不是因为nvcc是实时编译的原因。

好了,通过bumblebee安装Nvidia卡驱动的时候出了很多问题,这里把所有的问题一并写出,一开始以为装个驱动直接ubuntu里面有驱动激活,直接安装就可以了,然后显示的驱动没有激活,又将驱动给卸载了。想想到官网上看看下载是不是好点,这才知道,Nvidia显卡的驱动是闭源的,ubuntu下安装的是兼容驱动,不过按官方说明安装之后,驱动还是没有激活,于是查资料。

发现有一个更好的管理方式,通过bumblebee安装之后可以对集显和独显自由切换,可以先关掉nvidia的显卡、具体参考:

 
可是出问题了,装好了之后,nvidia的显卡没有关掉,于是卸载原来所有的显卡驱动。额,出问题了
开机的时候开不了机了。直接黑屏在这边,进不来恢复模式,于是就只能再一次的重装。
至于之前升级过了,很多的补丁,在/var/cache/apt下面,应该没有记错,把这个拷贝出来,重装。
装好了之后安装上面参考的安装,安装好了之后出现分配率变成了600*480的,那种最小的那种,额,于是查找资料,发现
删掉xorg.conf,sudo rm /etc/X11/xorg.conf
 
删掉之后可以通过Ctrl+Alt+F1进入终端环境下 通过将lightdm服务重启就好了。
sudo /etc/init.d/lightdm restart
 
这样是进来了,不过有问题的是显卡其实还没有装好,虽然已经关了,然后又进行重装显卡驱动还是不行。
依次出现过很多问题
已经google 查找。
 
这次装了之后发现一个更好的文章:
根据这个可以更容易的对cuda进行安装。
 
 
 
最后说一下我的做法,已经最后存在的问题
 
现在nvidia驱动
 

sudo apt-get remove --purge nvidia*

这样默认安装的nvidia-304已经nvidia-current就被删除了,位置在/usr/lib下。

然后我直接从官网下载cuda6.0 https://developer.nvidia.com/cuda-downloads

安装cuda6.0可以参考http://wenku.baidu.com/link?url=1AhL95RbS2U4UVDqvs6K1JHxgxu_rnOvqk1YN4L1N7FfUNoN_MWB06nHKqoop8MKbaZ3gIBO4Q1RSkGQpf7maVE06me7BsbJL8757B7dxmm

安装完成之后,对/etc/bumblebee/bumblebee.conf做了配置

找到一行

Driver=

把这一行改成

Driver=nvidia

默认是可以找到nvidia驱动的,加上了好像没有效果,不过看其它参考都加上了,我这边也加上了。

第二块修改如下:

[driver-nvidia]

#Module name to load, defaults to Driver if empty or unset

KernelDriver=nvidia

PMMethod=auto

#colon-separated path to the nvidia libraries

LibraryPath=/usr/lib:/usr/lib32

#comma-separated path of the directory containing nvidia_drv.so andthe

#default Xorg modules path

XorgModulePath=/usr/lib/xorg,/usr/lib/xorg/modules

XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

装完cuda6.0之后,默认驱动装在了/usr/lib/以及/usr/lib/xorg下,没有新建nvidia-current之类的文件夹,这里我将nvidia-current删除
 
修改之后,cuda的程序是可以执行了。具体可以到sample下的demo进行测试。
 
主要说一下几个问题,1、电脑重启之后,显卡N卡默认是关闭的,运行测试程序通过optirun可以打开显卡,关闭程序则关闭显卡。不过我自己写了cuda程序或者运行sample下的demo,编译跟运行都是通过optirun进行控制,但是程序可以运行,运行完之后,显卡默认打开,无法关闭。
 
2、安装opencv,对于opencv安装,在通过cmake进行处理的时候,通过类似如下命令开启相关模块,windows下opencv编译好的不支持cuda,自己用要重新编译,不清楚在ubuntu下是怎么个情况,不过我通过如下命令开启相关模块之后,gpu部门默认开启。
cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON .. 
 
这样之后make 以及 sudo make install
不过我奇怪的是,我重装了cuda6.0之后,opencv编译的时候gpu模块要重新编译,是不是因为nvcc编译是通过即时编译器编译的,这样对于cuda就不能更新甚至不能重装,更新重新编译这个可以理解,重装之后也要重新编译这个还不清楚真正的原因是啥。
 
目前为止,ubuntu12.04+cuda6.0+opencv2.4.9就差不多可以用了。上述两个问题目前存在的,等解决了再补充。
 

ubuntu12.04+cuda6.0+opencv2.4.9的更多相关文章

  1. ubuntu12.04+cuda6.0+caffe(新版)的安装

    参照两位的博客 http://caffe.berkeleyvision.org/    官网 http://blog.csdn.net/u013476464/article/details/38071 ...

  2. Linux Ubuntu12.04下安装OpenCv2.4.10

    参考 http://blog.sina.com.cn/s/blog_53b0956801010lfu.html 捣鼓了一个晚上了,OpenCv还没装好,本来以为看个类似的比如Ubuntu安装OpenC ...

  3. Ubuntu12.04+OpenERP7.0安装笔记

    不经意的一次看到OpenERP这个开源ERP,就被其丰富的功能,简洁的画面,熟悉的语言所吸引.迫不及待的多方查询资料,自己架设一个测试环境来进行了解.以下为测试安装时候的步骤说明,以备查询,并供有需要 ...

  4. Ubuntu12.04下编译OpenCv2.4.9程序

    引用地址http://blog.163.com/huai_jing@126/blog/static/171861983201311103411229/ 方法1:直接命令编译: g++ main.cpp ...

  5. [odroid-pc] ubuntu12.04 android4.0移植到odroid-pc过程

    參考:http://blog.csdn.net/sunnybeike/article/details/8098349 odroid  prebuilt版 img下载地址:tag=ODROID-PC&q ...

  6. IMX6开发板虚拟机加载Ubuntu12.04.2镜像

    基于迅为IMX6开发板安装好虚拟机之后,用户就可以加载 Ubuntu12.04.2 镜像.用户可以在网盘中下载“编译好的镜像”,该镜像已经安装好了编译 Android4.4.2 所需要的大部分软件.用 ...

  7. mono3.2和monodevelop4.0在ubuntu12.04上两天的苦战

    首先第一步是设置ubuntu server 12.04版更新源,推荐中科大的比较快:deb http://debian.ustc.edu.cn/ubuntu/ precise main multive ...

  8. ubuntu12.04+hadoop2.2.0+zookeeper3.4.5+hbase0.96.2+hive0.13.1伪分布式环境部署

    目录: 一.hadoop2.2.0.zookeeper3.4.5.hbase0.96.2.hive0.13.1都是什么? 二.这些软件在哪里下载? 三.如何安装 1.安装JDK 2.用parallel ...

  9. Ubuntu12.04 配置Java开发环境:JDK1.7+Eclipse+Tomcat7.0

    软硬件环境 Ubuntu12.04+JDK1.7+Eclipse+Tomcat7.0 内容列表 1.安装JDK1.7,配置JAVA环境 2.安装Eclipse 3.安装Tomcat7.0 1.安装JD ...

随机推荐

  1. iOS定位--CoreLocation框架

    CoreLocation框架的使用 // 首先导入头文件 #import <CoreLocation/CoreLocation.h> CoreLocation框架中所有数据类型的前缀都是C ...

  2. 中国版 Office 365 (X-Tenant / Tango) 功能验证报告 - 2 基本步骤

    说明: 1. 前期准备 - 在Azure上模拟出生产环境: 包括父域域控.子域域控.父域的Exchange Server.子域的Exchange Server.对Exchange Server, 需要 ...

  3. PHP面向对象考察点

    面向对象三大特性 封装 封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义: 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象). ...

  4. C++运行外部exe并判断exe返回值

    有三个API函数可以运行可执行文件WinExec.ShellExecute和CreateProcess.CreateProcess因为使用复杂,比较少用. WinExec主要运行EXE文件. ⑴ 函数 ...

  5. 服务器设置禁ping

    //设置Linux服务器禁ping!!!终端命令行直接输入 echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all 这个是关闭ping的命令. 如果你想要 ...

  6. Vue打包之后部署到 express 服务器上

    Part.1 安装 express npm install express body-parer --save Part.2 在项目根目录下创建 app.js 文件作为启动 express 服务器代码 ...

  7. 用字符串对列表赋值,一个字符串对应一个列表元素,eg: my @escaped = "asteriskasterisk hash access unpack_func";

    my @escaped = "asteriskasterisk hash access unpack_func";     # 是一个元素的赋值 25 unless( $escap ...

  8. 级数求和(C++)

    题目描述 已知:Sn​=1+1/2+1/3+…+1/n.显然对于任意一个整数K,当n足够大的时候,Sn​大于K. 现给出一个整数K(1≤K≤15),要求计算出一个最小的n:使得Sn​>K. 输入 ...

  9. HDU4415 Assassin’s Creed

    题目大意:有n个人,每个人有x,y两个值.x代表干掉他得到的分数,分数和不超过m;y代表干掉他后你能额外干掉多少个,且不计入总分. 求干掉人数最多为多少,以及最小的分. ~~~~~~~~~~~~~~~ ...

  10. Kvm:通过 libvirt 远程管理虚拟机

    1.通过qemu+ssh方式 2.通过qemu+tcp方式 主控端需要安装相关工具包: #yum groupinstall "Virtualization" #yum instal ...