Skip to content

Cannot get Protonect Viewer running on the Tegra X1 #480

Closed

Description

@bigcmos

I'm trying to get libfreenect2 working on the Nvidia Tegra X1 and I'm having issues displaying anything from the viewer. The main viewer window opens, but it is blank. The log output seems to indicate that the TurboJpegRgbPacketProcessor is running at 20Hz.

Should I expect that this should work on the tegra X1 (or K1)? let me know if there is any other output I can give you to help diagnose.

Protonect Output

$ ./bin/Protonect 
Environment variables: LOGFILE=<protonect.log>
Usage: ./bin/Protonect [gl | cl | cpu] [<device serial>] [-noviewer]
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] 17 usb devices connected
[Info] [Freenect2Impl] found valid Kinect v2 @10:4 with serial 068176734547
[Info] [Freenect2Impl] found 1 devices
freenect2.openDevice.
[Info] [Freenect2DeviceImpl] opening...
[Info] [Freenect2DeviceImpl] opened
[Info] [Freenect2DeviceImpl] starting...
[Debug] [Freenect2DeviceImpl] ReadData0x14 response
[Debug] [Freenect2DeviceImpl] 92 bytes of raw data
0x0000:  00 00 12 00 00 00 00 00 01 00 00 00 43 c1 1f 41    2e2e2e2e2e2e2e2e2e2e2e2e432e2e41
0x0010:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e
0x0020:  0a 21 33 55 c2 00 17 20 00 08 00 00 10 00 00 00    2e2133552e2e2e202e2e2e2e2e2e2e2e
0x0030:  00 01 00 00 00 10 00 00 00 00 80 00 01 00 00 00    2e2e2e2e2e2e2e2e2e2e802e2e2e2e2e
0x0040:  31 33 00 00 00 03 11 17 47 48 57 31 32 35 2e 31    31332e2e2e2e2e2e4748573132352e31
0x0050:  58 00 00 00 00 00 00 00 00 00 00 00                582e2e2e2e2e2e2e2e2e2e2e

[Debug] [Freenect2DeviceImpl] ReadStatus0x090000 response
[Debug] [Freenect2DeviceImpl] 4 bytes of raw data
0x0000:  7f 26 00 00                                        7f262e2e

[Debug] [Freenect2DeviceImpl] ReadStatus0x090000 response
[Debug] [Freenect2DeviceImpl] 4 bytes of raw data
0x0000:  7f 26 00 00                                        7f262e2e

[Info] [Freenect2DeviceImpl] enabling usb transfer submission...
[Info] [Freenect2DeviceImpl] submitting usb transfers...
[Info] [Freenect2DeviceImpl] started
device serial: 068176734547
device firmware: 1.1.3326.0.7
[Error] [RgbPacketStreamParser] packetsize or sequence doesn't match!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
^C[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Info] [TurboJpegRgbPacketProcessor] avg. time: 50.2055ms -> ~19.9181Hz
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!
[Debug] [RgbPacketStreamParser] skipping rgb packet!

Host Details

$ uname -a
Linux tegra-ubuntu 3.10.67-g3a5c467 #1 SMP PREEMPT Fri Oct 30 14:26:17 PDT 2015 aarch64 aarch64 aarch64 GNU/Linux
$ head -1 /etc/nv_tegra_release 
# R23 (release), REVISION: 1.1, GCID: 6220086, BOARD: t210ref, EABI: hard, DATE: Fri Oct 30 21:33:12 UTC 2015

