Oculus Rift Driver Update 0.4.0 Beta

New Features

  • Added DK2 Positional Tracking support.
  • Introduced Oculus Runtime that is installed separately from the SDK. Runtime package includes the Oculus Config Utility, service and drivers.
  • Oculus SDK now relies on OVRService resident process that communicates to hardware, handling tracking and sensor fusion. The service allows multiple processes to access headset tracking data simultaneously.
  • Added Health and Safety Warning screen that should be displayed on application startup. SDK Rendering mode automatically displays the screen, providing APIs to dismiss it. In Application Rendering mode, developers are responsible for implementing their own warning based on Oculus bitmap.
  • Added ovrHmd_GetHSWDisplayState and ovrHmd_DismissHSWDisplay APIs for controlling rendering and timing of the safety warning.
  • Introduced Oculus Display Driver under Windows that routes rendering output directly to the Rift. Driver settings can be changed in the Oculus Config Utility.
  • Added the ovrHmdCap_ExtendDesktop flag that indicates that headset is operating in extend desktop (backwards compatible) mode. If this flag is set, Oculus display driver is disabled.
  • Added ovrHmd_AttachToWindow function used to direct window swap chain output to the Rift through the display driver.
  • Added ovrHmdCap_NoMirrorToWindow option, which disabled mirroring of headset output to a window (enabled by default). Disabling mirroring improves performance.
  • Added display luminance overdrive option that reduces screen ghosting effect on DK2. This is implemented as an extra pass in SDK Rendered mode, enabled by the ovrDistortionCap_Overdrive flag.
  • Added CameraPose and LeveledCameraPose data to ovrTrackingState, allowing users to identify location of the external camera. This data can be used to detect when players approach the edge of the tracking volume.
  • Added ovrHmd_RecenterPose function, used to re-initialize positional tracking origin based on the current location.
  • Added RawSensorData to ovrTrackingState, giving access to the raw IMU and magnetometer readings.

API Changes

Oculus SDK

  • Various "Sensor" functions and structures were renamed to "Tracking" equivalents. For example, ovrSensorState is now ovrTrackingState, returned by ovrHmd_GetTrackingState.
  • ovrHmd is now a pointer to ovrHmdDesc, with relevant members being accessible directly. ovrHmd_GetHmdDesc function was removed.
  • ovrHmd_StartSensor and ovrHmd_StopSensor functions were removed; please use ovrHmd_ConfigureTracking instead.
  • ovrHmd_BeginEyeRender and ovrHmd_EndEyeRender have been removed; texture data is for both eyes is now passed in ovrHmd_EndFrame.


  • Exposed all CAPI functionality through OVRHmd.cs wrapper.
  • Added TimeWarp to minimize latency.
  • Switched to SDK distortion rendering for better quality/performance.
  • Added direct-to-Rift rendering support. Just launch "_DirectToRift.exe".
  • Switched to asymmetric frusta to improve pixel density.
  • Fixed issues with viewport management, deferred rendering, and linear lighting.

Known Issues

Oculus SDK and Runtime

  • Monitors in multiple display configurations will blink when activating the Rift.
  • Intel hardware as a single GPU configuration is generally too slow to run VR scenes with DK2. The most obvious effect will be judder.
  • Using duplicated displays in Windows will lead to display driver restart when activating the Rift. The work around is use to use Extend Desktop mode.
  • Nvidia Optimus GPU configurations are not universally supported. Some Windows 7 and 8 configurations were tested successfully. Windows 8.1 is more likely to have issues.
  • Use of both DK1 and DK2 at the same time is not supported.
  • DK2 display may fail to work if plugged in after DK1 was unplugged and used in Direct Mode. When this happens, status LED will blink with alternating yellow-blue pattern. The work around is to switch to Extended Desktop mode and back.
  • OpenGL is presently not functional on AMD hardware in Direct Mode. Extended desktop mode may be used as a work-around.
  • Open GL rendering can have vsync tear with Nvidida cards in Extended Desktop mode. Try direct Display Mode.
  • On some Radeon graphics cards, multisampling may cause scene judder. The work wound is to turn-off multi-sampling for the back buffer.
  • Updates on another monitor may interfere with vsync timing on the Rift and this can manifest as visible tearing in the Rift. This can be eliminated in Windows 7 by disabling Windows composition.
  • Locking the screen in Windows will cause Oculus Rift applications to lose tracking.
  • It is necessary to restart the Config Util after updating the Headset firmware.
  • Camera bound menu option is shown in Config Util Demo Scene for DK1. It has no effect when a DK1 is connected.
  • Sample renderer doesn't and OWD sample does not honor Multisampling setting in OpenGL.


  • Direct Mode Unity apps may judder on multi-monitor configurations. Please try disconnecting one monitor as a work-around.
  • Unity applications built with DX11 support may crash at exit or on startup the first time they are run. Use DX9 where possible.
  • OpenGL in Direct mode is not functional in Unity.
Oculus Rift Driver Update 0.4.0 Beta" data-width="50" data-layout="button_count" data-action="like" data-show-faces="true" data-share="true">

blog comments powered by Disqus