Open Hotrian opened 7 years ago
This doesn't seem possible. The Oculus SDK doesn't seem to support Overlays like SteamVR.
I looked into the Rift only Overlay program that's floating around, and it seems to be hooking the DirectX draw chain to tap into the rendering pipeline.
I thought that this would let me draw Overlays, but it seems like it won't let me draw them unless I'm also rendering a scene.
Messing around with the Unity plugin now to see if I can bypass drawing a scene, but it doesn't seem very likely.
I think it's time to take this up with Oculus themselves because the ability to view your stream chat inside the Rift headset is the number 1 missing feature for pretty much EVERY streamer of Rift games.
Unfortunately I doubt Oculus will consider rewriting their render pipeline for a little Overlay app.
Same, though at this point they badly need to do something because allowing the Rift to be stream-unfriendly is a TERRIBLE idea...
They should have chat stream integration already.
Seems like this might not be entirely necessary. While Oculus SDK support would be very good, it would require hooking the DirectX pipeline and I'm not sure how stable that would be.
What I did find out, is you can make Elite Dangerous on the Oculus Rift use the SteamVR APIs, simply by setting EliteDangerous64.exe
or EliteDangerous32.exe
to run with Compatibility for Windows 7. This works for Subnautica too, and possibly other Oculus SDK titles.
I messed around with ED for a while, and besides using the SteamVR API, I didn't see any other difference between compatibility mode and non-compatibility mode.
I made a quick little guide to setup Elite Dangerous and one for Subnautica.
Will definitely be testing for other games as well.
I've been having the issue described here, as I have an Oculus and the Steam version of Elite Dangerous. Setting the .exe to windows 7 compatibility mode fixes the issue with the overlay.
However, it causes there to be significant frame drops and tracking loss in the Oculus, particularly when accessing menus in Elite. This is unusual for my system, as I usually get a solid 90fps uninterrupted. Here is a quick video I took of tracking/framerate issue: https://youtu.be/W0L6NkZr2Ks
I don't have Subnautica to check if this the same issue there.
@ChickenMacNugget Sorry for the late response! Unfortunately, the "frame drops" you mentioned might be caused by using SteamVR as you're now using Reprojection instead of Asynchronous Spacewarp - however if the spikes are more significant than that then that seems unlikely.
As far as tracking loss goes, OVRdrop certainly shouldn't be doing anything that would effect tracking. Can you send me a DxDiag?
If you haven't, can you try The Lab (both with and without OVRdrop) and see how that goes?
You can generate the DxDiag file by:
Windows Key
and press R
dxdiag
into the Run box, and click Ok
DirectX Diagnostic Tool
should openSave All Information..
buttonSave
Edit: Back onto the subject of this issue, I might soon be able to tap into the Oculus Render Pipeline and draw OVRdrop directly to the Rift, but I'm still in the experimental pre-functional phase :P. Definitely no ETA and no promises!
@Hotrian Thanks for getting back to me :D
I'm actually getting this framedrop/tracking issue (I think it's more of massive frame drop and then the tracking tries to figure out where I am after) when OVRdrop isn't even launched with Elite. This framedrop is present just from launching Elite in the Windows 7 compatability mode, and isn't really linked to the OVRdrop at all. It might be an issue with my system more than anything.
Regardless I'll get a DxDiag for the Oculus Tomorrow as I'll have some free time.
On the plus side, I've been (through proxy) in discussions with Epic Games about programmatically disabling Oculus SDK when the game is launched through Steam VR. At the moment, it's really hacky and requires two separate builds for Oculus and Steam (the tasks of which are annoying to do from an automation standpoint due to what files need to be modified essentially requiring a complete game rebuild to "cut it out" from the game).
I'm just hoping that our efforts will pay off and a future update to UE4 will let this work by default...
@Tsaukpaetra that sounds amazing :). I hope, as you do, that this can become a standard setting in game engines. It should be a simple launch flag like -nooculus
which would disable the oculus SDK checks (effectively breaking oculus only games, but only when launched with the flag so not an issue).
It's my understanding that Oculus isn't handling SteamVR correctly. Instead of handing SteamVR direct access to the device, they hand SteamVR an emulator, for lack of a better word, and handle the emulator's interaction with the HMD. This is why the Oculus SDK automatically overrides SteamVR in all cases. SteamVR never has actual access to the HMD, as there is not a proper driver for SteamVR to interface with.
Yup, basically as soon as the game starts, unless we force it to use OpenVR (for SteamVR), Oculus steals it and doesn't want to give it back. Problem being, forcing OpenVR tends to put the game in Vive mode, which does weird things to our controller mappings and a few other wacky glitches.
I believe it may be possible to add Oculus SDK support which would fix the issue where in some games on the Oculus Rift you cannot see OVRdrop.
Looking into it soon - I only just got a Rift today so I couldn't test against it until now.