继续de之前那个没搞定的bug,真的是太烦人了
这边有一套详细的问答,和我一样把问题确认在libva上面
https://github.com/OpenKinect/libfreenect2/issues/811
这个人好歹vainfo能出东西,我vainfo啥都出不来
https://blog.csdn.net/seamanj/article/details/78314798
libva是微软整的一套图形硬件加速库,因为目前这台nuc使用的显卡并非英伟达,而是intel自家的,所以跑加速就不可避免的产生一些非常谜的问题
我考虑的解决方案
-
重新安装libva
-
禁用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