Xbox nui sensor driver windows 10

Xbox nui sensor driver windows 10

Table of Contents

Driver for Kinect for Windows v2 (K4W2) devices (release and developer preview).

Note: libfreenect2 does not do anything for either Kinect for Windows v1 or Kinect for Xbox 360 sensors. Use libfreenect1 for those sensors.

If you are using libfreenect2 in an academic context, please cite our work using the following DOI:

If you use the KDE depth unwrapping algorithm implemented in the library, please also cite this ECCV 2016 paper.

This driver supports:

  • RGB image transfer
  • IR and depth image transfer
  • registration of RGB and depth images

Watch the OpenKinect wiki at www.openkinect.org and the mailing list at https://groups.google.com/forum/#!forum/openkinect for the latest developments and more information about the K4W2 USB protocol.

The API reference documentation is provided here https://openkinect.github.io/libfreenect2/.

  • USB 3.0 controller. USB 2 is not supported.

Intel and NEC USB 3.0 host controllers are known to work. ASMedia controllers are known to not work.

Virtual machines likely do not work, because USB 3.0 isochronous transfer is quite delicate.

Requirements for multiple Kinects

It has been reported to work for up to 5 devices on a high-end PC using multiple separate PCI Express USB3 expansion cards (with NEC controller chip). If you’re using Linux, you may have to increase USBFS memory buffers. Depending on the number of Kinects, you may need to use an even larger buffer size. If you’re using an expansion card, make sure it’s not plugged into an PCI-E x1 slot. A single lane doesn’t have enough bandwidth. x8 or x16 slots usually work.

Operating system requirements

  • Windows 7 (buggy), Windows 8, Windows 8.1, and probably Windows 10
  • Debian, Ubuntu 14.04 or newer, probably other Linux distros. Recommend kernel 3.16+ or as new as possible.
  • Mac OS X

Requirements for optional features

  • OpenGL depth processing: OpenGL 3.1 (Windows, Linux, Mac OS X). OpenGL ES is not supported at the moment.
  • OpenCL depth processing: OpenCL 1.1
  • CUDA depth processing: CUDA (6.5 and 7.5 are tested; The minimum version is not clear.)
  • VAAPI JPEG decoding: Intel (minimum Ivy Bridge or newer) and Linux only
  • VideoToolbox JPEG decoding: Mac OS X only
  • OpenNI2 integration: OpenNI2 2.2.0.33
  • Jetson TK1: Linux4Tegra 21.3 or later. Check Jetson TK1 issues before installation. Jetson TX1 is not yet supported as the developers don’t have one, but it may be easy to add the support.

Troubleshooting and reporting bugs

When you report USB issues, please attach relevant debug log from running the program with environment variable LIBUSB_DEBUG=3 , and relevant log from dmesg . Also include relevant hardware information lspci and lsusb -t .

  • Joshua Blake joshblake@gmail.com
  • Florian Echtler
  • Christian Kerl
  • Lingzhu Xiang (development/master branch)

Windows / Visual Studio

Install UsbDk driver

  1. (Windows 7) You must first install Microsoft Security Advisory 3033929 otherwise your USB keyboards and mice will stop working!
  2. Download the latest x64 installer from https://github.com/daynix/UsbDk/releases, install it.
  3. If UsbDk somehow does not work, uninstall UsbDk and follow the libusbK instructions.

This doesn’t interfere with the Microsoft SDK. Do not install both UsbDK and libusbK drivers

(Alternatively) Install libusbK driver

You don’t need the Kinect for Windows v2 SDK to build and install libfreenect2, though it doesn’t hurt to have it too. You don’t need to uninstall the SDK or the driver before doing this procedure.

Install the libusbK backend driver for libusb. Please follow the steps exactly:

  1. Download Zadig from http://zadig.akeo.ie/.
  2. Run Zadig and in options, check «List All Devices» and uncheck «Ignore Hubs or Composite Parents»
  3. Select the «Xbox NUI Sensor (composite parent)» from the drop-down box. (Important: Ignore the «NuiSensor Adaptor» varieties, which are the adapter, NOT the Kinect) The current driver will list usbccgp. USB ID is VID 045E, PID 02C4 or 02D8.
  4. Select libusbK (v3.0.7.0 or newer) from the replacement driver list.
  5. Click the «Replace Driver» button. Click yes on the warning about replacing a system driver. (This is because it is a composite parent.)
Читайте также:  Linux packages on android

To uninstall the libusbK driver (and get back the official SDK driver, if installed):

  1. Open «Device Manager»
  2. Under «libusbK USB Devices» tree, right click the «Xbox NUI Sensor (Composite Parent)» device and select uninstall.
  3. Important: Check the «Delete the driver software for this device.» checkbox, then click OK.

