Oculus SDK 0.4.4 Release Notes - Runtime Rev 1
----------------------------------------------
After installing the SDK, update the Oculus DK2 firmware
to the most recent version, 2.12. The Firmware update dialog can be found under
"Tools / Advanced / Update Firmware..." menu of the Oculus Configuration
Utility. If you experience any issues, please refer to the Troubleshooting
and Known Issues sections below.
New SDK Features
----------------
* A matching runtime and SDK are now required for development. This does not break
backwards compatibility as a newer runtime will work with an older SDK/Integration.
* Introduced a versioning system for the display driver.
* Added Better HqDistortion for D3D11.
* Added support for specifying OpenGL version and core profile support. OculusWorldDemo
can now be run with core profile support.
* Enabling of GLE module. This moves the GL extension loading and management to the GLE
module, which is somewhat like GLEW. This also allows for automated hooking of all
GL functions on platforms (enabled by default on Mac because it doesn't support KHR_Debug).
It also centralizes the OpenGL version and extension management to a single place and
consistent interface.
* Added debug functionality to LibOVR and our Sample apps to make bug reporting easier
for external users. Much of this functionality is in Kernel/OVR_DebugHelp.h/cpp.
* Added debug functions to CAPI, to allow realtime debug changing of eye-relief
(in the creation of distortion meshes), and realtime debug offsetting of timing
information (in generation of timewarp matrices).
* Added an new, simplified version of Oculus TinyRoom.
Bug Fixes since 0.4.3
---------------------
* Retuned vignette for both DK1 and DK2. Default to no-vignette to maximize FOV on DK2.
* Fixed an OVR_Assert with the ovrHmd_GetLastError() function. It was not de-serializing the
result which would trigger the OVR_Assert.
* Fixed a bug where we weren't setting our own framebuffer as the default framebuffer in context
creation.
* Fixed a potential memory leak after a firmware update via the OculusConfigUtil.
* Fixed shared context creation on Linux.
* Fixed Linux DK1 device type.
* Fix for DK1 window unable to target device.
UE4
* Fixed a crash in Direct Mode ResizeBuffers when the UMD decides to take advantage of multithreaded
resource creation
Unity
* Fixed a crash when switching from full-screen to windowed.
* Fixed gravity modifier in OVRPlayerController prefab. Was 0, which prevented movement.
* Fixing a bleaching bug with Halo effect.
* Fixed black screen bug in Unity DX11 build + Extended mode.
* Added a lock to prevent race conditions between the main & render threads during shutdown.
* Fix race conditions with OVRManager life cycle management and black screens/crashes associated
with scene loading.
Code changes
* RTSize is now BackBufferSize.
* ovr_InitializeRenderingShim() now returns a bool instead of void.
Troubleshooting
---------------
The most likely issues you may experience with DK2 are scene Judder and Vsync tearing.
Here we describe these issues and provide advice on addressing them.
* Scene Judder - The whole view jitters as you look around, producing a strobing
back-and-forth effect. This effect is the result of skipping frames (or Vsync)
on a low-persistence display, it will usually be noticeable on DK2 when frame rate
falls below 75 FPS. This is often the result of insufficient GPU performance or
attempting to render too complex of a scene. Optimizing the engine or scene content
should help.
We expect the situation to improve in this area as we introduce asynchronous
timewarp and other optimizations over the next few months.
If you experience this on DK2 with multiple monitors attached, please try
disabling one monitor to see if the problem goes away.
0.4.4 Rev 1 Known Issues - LibOVR and Display Driver
----------------------------------------------------
* Monitors in multiple display configurations will blink when activating the Rift.
* Current SDK rendering path includes two GPU/CPU sync points to reduce latency.
As may reduce performance due to GPU under-utilization and draw call buffering;
we are looking into addressing this in the future.
* The ovrDistortionCap_sRGB flag affects the rendering
path in slightly different ways for D3D10/11 and OpenGL, but the differences
should not be exposed to the app developer.
We will be looking at unifying this path for better visual fidelity.
* Intel hardware as a single GPU configuration is generally too slow to run
VR scenes with DK2. The most obvious effect will be judder.
* 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.
* On some Radeon graphics cards, multisampling may cause scene judder.
The work around is to turn-off multi-sampling for the back buffer.
* The runtime installer does not support downgrading to previous versions
of the installer. If you need to go back to a previous version, first
uninstall the current version and then install the previous one.
* You must have Aero enabled on Windows 7 for full display driver support.
Known Issues - Unity
--------------------
* Unity app latency on Mac is higher than in C++ OWD resulting in slightly swimmy display.
* Editor Game view does not yet directly render to the Rift.
* Forcing Unity to use OpenGL on Windows is unsupported for this release. This configuration
is currently unstable and may encounter crashes.