• Intel NUC5安装Kinect驱动踩坑


    继续de之前那个没搞定的bug,真的是太烦人了

    这边有一套详细的问答,和我一样把问题确认在libva上面

    https://github.com/OpenKinect/libfreenect2/issues/811

    这个人好歹vainfo能出东西,我vainfo啥都出不来

    https://blog.csdn.net/seamanj/article/details/78314798

    libva是微软整的一套图形硬件加速库,因为目前这台nuc使用的显卡并非英伟达,而是intel自家的,所以跑加速就不可避免的产生一些非常谜的问题

    我考虑的解决方案

    1. 重新安装libva

    2. 禁用libva

    先尝试一下前者

    https://github.com/intel/libva

    https://blog.jianchihu.net/ubuntu-vaapi-ffmpeg-build.html

    这个人遇到的问题有一定的借鉴意义,然而我遇到的最大的问题就是我直接运行vainfo都是爆炸的

    https://blog.csdn.net/seamanj/article/details/78314798

    使用源码安装libva

    在安装intel-vaapi-driver时,在configure时报错

    libtool版本有问题

    并且安装完libva-utils并不能调用vainfo,就很崩溃

    各种反复常识安装libva,仍然不能解决问题,决定采用方法2

    操作了一下之后发现……

    开始了全新的报错…..

    GLFW error 65544 X11: RandR gamma ramp support seems broken
    GLFW error 65543 The requested client API version is unavailable
    Failed to creat opengl window
    

    如上

    应该是在做某个操作的时候毁坏了opengl,因为我在进行了一步autoremove操作之后发现install不回来了,非常的谜…..

    绝了,我是autoremove的……淦

    重新装opengl吧…..关键是你他妈的还不知道有多少东西跟着一起没了…..

    测试了一下ROS和ORB_SLAM2没有太大的问题,应该就是倒霉的Kinect驱动真的有点起飞……..

    https://www.cnblogs.com/Crise2018/p/9911197.html

    目前kinect运行时依然处于可以检测到设备,但是无法在屏幕上显示出相机拍摄的图像的状态

    遇到的两种报错情况:

    执行

    ./bin/Protonect cpu

    会报错vaDisplayIsValid(display) failed

    ./bin/Protonect gl

    会报错GLFW error

    https://github.com/OpenKinect/libfreenect2/issues/636

    在github上找到的遇到同样问题的人,也是在nuc上面装kinect驱动,系统版本一致

    报错也一样

    kinect驱动库libfreenect的作者在这个问答下最后的结论是

    这应该是一个和设备的显卡有关的问题

    以下是在NUC6上成功安装的问答

    https://github.com/code-iai/iai_kinect2/issues/248

    通过ros运行遇到同样的问题,可以检测到设备,可以打开接口,但是无法在屏幕上显示相机拍摄的图像

    目前考虑到的一种可能性是OPENNI2的驱动安装有问题,因为这个是直接关联到图像显示上的

    如果想要使用libfreenect2则必须开启opengl,但是目前无论用何种方式安装opengl,假如在cmake中开启opengl进行编译,就会报错GLFW error,尽管在cmake-gui下可以看到已经有glfw的库了

    使用OPENNI2的NiViewer可以打开摄像头,打开方法:

    sudo make install-openni2
    
    NiViewer2
    

    考虑到主要还是在iai-kinect下面打开摄像头比较要紧,目前过去研究一下如何用其打开摄像头。

    结果发现iai-kinect中的kinect_brigde还是需要连接到libfreenect上面去,所以还是不得不解决掉OPENGL的报错,因为光靠注释掉opengl进行编译,虽然不报错,但是也出不来图像。目前考虑的一种铤而走险的方案就是重新安装intel的集显驱动

    理论上来说倒是存在一个专门为linux提供intel集成显卡驱动的项目叫做intel-graphics-drivers-linux,但是目前看到的情况是这个网页绝大多数的页面都挂掉了?而且一幅年久失修的样子,大多数软件包也找不到可以下载的地方了,就很奇怪

    这个项目的主页,最新的一条消息是19年8月16号的,很像那么一回事,但是挂着的这个人的照片真他妈丑,这网站别是给黑了

    另外也找不到类似于Intelr-graphics-installer-1.x.x-linux这样的集成更新方案了,这个新的下载站点让人觉得很不友好

    就,老子他妈的两眼一黑

    https://01.org/zh/temp-linuxgraphics/downloads/intelr-graphics-installer-linux-1.0.7

    这个网址下的倒是还能下载+运行,但是给我蹦出来个这个,两眼一黑

    你知道我见过的最傻逼的事情是什么吗

    这个是网站的说辞——

    好,锅被丢给了OSV

    然后我看看Intel本家说什么

    问题是老子他妈上哪里找OSV?????这他妈是ubuntu唉???

    老子上Ubuntu官网找Intel显卡驱动吗??

    https://cloud.tencent.com/developer/article/1386851

    这几个网页直接全挂了

    最后libfreenect2驱动的问题解决了,怎么解决的?以一种我想都不敢想的方式。

    鉴于kinect驱动问题迟迟不能解决,学长们打算使用realsense来试一试,所以我就开始按照librealsense里面的doc开始装realsense的驱动

    https://github.com/IntelRealSense/librealsense

    然后在执行到

    https://github.com/IntelRealSense/librealsense/blob/master/doc/installation.md

    这个里面的第二步之后,我无意间查看了一下系统,然后惊喜的发现自己的显卡驱动变了,然后我就试着开libfreenect2,结果果然可以打开了

    准确的说,解决问题的内容如下

    首先更新系统内核,我是通过软件更新器更新的

    sudo apt-get install --install-recommends linux-generic-lts-xenial xserver-xorg-core-lts-xenial xserver-xorg-lts-xenial xserver-xorg-video-all-lts-xenial xserver-xorg-input-all-lts-xenial libwayland-egl1-mesa-lts-xenial
    
    git clone https://github.com/IntelRealSense/librealsense
    
    sudo apt-get install
    
    ./scripts/install_glfw3.sh
    

    安装全新的驱动,然后就搞定了

    目前libfreenect2能开,iaikinect2还存在一些问题,和opencl有关,我还在纠结究竟是通过安装opencl来解决还是干脆禁用opencl

  • 相关阅读:
    深入解析 float
    解决 css 浮动后 父元素高度失效问题
    高性能 Socket 组件 HP-Socket v3.2.1-RC1 公布
    基于lucene.net 和ICTCLAS2014的站内搜索的实现1
    史上最简单的个人移动APP开发入门--jQuery Mobile版跨平台APP开发
    【OpenCV新手教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
    栈模拟队列 队列模拟栈
    状态机的两种写法
    Hadoop-2.2.0中文文档—— MapReduce 下一代--容量调度器
    OpenGLES 与 WebGL 中顶点属性的组织格式的误解
  • 原文地址:https://www.cnblogs.com/sasasatori/p/11620869.html
Copyright © 2020-2023  润新知