Saturday, September 26, 2015

Getting Oculus DK2, Windows 10 and Elite Dangerous 1.4 to Work

This trick also works for other applications. It also works for Runtime 4.4 with the difference that Windows 8 compatibility isn't needed to install the display drivers.
  1. Uninstall any previous Oculus Runtime and reboot
  2. Install Oculus Runtime 0.5.0.1.0 with Windows 8 compatibility mode. If you don't you will receive an error that the Oculus Display driver couldn't be installed. Complete the install then reboot.
  3. When you turn on the HMD, Windows will say Oculus detected followed by Oculus Service failed. This is fine.
  4. Go to "C:\Program Files (x86)\Oculus\Service\" and right-click "OVRServer_x86.exe". Create a shortcut.
  5. Right-click the shortcut, hit properties. In Shortcut Tab, hit Advanced, then click x Run as administrator.
  6. Still in the shortcut properties, hit Compatiblity then enable x Run this program in compatibility mode for Windows 8.
  7. Now click on the shortcut. This should launch a CLI session showing the server process.
  8. Launch the Config Utility, switch the HMD to Extended mode. Setup your profile. Then run the Demo Scene.
This OVR server process is what the Demo Scene and other Rift programs look for to run. In the case of Elite Dangerous, you need this service to be up before starting game. In ED's Graphics options you should find Oculus (Headphones) and Oculus (Speakers) available as the fourth and fifth option if the service is detected correctly. Also if you are on multiple displays, the sequence listed by the game isn't the same as in Windows. Windows identifies the Rift as #2 but in ED this is a fourth unnamed display (names only go up to Tertiary for some reason). You can tell if you have the correct display as this is probably the only one that will allow 1920x1080 plus 75hz refresh.

Whenever you startup the PC you will get the Oculus VR service failure. This should be normal and mitigated by manually starting OVRServer_x86.
There were some reports of bootloops that can happen if you setup the runtime as Windows 8 Compatibility mode rather than the OVRService so take note.