What is OSVR
OSVR is an old VR standard, but also a specific headset from 2015. Even on the OSVR subreddit it is considered dead (see this pinned post not to use it). It was from the period where pretty much every VR headset vender had their own standards and JME tried to support all of them with a compatibility layer (although OSVR was theoretically open to all, as an open standard). I have found a news article from 2018 indicating its maintainer, Razer, had abandoned it and will be concentrating on openXR instead: link
What replaced it
A slightly more modern standard is OpenVR. This was a more successful cross platform standard that most headsets did actually support. OpenVR is in turn now being supplanted by OpenXR (So OSVR is doubly deprecated). As an aside OpenVR is not actually open source, despite the name (unlike OpenXR which is). Being controlled by Steam in closed source
Why has this come up
A PR has been raised to update LWJGL and has to update OSVR, but unless anyone has some ancient hardware and ancient code it can’t be tested.
State in jMonkeyEngine
OSVR is turned on with VRConstants.SETTING_VRAPI_OSVR_VALUE. It has been deprecated (in JME) since January 2022. (That’s v3.6.0)
Should it be removed
Does anyone working on VR games care about OSVR support? If not shall we remove it in v3.8.0
Other VR removal candidates
OCULUSVR - this is another headset specific standard (used by the Rift, which is no longer sold as of 2021. See wikipedia)
SETTING_VRAPI_OPENVR_VALUE - An OpenVR binding but not the one in LWJGL (why do we have two OpenVR bindings?)
What would be left
SETTING_VRAPI_OPENVR_LWJGL_VALUE - This is the OpenVR bindings provided by LWJGL. It is also a bit outdated, but not badly so
Why no OpenXR in jMonkeyEngine
When this was discussed it was suggested it would be better to put OpenXR in as a user library. I created Tamarin to add this support.