ubuntu 16.04 双显卡搭建cuda9.2+ffmpeg3.4.2+opencv工程环境

双系统win10+ubuntu16.04的安装就不赘述了,直接从安装好ubuntu之后开始

由于是双显卡,而ubuntu默认自带的n卡驱动是第三方,安装cuda之后会产生一系列问题,包括但并不仅限于 开机黑屏,循环登录,桌面只有壁纸和鼠标了解一下。所以必须卸了第三方,安装官方驱动

sudo add-apt-repository ppa:nilarimogard/webupd8    #添加PPA更新源
sudo apt-get update                                 #刷新更新源列表
sudo apt-get install prime-indicator                #安装双显卡切换指示器
sudo service lightdm stop           #关闭图形系统
sudo apt-get install nvidia-375     #通过官方源安装驱动,这里的375需要按照你的系统推荐的版本号修改
sudo service lightdm start          #启动图形系统

并改动/etc/default/grub,具体怎么改动 参照之前的一篇blog点击打开链接

解决了显卡驱动的问题,就开始正题了

先装cuda,最新版 9.2点击打开链接 找到对应的版本,下载deb文件,按照上面的指令,几步就装好了。另外有patch,因为看到上面写着墙裂推荐安装,也下载下来装上,ubuntu安装deb文件,就用 sudo dpkg -i xxxxx.deb

然后开始装opencv和ffmpeg的依赖包

安装官方必装包

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

安装官方推荐包

sudo apt-get install  python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

安装OpenGL依赖包

sudo apt-get install freeglut3-dev mesa-common-dev  libgtkglext1 libgtkglext1-dev

安装视频处理包

sudo apt-get install checkinstall yasm libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libgtk2.0-dev libmp3lame-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils

然后源码安装ffmpeg

要想编译生成的ffmpeg有ffplay,还需要安装一个sdl,  sudo apt-get install libsdl2-dev,貌似是这样

点击打开链接下载的源码后

    tar -xjf ffmpeg-3.2.4.tar.bz2
    cd ffmpeg-3.2.4
    mkdir YOUR_PATH/ffmpeg
    ./configure --enable-shared --prefix=/YOUR_PATH/ffmpeg
    make -j16
    make install

在./configure那句之后,看打印的结果,是不是自己需要的东东都有,比如我们nvidia gpu加速支持的编码器nvenc等等。如有发现缺少什么,自己百度。

ffmpeg安装好之后,在.bashrc中配置环境变量

    export PATH="/YOUR_PATH/ffmpeg/bin:/YOUR_PATH/ffmpeg/include:$PATH"
    export PKG_CONFIG_PATH="/YOUR_PATH/ffmpeg/lib/pkgconfig:$PKG_CONFIG_PATH"   

这样可以让系统和pkg-config找到它

输入ffmpeg测试一下,应该会有问题,说找不到依赖的动态库,这时需要

sudo vim /etc/ld.so.conf.d/ffmpeg.conf

写入安装的ffmpeg的lib所在路径 /your_path/ffmpeg/lib

保存退出后 ldconfig ,搞定,再输入ffmpeg 试试,没问题了吧

然后是opencv的安装,从github上下载,3.4.0

    git clone https://github.com/opencv/opencv.git 
    cd opencv
    git checkout 3.4.0

用cmake-gui配置编译选项,根据自己的需求,基本上要有这些

    -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D WITH_CUDA=ON \
    -D WITH_CUBLAS=ON \
    -D CUDA_FAST_MATH=ON \
    -D WITH_CUFFT=ON \
    -D WITH_QT=ON \
    -D WITH_NVCUVID=ON \
    -D WITH_V4L=ON \
    -D WITH_LIBV4L=ON \
    -D WITH_OPENGL=ON \
    -D WITH_FFMPEG=ON \
    -D INSTALL_C_EXAMPLES=ON \
    -D BUILD_EXAMPLES=ON \
    -D BUILD_TIFF=ON

没有安装QT的可以把QT选项去掉,然后configure,看打印出来的信息中重点检查Video IO,CUDA,CUBALS的状态都是YES

然后make -j 16

这是一个比较漫长的过程,在make的过程中如果报错

nvcc fatal   : Unsupported gpu architecture 'compute_20'

是因为CUDA 9.0以上不支持这种compute_20的架构,要在源码文件夹中的OpenCVConfig.cmake中查找“compute_20”

                -gencode arch=compute_20,code=sm_20 \
                -gencode arch=compute_20,code=sm_21 \
                -gencode arch=compute_30,code=sm_30 \
                -gencode arch=compute_35,code=sm_35 .....

把前两行删掉,保存退出,重新配置选项configure,make,就不会报错了

漫长的make过程之后

sudo make install

后面python的配置暂时不写了,先这样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值