Activity

  1. xlz commented on Nov 25, 2015

    @xlz
    Member

    Have you enabled USB 3.0 and disabled USB autosuspend?

    Also, LIBUSB_DEBUG=3 ./Protonect and dmesg.

  2. xlz commented on Nov 25, 2015

    @xlz
    Member

    May be related: #481

    Things to do:

    1. git checkout v0.1-rc1, rebuild, and run it
    2. gdb ./Protonect, run, Ctrl-C, thread apply all backtrace and bt full
  3. bigcmos commented on Nov 30, 2015

    @bigcmos
    Author

    jetson_x1_dmesg.txt
    jetson_x1_protonect.txt

    yes.

    usb_port_owner_info=2
    usbcore.autosuspend=-1

    $ cat /boot/extlinux/extlinux.conf | egrep "usb_port_owner_info|usbcore.autosuspend"
          APPEND fbcon=map:0 console=tty0 console=ttyS0,115200n8 androidboot.modem=none androidboot.serialno=P2180A00P00940c003fd androidboot.security=non-secure tegraid=21.1.2.0.0 ddr_die=2048M@2048M ddr_die=2048M@4096M section=256M memtype=0 vpr_resize usb_port_owner_info=2 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 debug_uartport=lsport,0 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 usbcore.autosuspend=-1 lp0_vec=${lp0_vec} nvdumper_reserved=${nvdumper_reserved} core_edp_mv=1125 core_edp_ma=4000 gpt android.kerneltype=normal androidboot.touch_vendor_id=0 androidboot.touch_panel_id=63 androidboot.touch_feature=0 androidboot.bootreason=pmc:software_reset,pmic:0x0 root=/dev/mmcblk0p1 rw rootwait
    
    $ grep . /sys/bus/usb/devices/*/power/autosuspend
    /sys/bus/usb/devices/10-1/power/autosuspend:-1
    /sys/bus/usb/devices/10-2.1/power/autosuspend:-1
    /sys/bus/usb/devices/10-2/power/autosuspend:0
    /sys/bus/usb/devices/7-1.5/power/autosuspend:-1
    /sys/bus/usb/devices/7-1.6/power/autosuspend:-1
    /sys/bus/usb/devices/7-1/power/autosuspend:0
    /sys/bus/usb/devices/9-3/power/autosuspend:0
    /sys/bus/usb/devices/usb10/power/autosuspend:0
    /sys/bus/usb/devices/usb1/power/autosuspend:0
    /sys/bus/usb/devices/usb2/power/autosuspend:0
    /sys/bus/usb/devices/usb3/power/autosuspend:0
    /sys/bus/usb/devices/usb4/power/autosuspend:0
    /sys/bus/usb/devices/usb5/power/autosuspend:0
    /sys/bus/usb/devices/usb6/power/autosuspend:0
    /sys/bus/usb/devices/usb7/power/autosuspend:0
    /sys/bus/usb/devices/usb8/power/autosuspend:0
    /sys/bus/usb/devices/usb9/power/autosuspend:0
    
  4. bigcmos commented on Nov 30, 2015

    @bigcmos
    Author
    $ ldd ./Protonect | grep libusb
        libusb-1.0.so.0 => /lib/arm-linux-gnueabihf/libusb-1.0.so.0 (0xf70d1000)
    
    $ gdb ./Protonect 
    GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
    Copyright (C) 2014 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "arm-linux-gnueabihf".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>.
    Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.
    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    Reading symbols from ./Protonect...done.
    (gdb) run
    Starting program: /home/acme/dev/archive/libfreenect2/build/bin/Protonect 
    Failed to read a valid object file image from memory.
    Traceback (most recent call last):
      File "/usr/share/gdb/auto-load/usr/lib/arm-linux-gnueabihf/libstdc++.so.6.0.19-gdb.py", line 63, in <module>
        from libstdcxx.v6.printers import register_libstdcxx_printers
    ImportError: No module named 'libstdcxx'
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
    Environment variables: LOGFILE=<protonect.log>
    Usage: /home/acme/dev/archive/libfreenect2/build/bin/Protonect [gl | cl | cpu] [<device serial>] [-noviewer]
    [New Thread 0xf5c2d440 (LWP 3945)]
    [New Thread 0xf542d440 (LWP 3946)]
    [Info] [Freenect2Impl] enumerating devices...
    [Info] [Freenect2Impl] 17 usb devices connected
    [Info] [Freenect2Impl] found valid Kinect v2 @10:6 with serial 068176734547
    [Info] [Freenect2Impl] found 1 devices
    [New Thread 0xefc18440 (LWP 3947)]
    [New Thread 0xef418440 (LWP 3948)]
    [Info] [Freenect2DeviceImpl] opening...
    [Info] [Freenect2DeviceImpl] opened
    [Info] [Freenect2DeviceImpl] starting...
    [Debug] [Freenect2DeviceImpl] ReadData0x14 response
    [Debug] [Freenect2DeviceImpl] 92 bytes of raw data
    0x0000:  00 00 12 00 00 00 00 00 01 00 00 00 43 c1 1f 41    2e2e2e2e2e2e2e2e2e2e2e2e432e2e41
    0x0010:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e
    0x0020:  0a 21 33 55 c2 00 17 20 00 08 00 00 10 00 00 00    2e2133552e2e2e202e2e2e2e2e2e2e2e
    0x0030:  00 01 00 00 00 10 00 00 00 00 80 00 01 00 00 00    2e2e2e2e2e2e2e2e2e2e802e2e2e2e2e
    0x0040:  31 33 00 00 00 03 11 17 47 48 57 31 32 35 2e 31    31332e2e2e2e2e2e4748573132352e31
    0x0050:  58 00 00 00 00 00 00 00 00 00 00 00                582e2e2e2e2e2e2e2e2e2e2e
    
    [Debug] [Freenect2DeviceImpl] ReadStatus0x090000 response
    [Debug] [Freenect2DeviceImpl] 4 bytes of raw data
    0x0000:  7f 26 00 00                                        7f262e2e
    
    [Debug] [Freenect2DeviceImpl] ReadStatus0x090000 response
    [Debug] [Freenect2DeviceImpl] 4 bytes of raw data
    0x0000:  7f 26 00 00                                        7f262e2e
    
    [Info] [Freenect2DeviceImpl] enabling usb transfer submission...
    [Info] [Freenect2DeviceImpl] submitting usb transfers...
    [Info] [Freenect2DeviceImpl] started
    device serial: 068176734547
    device firmware: 1.1.3326.0.7
    [Error] [RgbPacketStreamParser] packetsize or sequence doesn't match!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Info] [TurboJpegRgbPacketProcessor] avg. time: 50.1324ms -> ~19.9472Hz
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    ^C
    Program received signal SIGINT, Interrupt.
    __libc_do_syscall () at ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:43
    43  ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S: No such file or directory.
    (gdb) thread apply all backtrace
    
    Thread 5 (Thread 0xef418440 (LWP 3948)):
    #0  __libc_do_syscall () at ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:43
    #1  0xf74991d8 in __pthread_cond_wait (cond=0x228060, mutex=0x228048) at pthread_cond_wait.c:187
    #2  0xf77a5b52 in wait<tthread::mutex> (aMutex=..., this=<optimized out>)
        at /home/acme/dev/archive/libfreenect2/src/tinythread/tinythread.h:436
    #3  execute (this=0x228028) at /home/acme/dev/archive/libfreenect2/include/internal/libfreenect2/async_packet_processor.h:116
    #4  libfreenect2::AsyncPacketProcessor<libfreenect2::DepthPacket>::static_execute (data=0x228028)
        at /home/acme/dev/archive/libfreenect2/include/internal/libfreenect2/async_packet_processor.h:106
    #5  0xf77b1246 in tthread::thread::wrapper_function (aArg=0xf8438)
        at /home/acme/dev/archive/libfreenect2/src/tinythread/tinythread.cpp:167
    #6  0xf7495fbc in start_thread (arg=0xef418440) at pthread_create.c:314
    #7  0xf759020c in ?? () at ../ports/sysdeps/unix/sysv/linux/arm/nptl/../clone.S:92 from /lib/arm-linux-gnueabihf/libc.so.6
    Backtrace stopped: previous frame identical to this frame (corrupt stack?)
    
    Thread 4 (Thread 0xefc18440 (LWP 3947)):
    #0  0xf74ba3d8 in ?? () from /usr/lib/arm-linux-gnueabihf/libturbojpeg.so.0
    #1  0xfffffffe in ?? ()
    Backtrace stopped: previous frame identical to this frame (corrupt stack?)
    
    Thread 3 (Thread 0xf542d440 (LWP 3946)):
    #0  0xf758b2b6 in ioctl () at ../sysdeps/unix/syscall-template.S:81
    #1  0xf74ed488 in ?? () from /lib/arm-linux-gnueabihf/libusb-1.0.so.0
    Backtrace stopped: previous frame identical to this frame (corrupt stack?)
    
    Thread 2 (Thread 0xf5c2d440 (LWP 3945)):
    #0  0xf75873f0 in poll () at ../sysdeps/unix/syscall-template.S:81
    #1  0xf74efb5c in ?? () from /lib/arm-linux-gnueabihf/libusb-1.0.so.0
    Backtrace stopped: previous frame identical to this frame (corrupt stack?)
    
    Thread 1 (Thread 0xf5c2f000 (LWP 3942)):
    #0  __libc_do_syscall () at ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:43
    #1  0xf74991d8 in __pthread_cond_wait (cond=0x229b70, mutex=0x229b58) at pthread_cond_wait.c:187
    #2  0xf77a5420 in wait<tthread::mutex> (aMutex=..., this=0x229b70)
        at /home/acme/dev/archive/libfreenect2/src/tinythread/tinythread.h:436
    #3  libfreenect2::SyncMultiFrameListener::waitForNewFrame (this=0xfffedc3c, frame=...)
        at /home/acme/dev/archive/libfreenect2/src/frame_listener_impl.cpp:114
    #4  0x0000b99c in main (argc=<optimized out>, argv=<optimized out>) at /home/acme/dev/archive/libfreenect2/examples/Protonect.cpp:205
    (gdb) bt full
    #0  __libc_do_syscall () at ../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:43
    No locals.
    #1  0xf74991d8 in __pthread_cond_wait (cond=0x229b70, mutex=0x229b58) at pthread_cond_wait.c:187
            _a2 = 128
            _nametmp = 240
            _a3tmp = 237
            _a3 = 237
            _a1 = 2268020
            _a4tmp = 0
            _a4 = 0
            _name = 240
            __ret = <optimized out>
            futex_val = 237
            buffer = {__routine = 0xf7498fb1 <__condvar_cleanup>, __arg = 0xfffedb20, __canceltype = -74624, __prev = 0x0}
            cbuffer = {oldtype = 0, cond = 0x229b70, mutex = 0x229b58, bc_seq = 0}
            err = <optimized out>
            pshared = 0
            pi_flag = 0
            val = <optimized out>
            seq = 118
    #2  0xf77a5420 in wait<tthread::mutex> (aMutex=..., this=0x229b70)
        at /home/acme/dev/archive/libfreenect2/src/tinythread/tinythread.h:436
    No locals.
    #3  libfreenect2::SyncMultiFrameListener::waitForNewFrame (this=0xfffedc3c, frame=...)
        at /home/acme/dev/archive/libfreenect2/src/frame_listener_impl.cpp:114
            l = {mMutex = 0x229b58}
    #4  0x0000b99c in main (argc=<optimized out>, argv=<optimized out>) at /home/acme/dev/archive/libfreenect2/examples/Protonect.cpp:205
            rgb = <optimized out>
            ir = <optimized out>
            depth = <optimized out>
            program_path = {static npos = <optimized out>, 
              _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, 
                _M_p = 0x1a384 "/home/acme/dev/archive/libfreenect2/build/bin/Protonect"}}
            filelogger = <optimized out>
            dev = <optimized out>
            serial = {static npos = <optimized out>, 
              _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, 
                _M_p = 0x1e58c "068176734547"}}
            viewer_enabled = <optimized out>
            listener = {<libfreenect2::FrameListener> = {
                _vptr.FrameListener = 0xf77cb558 <vtable for libfreenect2::SyncMultiFrameListener+8>}, impl_ = 0x229b58}
            undistorted = {timestamp = 1, sequence = 6, width = 512, height = 424, bytes_per_pixel = 4, data = 0xedb7a040 "", 
              rawdata = 0xedb7a008 ""}
            executable_name_idx = <optimized out>
            freenect2 = {_vptr.Freenect2 = 0xf77cbd18 <vtable for libfreenect2::Freenect2+8>, impl_ = 0x1a418}
            registration = 0xecf54008
            pipeline = <optimized out>
            frames = {_M_t = {
                _M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<libfreenect2::Frame::Type const, libfreenect2::Frame*> > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<libfreenect2::Frame::Type const, libfreenect2::Frame*> > >> = {<No data fields>}, <No data fields>}, 
                  _M_key_compare = {<std::binary_function<libfreenect2::Frame::Type, libfreenect2::Frame::Type, bool>> = {<No data fields>}, <No data fields>}, _M_header = {_M_color = std::_S_red, _M_parent = 0x0, _M_left = 0xfffedc50, _M_right = 0xfffedc50}, 
                  _M_node_count = 0}}}
            registered = {timestamp = 4, sequence = 0, width = 512, height = 424, bytes_per_pixel = 4, data = 0xedaa5040 "", 
              rawdata = 0xedaa5008 ""}
            framecount = 0
            viewer = {<WithOpenGLBindings> = {_vptr.WithOpenGLBindings = 0xebd0 <vtable for Viewer+8>, bindings = 0x2efb10}, 
              shouldStop = false, window = 0x1e7ba0, triangle_vbo = 873984, triangle_vao = 4, renderShader = {<WithOpenGLBindings> = {
                  _vptr.WithOpenGLBindings = 0xe9c8 <vtable for ShaderProgram+8>, bindings = 0x2efb10}, program = 3, vertex_shader = 1, 
                fragment_shader = 2, 
    ---Type <return> to continue, or q <return> to quit---
                error_buffer = "\005\000\000\000\002\000\000\000\004V\r\000\004V\r\000l2\000\000\004\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\352\000\000\000\001\000\000\000\003\004\000\000\314\026\016\000̖\r\000\b", '\000' <repeats 11 times>, "\004\000\000\000\000\000\000\000/home/acme/dev/archive/libfreenect2/build/bin/Protonect\000Ԗ\r\000x", '\000' <repeats 11 times>, "\004\000\000\000\000\000\000\000\t\001\000\000\001\000\000\000\003\000\000\000L\027\016\000L\227\r\000\004\000\000\000!\336\376\377\270\346\376\377)\336\376\377\a\000\000\000A4\000\000\000a"...}, renderGrayShader = {<WithOpenGLBindings> = {
                  _vptr.WithOpenGLBindings = 0xe9c8 <vtable for ShaderProgram+8>, bindings = 0x2efb10}, program = 6, vertex_shader = 4, 
                fragment_shader = 5, 
                error_buffer = "?\353\376\377\\\345\376\377`\345\376\377P\000\177\367\003\000\000\000\360\352\376\377\200\351\376\377 (\303\365\240\000\000\000\330\062\306\365@\345\376\377\067\261}\367", '\000' <repeats 174 times>...}, shader_folder = {
                static npos = <optimized out>, 
                _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, 
                  _M_p = 0x2282b4 "src/shader/"}}, frames = {_M_t = {
                  _M_impl = {<std::allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, libfreenect2::Frame*> > >> = {<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, libfreenect2::Frame*> > >> = {<No data fields>}, <No data fields>}, 
                    _M_key_compare = {<std::binary_function<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool>> = {<No data fields>}, <No data fields>}, _M_header = {
                      _M_color = std::_S_red, _M_parent = 0x0, _M_left = 0xfffeed70, _M_right = 0xfffeed70}, _M_node_count = 0}}}, 
              rgb = {<WithOpenGLBindings> = {
                  _vptr.WithOpenGLBindings = 0xe9e0 <vtable for Texture<ImageFormat<4u, 6408u, 32993u, 5121u> >+8>, 
                  bindings = 0x2efb10}, bytes_per_pixel = 4, height = 0, width = 0, texture = 0, data = 0x0, size = 0}, 
              ir = {<WithOpenGLBindings> = {
                  _vptr.WithOpenGLBindings = 0xe9f8 <vtable for Texture<ImageFormat<4u, 33326u, 6403u, 5126u> >+8>, 
                  bindings = 0x2efb10}, bytes_per_pixel = 4, height = 0, width = 0, texture = 0, data = 0x0, size = 0}}
            binpath = {static npos = <optimized out>, 
              _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, 
                _M_p = 0x1a3e4 "/home/acme/dev/archive/libfreenect2/build/bin/"}}
    
  5. bigcmos commented on Nov 30, 2015

    @bigcmos
    Author

    Added some logging and let it run for a while, looks like I'm not getting the correct footer in the DepthPacketStreamParser (see below).

    [Info] [DepthPacketStreamParser] [zdaa] DepthPacketStreamParser::onDataReceived footer in_length: 28312, footer_found: 0, wb.length: 0, wb.capacity: 298496

    [Info] [DepthPacketStreamParser] [zdaa] DepthPacketStreamParser::onDataReceived memcpy in_length: 28312, footer_found: 0
    6

    $ git diff src/
    diff --git a/src/depth_packet_stream_parser.cpp b/src/depth_packet_stream_parser.cpp
    index 4b7e9e7..4c51da6 100644
    --- a/src/depth_packet_stream_parser.cpp
    +++ b/src/depth_packet_stream_parser.cpp
    @@ -79,6 +79,12 @@ void DepthPacketStreamParser::onDataReceived(unsigned char* buffer, size_t in_le
           footer = reinterpret_cast<DepthSubPacketFooter *>(&buffer[in_length]);
           footer_found = true;
         }
    +    LOG_INFO << "[zdaa] DepthPacketStreamParser::onDataReceived footer " <<
    +        "in_length: " << in_length <<
    +        ", footer_found: " << footer_found <<
    +        ", wb.length: " << wb.length <<
    +        ", wb.capacity: " << wb.capacity <<
    +    std::endl;
    
         if(wb.length + in_length > wb.capacity)
         {
    @@ -87,6 +93,10 @@ void DepthPacketStreamParser::onDataReceived(unsigned char* buffer, size_t in_le
           return;
         }
    
    +    LOG_INFO << "[zdaa] DepthPacketStreamParser::onDataReceived memcpy " <<
    +        "in_length: " << in_length <<
    +        ", footer_found: " << footer_found <<
    +    std::endl;
         memcpy(wb.data + wb.length, buffer, in_length);
         wb.length += in_length;
    
    @@ -98,6 +108,12 @@ void DepthPacketStreamParser::onDataReceived(unsigned char* buffer, size_t in_le
           }
           else
           {
    +        LOG_INFO << "[zdaa] DepthPacketStreamParser::onDataReceived " <<
    +            "in_length: " << in_length <<
    +            ", current_sequence_: " << current_sequence_ <<
    +            ", footer->sequence: " << footer->sequence <<
    +            ", seq eq: (" << (current_sequence_ != footer->sequence) << ")" <<
    +            "processor_->ready(): " << processor_->ready() << std::endl;
             if(current_sequence_ != footer->sequence)
             {
               if(current_subsequence_ == 0x3ff)
    @@ -112,7 +128,9 @@ void DepthPacketStreamParser::onDataReceived(unsigned char* buffer, size_t in_le
                   packet.buffer = buffer_.back().data;
                   packet.buffer_length = buffer_.back().length;
    
    +              LOG_INFO << "[zdaa] Pre process Length: " << in_length << std::endl;
                   processor_->process(packet);
    +              LOG_INFO << "[zdaa] post process Length: " << in_length << std::endl;
    
                   processed_packets_++;
                   if (processed_packets_ == 0)
    
  6. xlz commented on Dec 1, 2015

    @xlz
    Member

    28312 is strange. It's far from a round number. There are a lot of these tegra-xhci tegra-xhci: WARN Event TRB for slot 4 ep 8 with no TDs queued? in dmesg, this is also not normal. Also, libusb has [handle_iso_completion] low-level USB error -18. 18 is EXDEV, meaning iso transfers are partially completed or something.

    Things to do:

    • Post lspci -nn.
    • Verify if libusb is 1.0.20. If you know it is, no action is needed.
    • Try another way to set autosuspend: sudo sh -c 'for dev in /sys/bus/usb/devices/*/power/autosuspend; do echo -1 >$dev; done'
    • Try maximizing CPU and GPU performance http://elinux.org/Jetson/Performance (I don't know if this applies to X1). Maybe it was too slow to handle the rate of data.
    • Try newer kernel: http://elinux.org/Jetson_TX1. Maybe it's a driver issue. This takes a lot of time to figure out so you don't have to do it.
  7. floe commented on Dec 23, 2015

    @floe
    Contributor

    Still an issue? Otherwise, please close.

  8. soulslicer commented on Dec 23, 2015

    @soulslicer

    Can I know if anyone got libfreenect2 to work with tegra?

  9. xlz commented on Dec 24, 2015

    @xlz
    Member

    It works on Tegra K1. I don't have a Tegra X1 so no idea about it.

  10. soulslicer commented on Dec 25, 2015

    @soulslicer

    Does it work with OpenCL or does it run on the CPU?

    On Thu, Dec 24, 2015 at 9:07 AM, Lingzhu Xiang notifications@github.com
    wrote:

    It works on Tegra K1. I don't have a Tegra X1 so no idea about it.

    —
    Reply to this email directly or view it on GitHub
    #480 (comment)
    .

  11. xlz commented on Dec 25, 2015

    @xlz
    Member

    There is no OpenCL support for Tegra K1. It works with OpenGL.

  12. bigcmos commented on Dec 26, 2015

    @bigcmos
    Author

    Still an issue.

    Things to do:

    • Post lspci -nn.

    Will send this when I'm back in the office in Jan.

    Verify if libusb is 1.0.20. If you know it is, no action is needed.

    Yes, using 1.0.20.

    • Try another way to set autosuspend: sudo sh -c 'for dev in /sys/bus/usb/devices/*/power/autosuspend; do echo -1 >$dev; done'

    Yes, I tried this the first time, but had to fix it every time I plugged/unplugged the USB. Is there a good way to test if autosuspend is working?

    I don't think it is too slow. I was able to run 3 separate USB cameras @ 40 Hz with no problem.

    • Try newer kernel: http://elinux.org/Jetson_TX1. Maybe it's a driver issue. This takes a lot of time to figure out so you don't have to do it.

    I'm at the newest supplied by Nvidia. I would have to build a new Kernel. Do you have an idea of what kernel people are using on the TK1 that is succeeding?

    @xlz

  13. hanyazou commented on Jan 31, 2016

    @hanyazou
    Contributor

    I bought my TK1 and setup today. And Protonect prints many 'skipping rgb packet!' message without any image.

    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!
    [Debug] [RgbPacketStreamParser] skipping rgb packet!

    I found that ./bin/Protonect uses /usr/lib/arm-linux-gnueabihf/mesa/libGL.so instread of tegra/libGL.so.

    My setup steps:

    1. create new VM on my Mac and install Ubuntu 14.04
    2. install JetPack L4T 2.0 following http://docs.nvidia.com/jetpack-l4t/index.html#developertools/mobile/jetpack/jetpack_l4t/2.0/jetpack_l4t_install.htm
    3. build libfreenect2 following https://github.com/OpenKinect/libfreenect2/blob/master/README.md#debianubuntu-1404

    I found that libgl1-mesa-dev package overwrite /usr/lib/arm-linux-gnuapihf/libGL.so -> tegra/libGL.so symbolic link. I'm not sure which step introduced the libgl1-mesa-dev package. I guess 'apt-get install mesa-common-dev' in the libfreenect2 build instruction depends the libgl1-mesa-dev.

    @bigcmos please check your libGL.so with ldd

    ldd ./Protonect | grep libGL

  14. xlz commented on Jan 31, 2016

    @xlz
    Member

    The overwrite is an old known issue. See the top sticky post https://devtalk.nvidia.com/default/board/162/ Notice On apt-get upgrade: libglx.so Corruption

  15. 12 remaining items

  16. marketto89 commented on Feb 18, 2016

    @marketto89

    Are there any news about libfreenect2 with the Jetson TX1?

    I tried to make it work but I had the same [Debug] [RgbPacketStreamParser] skipping rgb packet! error lines.

  17. xlz commented on Feb 18, 2016

    @xlz
    Member

    This is not an error. You see it's a debug message.

    CUDA support is merged. The Tegra hardware JPEG decoder support for TK1 is in #576, almost merged. It is probably easy to support TX1's hardware JPEG decoder but I don't have one so I'm unable to tell.

  18. xlz commented on Feb 18, 2016

    @xlz
    Member

    If you have a TX1, maybe you can try it out and tell us what is needed.

  19. marketto89 commented on Feb 19, 2016

    @marketto89

    Yes, the problem seems related to the missing Tegra hardware JPEG decoder.
    An ldd Protonect | grep jpeg returns the following line:
    libturbojpeg.so.0 => /usr/lib/arm-linux-gnueabihf/libturbojpeg.so.0 (0xf702e000)

    I tried to look for /usr/lib/arm-linux-gnueabihf/tegra/libjpeg.so with no success.

    How can I fix this problem?

  20. xlz commented on Feb 19, 2016

    @xlz
    Member

    TX1 seems to name libjpeg.so to libnvjpeg.so but their content is the same. What specific errors did you get?

  21. marketto89 commented on Feb 19, 2016

    @marketto89

    Thank you for the information about libnvjpeg.so

    Actually I have no errors, but as I said I see a lot of [Debug] [RgbPacketStreamParser] skipping rgb packet!.

    I also found that cmake does not find Tegra JPEG even if I put a symbolic link from /usr/lib/arm-linux-gnueabihf/tegra/libjpeg.so to /usr/lib/arm-linux-gnueabihf/tegra/libnvjpeg.so. Is it an error?
    I remember that with the TK1 I saw the tegra/libjpeg.so correctly linked with ldd Protonect.

  22. xlz commented on Feb 19, 2016

    @xlz
    Member

    What is the Tegra related output from CMake? It Should be able to find libnvjpeg.so.

  23. xlz commented on Feb 19, 2016

    @xlz
    Member

    It no longer links to libjpeg because users use other things linked to the standard libjpeg and this tegra libjpeg creates symbol conflicts. Now it dlopen's at runtime.

  24. marketto89 commented on Feb 19, 2016

    @marketto89

    Here is the CMake output I got:

    cmake_output.txt

    and, after the compilation, this is the protonect output:

    protonect_output.txt

  25. xlz commented on Feb 19, 2016

    @xlz
    Member

    TegraJPEG has to be enabled to provide the native support.

    CMake didn't find the tegra headers. It is supposed to extract gst_jpeg.tbz2 to build/gst_jpeg, and there should be nv_headers/jpeglib.h under build/gst_jpeg. Can you take a look there and see why it didn't find it, and provide CMakeFiles/CMakeError.log?

  26. marketto89 commented on Feb 19, 2016

    @marketto89

    Well, I can't see the folder you mentioned.

    This is the CMakeFiles/CMakeError.log:

    CMakeError.log.txt

  27. xlz commented on Feb 19, 2016

    @xlz
    Member

    CMake is supposed to tar xfj gst_jpeg.tbz2 but it didn't. I don't have specific instructions but can you look at cmake --debug or cmake --trace around this line https://github.com/OpenKinect/libfreenect2/blob/master/cmake_modules/FindTegraJPEG.cmake#L51

  28. xlz commented on Feb 19, 2016

    @xlz
    Member

    The directory is actually supposed to be build/gstjpeg_src and nv_headers/jpeglib.h under build/gstjpeg_src.

  29. xlz commented on Mar 11, 2016

    @xlz
    Member

    This thread kind of digressed. All TX1 issues to be followed up in #581.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions