L4T 27.1 and Kinect v2

Hello Everyone,

I am trying to connect Kinect-v2 to my new TX2 board. I am using libfreenect2 to read the kinect RGB/Depth data. In the past, I had successfully compiled the libfreenect2 package on my TK1 board which I am still using for my research. However, when I tried the same on TX2 I got the following compilation error.

/usr/lib/gcc/aarch64-linux-gnu/4.9/../../../aarch64-linux-gnu/libva-drm.so: undefined reference to `drmGetClient'

I have already checked the links – https://devtalk.nvidia.com/default/topic/975452/jetson-tx1/l4t-24-2-and-kinect-v2/ and https://devtalk.nvidia.com/default/topic/946136 related to undefined references, but those are all related to libGL.so library file on TX1. For TX2, the issue is related to “libva-drm.so”. Is there anyone who had the same issue and get it fixed eventually.

Any help is much appreciated. Thank you in advance.

The error says that libva-drm.so is not finding the drmGetClient function.
The reason for this is that the wrong libGL.o is in the library search path.
You should be able to fix this the same way you fix it in those other threads:

cd /home/ubuntu/NVIDIA_CUDA-7.0_Samples/common/lib/linux/aarch64
rm libGL.so
sudo ln -s /usr/lib/aarch64-linux-gnu/tegra/libGL.so libGL.so

Have you tried this, and it didn’t work?

Hi snarky. I have already tried the methods posted on the links. But, that didn’t workout for me. Thanks.

To look for the symbol, do something like this:

[code]cd /usr/lib/aarch64-linux-gnu; for i in *.so; do echo $i; objdump -T $i | grep drmGetClient; done

[/quote]

I found the symbol defined in libdrm.so

However, I also found a number of interesting .so files like “libdrm_armgpu.so” and “libdrm_freedreno.so” and “libdrm_noveau.so” and “libdrm_radeon.so” which presumably we’re not supposed to use.

Given that DRM is not a high-performance method of getting at the graphics hardware for the Jetson, perhaps NVIDIA just removed support for it?
You may have to turn off DRM rendering support in the library to make it work. That would probably be a good idea, anyway!

Hello, i meet the problem with you, Have you solved it? I tried the methods mentioned on https://devtalk.nvidia.com/default/topic/946136 but failed, my error it same with you!

If you sloved the problem, could you please share the methods?
Thank you very much!

@Abbyluo, I am out of my college town and I don’t have access to the TX2 board, so have not tried @snarky’s suggestion yet. I will update my findings once I am back on campus in about a month.

Thank you.

@Nakini,

OK, I will try to solve the problem and share the method as I solved it.

Thanks for your reply.

Thanks for @snarky suggestion. I solved this problem by disable VAAPI by
“cmake -D ENABLE_VAAPI=OFF -D CMAKE_INSTALL_PREFIX=/usr/local/ …”

Hey guys!
I’m using the JETSON TX 2 with the following configuration:
L4T 28.2.1 [ JetPack 3.3 or 3.2.1 ]
Board: t186ref
Ubuntu 16.04.6 LTS
Kernel Version: 4.4.38-tegra
CUDA 9.0.252

And I’d like to connect it with a Kinect v2, however, I didn’t have success. I’ve done everything that I read on the forums here on Github and on JetsonHacks, even tried to install as Kinect v1, but nothing. After all, I saw that it’s not possible to connect a default board (TX2) with this device. Is it true?

By the way, which camera is it better to develop SLAM applications? ZED?

Thanks in advance.