Oculus SDK for Linux

| Published 2015-03-26
I have read and agree to the terms of the License
I understand this download is no longer supported by Oculus.

Development Status

Our development for OS X and Linux has been paused in order to focus on delivering a high quality consumer-level VR experience at launch across hardware, software, and content on Windows. We want to get back to development for OS X and Linux but we don’t have a timeline. For more information, see Powering the Rift on the Oculus Blog.

The last available version of this SDk is, and it has not been updated since March 2015. Compatible with pre-CV1 versions only (e.g., DK2, DK1). Overview

The Oculus SDK 0.5 has moved from static linking to a dynamic link library (DLL) model in which the DLL is installed by the Oculus runtime. Using a DLL offers several advantages:

  • It allows us to fix bugs and update implementation for new headset features after applications have been compiled and shipped.
  • It allows us to evolve the API without breaking applications through the use of side-by-side versioned DLLs.

New Features

  • Updated LibOVR to rely on a runtime-installed DLL for better forward compatibility and delivery of bug fixes.
  • Introduced a four-digit runtime versioning scheme: PRODUCT#.MAJOR.MINOR.PATCH (e.g. The last three digits of the scheme map philosophically to Semantic Versioning .
  • Added OpenGL support to OculusRoomTiny.
  • Introduced OculusRoomTiny_Advanced, which supports more SDK features and toggles.
  • Improved DK2 headset USB sleep management on Windows 8.1.
  • Updated the Oculus Configuration Utility to display headset status and diagnostic messages. Users can now view firmware version and serial numbers by hovering over the device image.

API Changes

  • Moved and renamed LibOVR/Src/OVR_CAPI.h to LibOVR/Include/OVR_CAPI_0_5_0.h.
  • Some additional public headers such as OVR_Version.h have been moved to LibOVR/Include/.
  • Added ovrHmdCap_DebugDevice flag to indicate that device was created with ovrHmd_CreateDebug.
  • Renamed ovrDistortionCaps::ovrDistortionCap_ProfileNoTimewarpSpinWaits to ovrDistortionCap_ProfileNoSpinWaits.
  • Removed ovrDistortionCap_NoTimewarpJit as Timewarp delay is disabled by default. Use ovrDistortionCap_TimewarpJitDelay to enable it.
  • Removed ovrTrackingState::LastVisionProcessingTime and LastVisionFrameLatency.
  • ovr_Initialize now takes a params argument that provides log callback and other arguments. See the in-code documentation for details.
  • Added ovrQuatf playerTorsoMotion argument to ovrHmd_GetEyeTimewarpMatricesDebug.
  • Added ovr_TraceMessage, which can be used to send a message to the log.
  • Removed support for DX10.
  • Deprecated DX9 support, which will be removed in a future version of the SDK.
    • ovr_Initialize now can return false for additional reasons than previously.
    • No API functions may be called after ovr_Shutdown except ovr_Initialize.

Bug Fixes

  • Fixed a bug in which full persistence was inadvertently enabled due to device initialization races.
  • Fixed uncommon deadlocks in the runtime service.