SteamVR

SteamVR

machey92 Mar 2, 2018 @ 8:08am
OpenVR plugin development
I would like to use a custom tracking system to use with Vive or Oculus headset. Ideally I would take an original vive plugin and replace lighthouse tracking with mine.
I started from the sample openVR driver. It is working now on the desktop monitor.
My question is, how do I display it on an HMD? When I changed IsDisplayRealDisplay() to return true, Steam gives me an error: SteamVR failed to initialized for unknown reasons. (Error: Shared IPC Compositor Connect Failed (306)).
Should I include in my plugin any instructions of where the compositor is supposed to render (HMD), or is it solved from another plugin/Steam automatically?
Basically I need some description of what openVR plugin does and how it interacts with compositing. I would appreciate any suggestions.
< >
Showing 1-9 of 9 comments
GoGiManiac Mar 2, 2018 @ 8:47am 
норм
Code Mar 2, 2018 @ 12:27pm 
Can I ask, what 3rd party traking are you using? I'm looking to upgrade the traking on my HTC also, at some point.

I'll be watching this post, Good Luck.
Wembley Mar 2, 2018 @ 1:11pm 
I stumbled on this (https://obsproject.com/forum/resources/openvr-input-plugin.534/) which may help you... this is more to do with the recording aspect, for me I want to record steam VR in OBS withouth the 2 lense screens, the read me is :

Provides a capture plugin to 64bit OBS that allows capturing
directly from OpenVR/SteamVR mirror surface in full resolution.

To use extract the zip file to your OBS directory and
a new "OpenVR Capture" source should appear in the sources list.

Either left or right eye image can be captured.

Cropping can be configured in the plugin properties, with some
presets provided for the HTC Vive. The presets take into account
the OpenVR mask to provide a maximum capture area without any
black borders. However some OpenVR games still render these mask
areas so with those games cropping is not necessary.

There is a memory leak in the OpenVR SDK that affects OBS if
the capture plugin is active but SteamVR is not running. This
state causes the plugin to slowly leak memory as it tries to
periodically initialize OpenVR. This is a "feature" of the
OpenVR SDK.


BUT I think I have what you want (and me too!)
Open VR Advanced Settings v2.5
(https://github.com/matzman666/OpenVR-AdvancedSettings/releases)
Last edited by Wembley; Mar 2, 2018 @ 1:17pm
Code Mar 2, 2018 @ 1:25pm 
Originally posted by Wembley:
BUT I think I have what you want (and me too!)
Open VR Advanced Settings v2.5
(https://github.com/matzman666/OpenVR-AdvancedSettings/releases)


My mind totally forgot about that, OpenVR Advanced Settings, Doh!

Thanks for the reminder.
Wembley Mar 2, 2018 @ 1:59pm 
Glad I can help.. enjoy
machey92 Mar 3, 2018 @ 7:31am 
I am using an inside-out optical tracking system that is being developed by my company.
I am trying to use it for VR purposes. The best thing about it is that we can track in big spaces.
Basically I am receiving pose updates on UDP and transform a player. For now I do it in Unity / Unreal, but it is not ideal, because I can only update the pose with a new frame, and also is conflicting with Oculus native orientation.

I want to take advantage of Steam reprojection, so I need to feed tracking data more often. I thought the better way is to write a plugin for openVR and let it deal with reprojection and different headsets.

Thanks for the comments, but I can't see how OpenVR Advanced Settings can help me with the driver. I will take a look though.
elvissteinjr Mar 3, 2018 @ 6:14pm 
I don't know anything about OpenVR driver development, but if it doesn't work out, as an alternative you could look into the OpenVR-InputEmulator ( https://github.com/matzman666/OpenVR-InputEmulator ). Since it can override the HMD pose, you may be able to work out a solution based on that code instead.
Last edited by elvissteinjr; Mar 3, 2018 @ 6:14pm
bmeun Jul 5, 2019 @ 3:54am 
Originally posted by machey92:
I am using an inside-out optical tracking system that is being developed by my company.
I am trying to use it for VR purposes. The best thing about it is that we can track in big spaces.
Basically I am receiving pose updates on UDP and transform a player. For now I do it in Unity / Unreal, but it is not ideal, because I can only update the pose with a new frame, and also is conflicting with Oculus native orientation.

I want to take advantage of Steam reprojection, so I need to feed tracking data more often. I thought the better way is to write a plugin for openVR and let it deal with reprojection and different headsets.

Thanks for the comments, but I can't see how OpenVR Advanced Settings can help me with the driver. I will take a look though.

Hi, I am also trying to do something similar. I have a new tracking system that I need to test and would just like to either override the lighthouse tracking data or use unity to prevent tracking entirely. I was wondering if you had any progress on this?

Much appreciated.
machey92 Jan 18, 2020 @ 11:44am 
Hi, I gave up integration with SteamVR, instead while working in Unreal Engine, I feed the tracking data to the Unreal OpenVR plugin.
< >
Showing 1-9 of 9 comments
Per page: 1530 50

Date Posted: Mar 2, 2018 @ 8:08am
Posts: 9