You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+72-5Lines changed: 72 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,6 +26,8 @@ No. It's a pure USB3 device due to the high bandwidth requirements.
26
26
27
27
Either your device is connected to an USB2-only port (see above), or you don't have permissions to access the device. On Linux, try running Protonect as root (e.g. using `sudo`). If that fixes things, place `rules/90-kinect2.rules` into `/etc/udev/rules.d/` and re-plug the device.
28
28
29
+
On Linux, also check `dmesg`. If there are warnings like `usb 4-1.1: Not enough bandwidth for new device state.` it means the hardware does not have the capacity for USB3 even if it claims so, or its capacity is not well supported.
30
+
29
31
On Mac OS X, open "System Information" from Spotlight, go to the USB section, and verify "Xbox NUI Sensor" is under "USB 3.0 SuperSpeed Bus" not "High-Speed Bus". If this is not the case, try unplugging the Kinect from power source with the USB cable connected, and plug the power again, then verify.
30
32
31
33
### I'm getting lots of USB transfer errors, and/or only blank windows.
@@ -37,6 +39,13 @@ USB3 as a whole is a flaky thing. If you're running Linux, try upgrading to a re
37
39
38
40
Probably not working:
39
41
* ASMedia Technology Inc. Device 1142
42
+
* ASMedia Technology Inc. ASM1042
43
+
44
+
Messages in `dmesg` like this means bugs in the USB driver. Updating kernel might help.
45
+
```
46
+
[ 509.238571] xhci_hcd 0000:03:00.0: xHCI host not responding to stop endpoint command.
47
+
[ 509.238580] xhci_hcd 0000:03:00.0: Assuming host is dying, halting host.
48
+
```
40
49
41
50
Finally, it's also possible that your executable is not actually using the patched libusb from the depends/ folder which is required at the moment. Check this using `ldd | grep libusb` (shows libusb-1.0 under `depends/`), and adjust your `LD_LIBRARY_PATH` if necessary.
42
51
@@ -54,7 +63,9 @@ The depth packet processor runs on OpenGL by default. You can try alternatives,
54
63
55
64
This project uses the libusbx drivers and API. Setting things up varies by platform.
56
65
57
-
### Windows
66
+
### Windows / Visual Studio
67
+
68
+
#### libusbK driver
58
69
59
70
If you have the Kinect for Windows v2 SDK, install it first. You don't need to uninstall the SDK or the driver before doing this procedure.
60
71
@@ -81,6 +92,54 @@ This will enumerate the Kinect sensor again and it will pick up the K4W2 SDK dri
81
92
82
93
You can go back and forth between the SDK driver and the libusbK driver very quickly and easily with these steps.
git merge joshblake/winiso # patches for libusbK backend
105
+
```
106
+
Open `libusb/msvc/libusb_2013.sln` with Visual Studio 2013 (or older version, accordingly), set configurations to "Release x64", and build "libusb-1.0 (dll)". You can clone the libusb repo to somewhere else, but you will need to set environment variable `LibUSB_ROOT` to that path. Building with "Win32" is not recommended as it results in lower performance.
107
+
108
+
* Pre-built binary
109
+
110
+
Joshua Blake provided a Debug version binary: https://www.dropbox.com/s/madoye1ayaoajet/libusbx-winiso.zip. Install it as `depends/libusbx`. This version was built in 2013.
111
+
112
+
#### TurboJPEG
113
+
114
+
* Download from http://sourceforge.net/projects/libjpeg-turbo/files
115
+
* Extract it to the default path (`c:\libjpeg-turbo64`), or as `depends/libjpeg-turbo64`, or anywhere as long as the environment variable `TurboJPEG_ROOT` is set to installed path.
116
+
117
+
#### GLFW
118
+
119
+
* Download 64-bit Windows binaries from http://www.glfw.org/download.html
120
+
* Extract it as `depends/glfw` (rename `glfw-3.x.x.bin.WIN64` to glfw), or anywhere as long as the environment variable `GLFW_ROOT` is set to the installed path.
121
+
122
+
#### OpenCV
123
+
124
+
* Download the installer from http://sourceforge.net/projects/opencvlibrary/files/opencv-win
125
+
* Extract it anywhere (maybe also in `depends`)
126
+
127
+
#### OpenCL
128
+
129
+
* Intel GPU: Download `intel_sdk_for_ocl_applications_2014_x64_setup.msi` from http://www.softpedia.com/get/Programming/SDK-DDK/Intel-SDK-for-OpenCL-Applications.shtml (SDK official download is replaced by $$$ and no longer available) and install it. Then verify `INTELOCLSDKROOT` is set as an environment variable.
130
+
131
+
#### Build
132
+
133
+
You need to specify the location of OpenCV installation in `OpenCV_DIR`.
134
+
```
135
+
cd example\protonect
136
+
mkdir build && cd build
137
+
cmake .. -G "Visual Studio 12 2013 Win64" -DCMAKE_INSTALL_PREFIX=. -DOpenCV_DIR=%cd%\..\..\..\depends\opencv\build
138
+
cmake --build . --config Release --target install
139
+
```
140
+
141
+
Then you can run the program with `.\bin\Protonect.exe`. If DLLs are missing, you can copy them to the `bin` folder.
142
+
84
143
### Mac OSX
85
144
86
145
1.``cd`` into a directory where you want to keep libfreenect2 stuff in
@@ -90,6 +149,8 @@ You can go back and forth between the SDK driver and the libusbK driver very qui
0 commit comments