OpenNI SDK Release Notes


OpenNI 2.2 Beta Release Notes – July, 2012


This document describes the OpenNI 2.2 Beta release.

Package Content


  • OpenNI 2.2 Beta
  • Package Structure

The folder structure of the OpenNI 2.2 Beta release is as follows:


  • Contains documentation files in HTML format


  • Contains the USB driver for the PrimeSense Sensor (Windows only)


  • Contains the OpenNI header include files for application development


  • Contains the *.lib files for compilation linkage (Windows Only)


  • Contains the OpenNI 2.2 Beta runtime binaries
    - The Redist folder must be copied to each application directory


  • Contains nine programming samples demonstrating how to program with OpenNI 2.2 Beta API
    - Detailed description of each sample is available in Usage section


  • NiViewer tool, which demonstrates most of the features provided by OpenNI 2.2 Beta
  • PS1080 Console
  • PSLink Console


Supported Platforms

Supported Computer Hardware

  • X86 based computers: Pentium 4, 1.4 GHz and above or AMD Athlon 64/FX 1 GHz and above

Supported Operating Systems

  • Windows XP (32/64bits) with SP2 and above, Windows 7 (32/64bits), Win 8 (32/64bits)
  • OSX 10.7 and above
  • Ubuntu 12.04 (32/64bits) and above

Supported Development Environments

  • Microsoft Visual Studio 2008 and 2010. The compiler can be an MSVC compiler or an Intel Compiler 11 and above
  • GCC 4.x

Change Log

Changes from OpenNI 2.1

  • Capri support
  • Java wrappers
  • Looks for the driver in the same path as the DLL file (PS1080/PSLink)
  • Allow choosing which streams to open in NiViewer (run “NiViewer –help” for details).
  • Image registration support for Kinect driver.
  • Added Sensor connected event in Linux using “OpenNI::addDeviceConnectedListener” function.
  • Changed default compilation location to each Sample folder.
  • PS1080 – IR streams support for RGB888 and YUYV from FW 5.8.22
  • Visual Studio 2008 and express bug fix.

Changes from Open 1.x

  • Refactored API – This release includes the OpenNI 1.x features, but with an improved design. See the OpenNI 2.0 Migration Guide
  • Algorithms API has been removed, and its functionality is now part of the middleware libraries (such as NiTE)

OpenNI 2.x Features

  • Added support for translating depth pixels to color map coordinates
  • Added support for turning off Auto Exposure and Auto White Balance of the color CMOS in PS1080 devices
  • New deployment model –-a private copy of the OpenNI 2.x runtime binaries (in the Redist folder) for each application (see documentation)
  • Added built-in support for Kinect devices via the Kinect SDK (Windows only). Requires a Kinect SDK installation [LINK]

Known Issues

1. Listener class Although a Listener instance can attached to one stream only, if an additional stream was attached to the listener there is no error notification.
2. NiViewer tool Changing color stream resolution to 720p (from any other resolution) closes the color stream and issues the following error: “Device Protocol: Bad Parameter sent”.
3. NiViewer tool (applicable to Linux) When saving an ONI file to the hard drive you cannot change the name of the file or the file’s location; the default is used.
4. All Samples (applicable to Win64) When closing the Samples Viewer window with the Windows “X” button – the samples are not closed but continue to run in the console window.



The OpenNI 2.2 Beta installation instructions are located in the following areas:

  • OpenNI SDK
  • Local documentation – under the Documentation folder


OpenNI 2.2 Beta Samples

The OpenNI 2.2 Beta contains several code samples ready to compile and run:

  • SimpleRead – Demonstrates how to code a console application that opens a depth stream and read frames
  • MultipleStreamRead – Demonstrates the same functionality as the SimpleRead sample, but this sample uses both the depth stream and the color stream
  • SimpleViewer – Demonstrates how to code a graphic interface application that opens the depth and color streams and display them together on the screen simultaneously
  • MultiDepthViewer – Demonstrates how to code an application that opens multiple depth streams simultaneously from a number of sensors on the same PC
  • EventBasedRead – Demonstrates the same functionality as the SimpleRead sample but using an event based API
  • MWClosestPoint – Demonstrates how to code a new middleware library over OpenNI (the sample analyzes frames to find the closest pixel)
  • MWClosestPointApp – Demonstrates how to code a console application that uses the MWClosestPoint library
  • ClosestPointViewer – Demonstrates how to code a graphic interface application that uses the MWClosestPoint library
  • Simpleviewer.Java  – Demonstrates how to code a graphic interface application that opens the depth and color streams and display them together on the screen simultaneously in Java.


You can find the OpenNI 2.2 Beta Documentation at: