From c510f5b94600754f7a5be99d5db4a27bfbcf5aba Mon Sep 17 00:00:00 2001 From: GabMus Date: Fri, 22 Dec 2023 12:05:16 +0000 Subject: [PATCH] feat: steamvr room setup --- content/docs/fossvr/envision/_index.md | 5 +++++ content/docs/fossvr/monado/_index.md | 4 ++++ content/docs/steamvr/_index.md | 30 ++++++++++++++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/content/docs/fossvr/envision/_index.md b/content/docs/fossvr/envision/_index.md index 7c28d59..6f7933b 100644 --- a/content/docs/fossvr/envision/_index.md +++ b/content/docs/fossvr/envision/_index.md @@ -11,6 +11,7 @@ Envision is a graphical app that acts as an orchestrator to get a full [Monado]( Envision attempts to construct a working runtime with both a native OpenXR and an OpenVR API, provided by [OpenComposite](/docs/fossvr/opencomposite/), for client aplications to utilize. Please note the OpenVR implementation is incomplete and contains only what's necessary to run most games for compatibility. If you plan to implement software, utilize the OpenXR API, specification [here](https://registry.khronos.org/OpenXR/specs/1.0/html/xrspec.html). + {{< hint danger >}} **Warning** @@ -18,3 +19,7 @@ Envision is still to be considered alpha-quality and highly experimental. {{< /hint >}} You can download the latest Appimage snapshot from [GitLab Pipelines](https://gitlab.com/gabmus/envision/-/pipelines). + +## Room Setup + +If you're planning to use the SteamVR lighthouse driver (with Index or Vive HMDs, or other lighthouse tracked HMDs), you'll need to go through the SteamVR room setup. You can do that from SteamVR, directly from Envision or manually by running the appropriate scripts. More info in the [SteamVR page](/docs/steamvr). diff --git a/content/docs/fossvr/monado/_index.md b/content/docs/fossvr/monado/_index.md index 395d44e..8bb23fa 100644 --- a/content/docs/fossvr/monado/_index.md +++ b/content/docs/fossvr/monado/_index.md @@ -17,3 +17,7 @@ Depending on the game, Monado can offer a better overall experience (if with les Monado's space may be modified with the enviornment variables OXR_TRACKING_ORIGIN_OFFSET_X=0.0, OXR_TRACKING_ORIGIN_OFFSET_Y=1.0, OXR_TRACKING_ORIGIN_OFFSET_Z=0.0 to force a defined space or origin offset throughout the session. Useful for seated mode configurations, offset units are floating point in meters, positive or negative. Monado is made for PCVR headsets, if you have a standalone headset you can check out [WiVRn](/docs/fossvr/wivrn/) or [ALVR](/docs/steamvr/alvr/). + +## Steam + +To use Monado as the OpenXR runtime with Steam, or if you're planning to use the SteamVR lighhouse driver in Monado, make sure to [run the room setup first](docs/steamvr/). diff --git a/content/docs/steamvr/_index.md b/content/docs/steamvr/_index.md index fbd3052..1d14e2b 100644 --- a/content/docs/steamvr/_index.md +++ b/content/docs/steamvr/_index.md @@ -12,3 +12,33 @@ Unfortunately the Linux version is riddled with bugs, missing features and bad p You can use one of the alternatives listed in the [FOSS VR section](/docs/fossvr/). If you want to use a standalone headset with SteamVR you can check out [ALVR](/docs/steamvr/alvr/). + +## Room Setup + +The SteamVR room setup application is bug prone. It's possible to circumvent the room setup application using one of the following methods. + +### Quick Calibration + +Set the headset and controllers on the floor in the center of the playspace. Run the Quick Calibration utility under _Settings > Developer > Room and Tracking_. This will setup a standing play area for you to use. + +### Envision + +[Envision](/docs/fossvr/envision/) can run a quick calibration with the press of a button. This is convenient if you want to use [Monado](/docs/fossvr/monado/) instead of SteamVR, but the calibration will also work on plain SteamVR. + +### VRCMD + +For a (nearly) headless option to do the room setup. First, turn on the basestations and controllers. Put the headset and controllers in the center of your play space. + +Next, open two terminal windows with `/home/user/.local/share/Steam/steamapps/common/SteamVR/bin/linux64` as the working directory. In one window, run the following command. This command will start the SteamVR server and generate pose data. + +```bash +LD_LIBRARY_PATH=$(pwd) ./vrcmd --pollposes +``` + +In the second terminal window, run the following command. This command will perform a similar function to the [Quick Calibration](#quick-calibration) method described above. + +```bash +LD_LIBRARY_PATH=$(pwd) ./vrcmd --resetroomsetup +``` + +Use `Ctrl+C` in the first terminal window to stop the SteamVR server.