OpenVRDesktopDisplayPortal icon indicating copy to clipboard operation
OpenVRDesktopDisplayPortal copied to clipboard

Guide to configure OVRDDP in Elite Dangerous with an Oculus Rift

Open rosscarlson opened this issue 9 years ago • 4 comments

Just wanted to share that I created a guide showing step by step how to get overlay working with Elite Dangerous on the Oculus Rift. Your compatibility list shows this isn't possible, or really that no one (save for one user) has gotten it to work. I've been able to set this up on 2 different machines so I'm fairly confident the guide is correct and will work for anyone.

The link to the guide is: https://www.reddit.com/r/EliteDangerous/comments/53j9ka/openvrdesktopdisplayportal_overlay_for_oculus?st=itafwp3c&sh=d94e0380

Feel free to use/post/share as you'd like.

Thanks for creating such a cool little app, being able to overlay a browser or video into VR is really sweet.

rosscarlson avatar Sep 19 '16 19:09 rosscarlson

Thank you! I will add a link to it on the readme, though I would like to point out that I did actually make a note to this in the compatibility article as well as the readme, but it's easy to overlook unfortunately.

Hotrian avatar Sep 19 '16 19:09 Hotrian

Also from your guide

The framerate for the overlay app isn't great, I saw between 20-40 FPS via the counter in OVRDDP. When watching video via Plex in the browser it was less than smooth (but very watchable)

I just wanted to say that the framerate is heavily dependent on the Window resolution. Unfortunately OVRDDP is currently using the GDI API which is notoriously slow, and is not GPU accelerated. I have plans to upgrade to a new API available on Windows 8 and Windows 10. Once I update to the DD API you will be able to clone your full desktop resolution (including multi monitor setups) at 60FPS+. Until then, I recommend scaling the window down until OVRDDP reports 60FPS. For example I can watch a 360p video just fine. I know it's not optimal, but it's perfectly smooth at that resolution, and totally usable for watching a TV show or something while you game. Definitely not ideal for a movie theater setup or something, but a small screen on your dash still looks great when the source video is at 360p.

Also a tip for getting Netflix or other web based content to that resolution:

  • Full Screen Netflix / Youtube / Hulu / Flash Player.
  • Target it with OVRDDP.
  • Click "Lock" icon - prevents the window from resizing itself externally.
  • Click "Chain" icon - locks aspect ratio.
  • Type "360" (or other desired height) into the height box just to the left of the Chain icon, press "Enter".
  • "Full Screen" player is now at desired resolution.

This works great for watching web content without dealing with resizing the browser window itself or using the crop region settings to painstakingly crop to the desired player.

Edit: Accidentally a word.

Edit: API name redacted ;]

Hotrian avatar Sep 19 '16 20:09 Hotrian

Glad it's something useful for you, I knew there were some notes/tips about getting it to work but nothing as detailed step-by-step like my guide.

As for the framerate issue I hope you didn't see that as a negative comment toward you, wasn't meant that way at all. Given everything my machine is doing to make this work between running Elite, SteamVR, Oculus Home, VoiceAttack, et.c etc. it's impressive it works as well as it does. I also run a triple monitor setup so my desktop resolution is 5760x1080, I can see how that would put quite the strain on everything to make this work.

Again it's a very cool app, I've been loving it so far. Next I think I'm going to get a small webcam to mount to the front of my Rift so I can use a program via overlay to see my environment like the Vive does.

rosscarlson avatar Sep 19 '16 23:09 rosscarlson

As for the framerate issue I hope you didn't see that as a negative comment toward you,

Not at all, if anything I took it as a negative comment to the GDI API, which I agree with completely :). I was just letting you know that you can get a smooth framerate with a smaller video resolution.

Like I said I have plans to implement a new API, but Unity does not support this natively and I'll have to write some Native C Plugins to get it working, but I'm having a hard time getting Unity's GetNativeTexturePtr method to return something useful.

If anyone sees this and has experience with Native Textures, I would love some help :o.

I'd like to add you to the Special Thanks section of the Readme. Do you want me to use just your Username on Reddit "Exigeous" or is it cool if I use your Github name "Ross Carlson"?

I was going to add it as "Ross Carlson (/u/Exigeous)" if that's okay.

Edit: API name redacted ;]

Hotrian avatar Sep 21 '16 00:09 Hotrian