If you already had the official SDK driver installed and you want to use it:

  1. In Device Manager, in the Action menu, click «Scan for hardware changes.»

This will enumerate the Kinect sensor again and it will pick up the K4W2 SDK driver, and you should be ready to run KinectService.exe again immediately.

You can go back and forth between the SDK driver and the libusbK driver very quickly and easily with these steps.

Download the latest build (.7z file) from https://github.com/libusb/libusb/releases, and extract as depends/libusb (rename folder libusb-1.x.y to libusb if any).

Download the -vc64.exe installer from http://sourceforge.net/projects/libjpeg-turbo/files, extract it to c:\libjpeg-turbo64 (the installer’s default) or depends/libjpeg-turbo64 , or anywhere as specified by the environment variable TurboJPEG_ROOT .

Download from http://www.glfw.org/download.html (64-bit), extract as depends/glfw (rename glfw-3.x.x.bin.WIN64 to glfw ), or anywhere as specified by the environment variable GLFW_ROOT .

Install OpenCL (optional)

  1. Intel GPU: Download «Intel® SDK for OpenCL™ Applications 2016» from https://software.intel.com/en-us/intel-opencl (requires free registration) and install it.

Install CUDA (optional, Nvidia only)

  1. Download CUDA Toolkit and install it. You MUST install the samples too.

Install OpenNI2 (optional)

Download OpenNI 2.2.0.33 (x64) from http://structure.io/openni, install it to default locations ( C:\Program Files. ).

The default installation path is install , you may change it by editing CMAKE_INSTALL_PREFIX .

Or -G «Visual Studio 14 2015 Win64» . Or -G «Visual Studio 16 2019» .

Run the test program: .\install\bin\Protonect.exe , or start debugging in Visual Studio.

Test OpenNI2 (optional)

Copy freenect2-openni2.dll, and other dll files (libusb-1.0.dll, glfw.dll, etc.) in install\bin to C:\Program Files\OpenNI2\Tools\OpenNI2\Drivers . Then run C:\Program Files\OpenNI\Tools\NiViewer.exe . Environment variable LIBFREENECT2_PIPELINE can be set to cl , cuda , etc to specify the pipeline.

You can download and install libfreenect2 using the vcpkg dependency manager:

The libfreenect2 port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.

Use your favorite package managers (brew, ports, etc.) to install most if not all dependencies:

  • Make sure these build tools are available: wget, git, cmake, pkg-config. Xcode may provide some of them. Install the rest via package managers.
  • Download libfreenect2 source
  • Install dependencies: libusb, GLFW
  • Install TurboJPEG (optional)
  • Install CUDA (optional): TODO
  • Install OpenNI2 (optional)
  • Build
  • Run the test program: ./bin/Protonect
  • Test OpenNI2. make install-openni2 (may need sudo), then run NiViewer . Environment variable LIBFREENECT2_PIPELINE can be set to cl , cuda , etc to specify the pipeline.

