VR Support

Feedback on past, current, and future development.
GreyGoldFish
Posts: 3
Joined: 09 Dec 2019, 06:33
Gitlab profile: https://gitlab.com/GreyGoldFish

VR Support

Post by GreyGoldFish » 09 Dec 2019, 15:20

Greetings, my name is Lucas and I'm looking into porting Morrowind to VR. I was wondering if this is something that the community would be interested in, and if I'd be allowed to fork the engine and work on adding VR support. I own an Oculus Quest, so I'd work on supporting Oculus headsets first, but I'd use the OpenVR SDK to allow for as many headsets as possible to play the port. Hopefully, in the future, I'd use OpenXR instead, but right now it doesn't support Oculus headsets or even SteamVR.

Thank you for reading, and have a great day/evening! :D

User avatar
AnyOldName3
Posts: 1737
Joined: 26 Nov 2015, 03:25

Re: VR Support

Post by AnyOldName3 » 09 Dec 2019, 21:02

VR support is definitely something we want in the future. Unfortunately, neither the Occulus SDK nor the OpenVR SDK are compatible with our GPL licence, so it's not actually legal to publish a VR build of OpenMW that uses either of those. OpenXR should be fine, but as you've noticed, headset manufacturers have been really slow with adopting it (which his ridiculous as they were all on the board designing the API).

Our rendering middleware, OpenSceneGraph, has support for VR, and it at least used to work with an old version of the Occulus SDK, so experimenting with that and fixing any incompatibilities it has with our code would be something you could do right now, but I'd wait for clarification on exactly what you can do without it being technically a crime from someone more confident than I am at stating what the GPL does and doesn't allow.
AnyOldName3, Master of Shadows

GreyGoldFish
Posts: 3
Joined: 09 Dec 2019, 06:33
Gitlab profile: https://gitlab.com/GreyGoldFish

Re: VR Support

Post by GreyGoldFish » 10 Dec 2019, 02:08

Understandable, and it really is a shame that OpenXR isn't properly supported yet. Still, there's no harm in experimenting with other SDKs for the time being and seeing what works, right? I'm really passionate about this project and I'll do whatever is possible to bring it to fruition.

One question, would creating a standalone port a la Lambda1VR (a Half-Life 1 port for the Oculus Quest) be against the GPL? I'm wondering because perhaps I could fork the engine repository and work on that instead of implementing compatibility for every headset.

Thank you for your attention.

Cheers! :lol:

User avatar
AnyOldName3
Posts: 1737
Joined: 26 Nov 2015, 03:25

Re: VR Support

Post by AnyOldName3 » 10 Dec 2019, 21:39

You definitely can't release binaries built from any of our source code that link with the Occulus or OpenVR SDK. I'm not 100% sure about a source-only release, but obviously that's going to massively limit the potential audience. The rules don't really change whether it's a hard fork or something you're hoping gets merged. I really need someone who remembers how things work to step in here.
AnyOldName3, Master of Shadows

Ebonair
Posts: 11
Joined: 04 Dec 2018, 20:08

Re: VR Support

Post by Ebonair » 11 Dec 2019, 00:02

It looks like OpenVR is licensed under "3-clause" BSD. https://github.com/ValveSoftware/openvr ... er/LICENSE

The original BSD license was incompatible with the GPL because it imposed further restrictions on what you're allowed to do with the code, specifically the "advertisement clause".
3. All advertising materials mentioning features or use of this software
must display the following acknowledgement:
This product includes software developed by the <organization>.
The new "3-clause" BSD removes that requirement, and GNU says it's compatible with the GPL: https://www.gnu.org/licenses/gpl-faq.en.html#OrigBSD

So from what I can see you should be good to go, at least with OpenVR.

User avatar
psi29a
Posts: 4735
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: VR Support

Post by psi29a » 11 Dec 2019, 00:13

You're free to fork and tinker, but you do so at your own risk when working with libraries that are not GPL compatible. Unfortunately, any thing done in this way won't be merged into OpenMW.

OpenMW would love to have VR support, but it needs to be done in the a way that is GPL compatible.

https://www.gnu.org/licenses/license-li ... lusRiftSDK
This is not a free software license; it has several fatal flaws.

One can't redistribute anything less than the whole program libOVR.
One's distribution rights can be terminated on vague conditions.
Those who make modified versions are required to send them to Oculus on demand.
Use is allowed only with their product.
New license versions totally supplant old versions, which means that permissions already given can be withdrawn.
There might be additional fatal flaws; after seeing this many, we stopped looking for more.
As for OpenVR... we had this discussion back in 2015: viewtopic.php?t=950&start=20#p35948

I don't believe much has changed.

https://github.com/ValveSoftware/openvr/issues/8 <-- still open...

Note: Please read the entire thread I linked to from 2015... everything said in this thread is just a duplicate of the conversation there. Nothing has really changed in this space, which is just plain sad.

mjmax
Posts: 12
Joined: 06 May 2012, 22:31

Re: VR Support

Post by mjmax » 11 Dec 2019, 13:45

Oculus has preliminary support for OpenXR: https://uploadvr.com/oculus-rift-basic- ... pport/?amp

SteamVR support must be in progress but I haven't seen any updates.

Oh WMR headsets have support too:
https://docs.microsoft.com/en-us/window ... ity/openxr

GreyGoldFish
Posts: 3
Joined: 09 Dec 2019, 06:33
Gitlab profile: https://gitlab.com/GreyGoldFish

Re: VR Support

Post by GreyGoldFish » 11 Dec 2019, 17:01

I see. Although I'm still a bit unclear on whether or not OpenVR is GPL compatible or not I believe that the correct course of action would be to switch to OpenXR and hope that full Oculus and SteamVR support is added soon.

I've been tinkering a bit with OpenVR and studying how it works, so I hope that OpenXR isn't too different so that I can convert my project.

So, in order to be perfectly clear, if I fork the repository and manage to add support for OpenXR, that would be GPL compatible and could probably be merged into master, correct?

I hope that I'm not stepping on any toes, as I'm a bit inexperienced with software development as a whole, and I'm trying my hardest to learn about VR and the OpenMW engine. :)

mjmax
Posts: 12
Joined: 06 May 2012, 22:31

Re: VR Support

Post by mjmax » 12 Dec 2019, 20:03

GreyGoldFish wrote:
11 Dec 2019, 17:01
So, in order to be perfectly clear, if I fork the repository and manage to add support for OpenXR, that would be GPL compatible and could probably be merged into master, correct?
That's my understanding.

User avatar
psi29a
Posts: 4735
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: VR Support

Post by psi29a » 13 Dec 2019, 22:52

If this is to be believed: https://github.com/KhronosGroup/OpenXR- ... -538196621
, that the license will be Apache2 + (L)GPL exception, then yes, it would pass the GPL compatible challenge. :)

Looking forward to reviewing your pull/merge request. :)

Post Reply