Note: Ubuntu 12.04 is too old to support. Debian jessie may also be too old, and Debian stretch is implied in the following.

  • Download libfreenect2 source
  • (Ubuntu 14.04 only) Download upgrade deb files
  • Install build tools
  • Install libusb. The version must be >= 1.0.20.
    1. (Ubuntu 14.04 only) sudo dpkg -i debs/libusb*deb
    2. (Other) sudo apt-get install libusb-1.0-0-dev
  • Install TurboJPEG
    1. (Ubuntu 14.04 to 16.04) sudo apt-get install libturbojpeg libjpeg-turbo8-dev
    2. (Debian/Ubuntu 17.10 and newer) sudo apt-get install libturbojpeg0-dev
  • Install OpenGL
    1. (Ubuntu 14.04 only) sudo dpkg -i debs/libglfw3*deb; sudo apt-get install -f
    2. (Odroid XU4) OpenGL 3.1 is not supported on this platform. Use cmake -DENABLE_OPENGL=OFF later.
    3. (Other) sudo apt-get install libglfw3-dev
  • Install OpenCL (optional)
    • Intel GPU
      1. (Ubuntu 14.04 only) sudo apt-add-repository ppa:floe/beignet; sudo apt-get update; sudo apt-get install beignet-dev; sudo dpkg -i debs/ocl-icd*deb
      2. (Other) sudo apt-get install beignet-dev
      3. For older kernels, # echo 0 >/sys/module/i915/parameters/enable_cmd_parser is needed. See more known issues at https://www.freedesktop.org/wiki/Software/Beignet/.
    • AMD GPU: Install the latest version of the AMD Catalyst drivers from https://support.amd.com and apt-get install opencl-headers .
    • Mali GPU (e.g. Odroid XU4): (with root) mkdir -p /etc/OpenCL/vendors; echo /usr/lib/arm-linux-gnueabihf/mali-egl/libmali.so >/etc/OpenCL/vendors/mali.icd; apt-get install opencl-headers .
    • Verify: You can install clinfo to verify if you have correctly set up the OpenCL stack.
  • Install CUDA (optional, Nvidia only):
    • (Ubuntu 14.04 only) Download cuda-repo-ubuntu1404. *.deb («deb (network)») from Nvidia website, follow their installation instructions, including apt-get install cuda which installs Nvidia graphics driver.
    • (Jetson TK1) It is preloaded.
    • (Nvidia/Intel dual GPUs) After apt-get install cuda , use sudo prime-select intel to use Intel GPU for desktop.
    • (Other) Follow Nvidia website’s instructions. You must install the samples package.
  • Install VAAPI (optional, Intel only)
    1. (Ubuntu 14.04 only) sudo dpkg -i debs/*deb; sudo apt-get install -f
    2. (Other) sudo apt-get install libva-dev libjpeg-dev
    3. Linux kernels 4.1 to 4.3 have performance regression. Use 4.0 and earlier or 4.4 and later (Though Ubuntu kernel 4.2.0-28.33

      14.04.1 has backported the fix).

  • Install OpenNI2 (optional)
    1. (Ubuntu 14.04 only) sudo apt-add-repository ppa:deb-rob/ros-trusty && sudo apt-get update (You don’t need this if you have ROS repos), then sudo apt-get install libopenni2-dev
    2. (Other) sudo apt-get install libopenni2-dev
  • Build (if you have run cd depends previously, cd .. back to the libfreenect2 root directory first.) You need to specify cmake -Dfreenect2_DIR=$HOME/freenect2/lib/cmake/freenect2 for CMake based third-party application to find libfreenect2.
  • Set up udev rules for device access: sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/ , then replug the Kinect.
  • Run the test program: ./bin/Protonect
  • Run OpenNI2 test (optional): sudo apt-get install openni2-utils && sudo make install-openni2 && NiViewer2 . Environment variable LIBFREENECT2_PIPELINE can be set to cl , cuda , etc to specify the pipeline.

About

Open source drivers for the Kinect for Windows v2 device

Установка Kinect в Windows 7

Введение

Данная статья родилась в процессе создания простенькой программы на C#, которая получает изображение с обычной USB камеры и сохраняет картинку раз в 5 секунд на жесткий диск. Так получилось, что у меня есть только встроенная камера моего ноутбука, а для решения поставленной задачи камера должна смотреть через окно на улицу, покупать новую совсем не хотелось, поэтому мой взгляд обратился к стоящему на телевизоре Kinect`у. Соответственно первоочередная задача — подключить устройство к компьютеру, с ней и будем сейчас разбираться.

Забегая вперед скажу, что использовать Kinect вместо камеры я еще не пробовал, т.к. нашлась обычная usb веб-камера, но эту затею я не оставлю, т.к. обертки kinect`а для c# уже есть.

Необходимые условия

Сразу хочу оговориться, что все операции проводились в Windows 7 Ultimate, установленной на MacBook через BootCamp, уверен на 99.9% что это значения не имеет, но упомянуть будет не лишним.

Итак, что же нам понадобится:

  • Kinect
  • Компьютер
  • ОС Windows 7
  • Visual Studio 2010 (с установленной поддержкой C++)
  • Интернет (для загрузки необходимых библиотек)
Подготовительный этап

Возможно, готовые драйверы для работы Kinect можно найти где-то на просторах интернета, но согласитесь, что созданное своими руками приятнее, понятнее и за ошибки ругать кроме себя некого. Поэтому мы начнем с загрузки всех необходимых программ и библиотек.

Для удобства я создам папку C:\OpenKinect, в которой будут происходить все работы.

libusb-win32
Это порт библиотеки libusb, которая позволяет получать доступ к различным USB устройствам из клиентских приложений.
Скачиваем файл с именем вида libusb-win32-bin-x.x.x.x.zip из последнего билда, в моем случае это был билд с номером 1.2.2.0 и распаковываем его в C:\OpenKinect\Libusb-win32 (имя папки не принципиально, я назвал для удобства, это верно для всех папок, которые мы будем создавать).
libusb-win32-bin-1.2.2.0.zip

pthreads-win32
Pthreads является набором библиотек, реализующих простую работу с потоками по стандарту POSIX. Проект очень древний, обновлений не было с 2006 года, поэтому даю прямую ссылку на необходимый файл, который необходимо будет разархивировать в папку C:\OpenKinect\Pthreads-win32.
pthreads-w32-2-8-0-release.exe

Также необходимо будет скопировать файл C:\OpenKinect\Pthreads-win32\Pre-built.2\lib\phtreadVC2.dll в папку \Windows\System32\

Glut
Это библиотека для работы с OpenGL. Еще один старый проект, и еще одна просто ссылка на файл, который необходимо распаковать в папку C:\OpenKinect\Glut
glut-3.7.6-bin.zip

Копируем файл C:\OpenKinect\Glut\glut32.dll в \Windows\System либо в любую папку, которая упомянута у нас в переменных среды (PATH)
Кроме этого необходимо скопировать файл C:\OpenKinect\Glut\glut.h в папку VC\include\GL вашей VS2010, если папки GL нет, то нужно ее создать. Файл C:\OpenKinect\Glut\glut32.lib в папку VC\lib. В моем случае пути выглядят следующим образом:

  • C:\Program Files\Microsoft Visual Studio 10.0\VC\include\GL
  • C:\Program Files\Microsoft Visual Studio 10.0\VC\lib

Сборка проекта

Git
Естественно мы не сможем обойтись без исходных файлов проекта libfreenect, поэтому качаем Git, устанавливаем его, во время установки выбираем опции «Run Git from the Windows Command Promt» и «Check-out Windows-style, commit Unix-style line endings».
Git-1.7.4-preview20110204.exe

Следующим шагом открываем командную строку и последовательно вводим следующее (парсер преобразует адрес в ссылку, поэтому я добавил лишний пробел между https:// и github.com, его нужно убрать):
cd c:\OpenKinect
git clone https:// github.com/OpenKinect/libfreenect.git
cd libfreenect
git branch —track unstable origin/unstable
git checkout master
git pull
В результате мы получим папку с исходниками C:\OpenKinect\libfreenect

CMake
Утилита, которая поможет нам собрать все наши библиотеки в один проект. Загружаем программу с сайта, на данный момент последняя версия 2.8.4, устанавливаем, во время установки выбираем опцию «Add CMake to the system PATH for all users»
cmake-2.8.4-win32-x86.exe

После установки запускаем файл cmake-gui.exe. В первой строке выбираем путь к папке с исходниками, у нас это C:/OpenKinect/libfreenect, вторая строка — папка, где будет собранный проект C:/OpenKinect/Drivers. Ставим галочки на Grouped и Advanced, нажимаем кнопку Configure, в открывшемся окне выбираем Visual Studio 10 и нажимаем кнопку Finish. Программа отработает с ошибкой, т.к. не указаны пути к нашим библиотекам, укажем так, как показано на скриншоте и дважды нажмем кнопку Configure.

Теперь у нас не должно быть ошибок и можно смело нажимать кнопку Generate, в результате в папке C:\OpenKinect\Drivers у нас окажется проект, который нам необходимо будет построить в VS2010.

Visual Studio 2010
Открываем в VS2010 наш свежеиспеченный проект из папки C:\OpenKinect\Drivers (файл libfreenect.sln) и построим его (у меня почему-то проект строился только со второго раза). Если все прошло без ошибок, то мы должны получить папки C:\OpenKinect\Drivers\lib\Debug и C:\OpenKinect\Drivers\bin\Debug, первую из которых нужно добавить в PATH.

На этом этап сборки завершен и переходим непосредственно к подключению Kinect`a

Подключение Kinect

Здесь достаточно все просто. Подключаем Kinect, система его определит как Xbox NUI Motor и не сможет найти драйверы, поможем ей в этом. Через диспетчер устройств находим нашего страдальца, выбираем опцию «Обновить драйвер» и указываем папку C:\OpenKinect\libfreenect\platform\windows\inf, система запросит подтверждение на установку неподписанного драйвера, даем свое согласие, после этого на Kinect`е должен замигать зеленый диод и в списке устройств должны появится еще два неопознанных устройства «Xbox NUI Camera» и «Xbox NUI Audio», устанавливаем для них драйвера из папки C:\OpenKinect\libfreenect\platform\windows\inf.

На этом все наши работы закончены, осталось только проверить как все работает.

Тестирование

Для проверки дееспособности Kinect мы воспользуемся тремя утилитами из папки

  • C:\OpenKinect\Drivers\bin\Debug:
  • glpclview.exe — Показывает возможности 3D камеры Kinect
  • glview.exe — Показывает работу обычной камеры
  • tiltdemo.exe — Задействует моторы Kinect

Вот и результат:

P.S. Если вы захотите написать свою программу для работы с Kinect, то в папке C:\OpenKinect\libfreenect\wrappers есть обертки под множество языков.

При написании статьи использовалась информация с сайта openkinect.org

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Читайте также:  Linux mint cinnamon или kde сравнение
Оцените статью