Gaia Sky VR
Note
Gaia Sky VR is alpha software. Some tinkering may be required to get it to run in some cases. Use it at your own risk.
Gaia Sky VR is the VR version of Gaia Sky. It runs on multiple headsets and operating systems using Valve’s OpenVR API, also implemented by OpenOVR. It is developed in the framework of ESA’s Gaia mission to chart about 1 billion stars of our Galaxy.
Running Gaia Sky VR
The Gaia Sky VR project is the Virtual Reality version of Gaia Sky. At the moment, only OpenVR is supported. Our tests have been carried out with the Oculus Rift CV1 headset on Windows and the Valve Index on Windows and Linux. Both work reasonably well, even though Valve Index controllers have some quirks on Linux. The rest of VR headsets on the marked are untested and thus unsupported.
Note
Gaia LOD datasets don’t work very well in VR and produce severe slowdowns. We recommend either curating your own datasets, or using static datasets provided by us via the download manager, like Hipparcos or GCNS5.
Currently, the regular installation of Gaia Sky also includes the VR version.
On Windows, you can run it using the gaiaskyvr.exe
file. On Linux, just use
the -vr
CLI flag.
Pre-requisites
The minimum system requirements for running Gaia Sky VR are the following:
VR Headset |
OpenVR-compatible (Oculus CV1, HTC Vive, Valve Index, etc.) |
Operating system |
Linux (only supported headsets) / Windows 10 |
CPU |
Intel Core i5 4rd Generation or similar. 4 core or higher recommended |
GPU |
VR-capable GPU (GTX 970 or above strongly recommended) |
Memory |
8+ GB RAM |
Hard drive |
1 GB of free disk space (depends on datasets) |
Software-wise, you will need the following:
Follow the provided vendor instructions and install the Oculus/Meta VR app with the runtime. If using a SteamVR headset (HTC Vive/Pro, Valve Index, etc.), just get Steam and download SteamVR.
For the Oculus Rift, you need a translation layer from OpenVR to OpenXR. You can either use SteamVR (works well) or OpenComposite (may break).
SteamVR - Download and install Steam and then install SteamVR and launch it. The SteamVR runtime must be running alongside the Oculus Runtime for it to work.
OpenComposite - Download OpenComposite Launcher, launch it and select ‘Switch to OpenComposite’. That’s it.
Windows
The easiest way to get it running in Windows is to install the latest
version of Gaia Sky and directly run the executable gaiaskyvr.exe
file. You should also have
a start menu entry called ‘Gaia Sky VR’, if you chose to create it during
the installation.
Linux
Download and install Gaia Sky, and then run:
$ gaiasky -vr
Getting the data
You can use the same data folder for the VR and desktop versions.
The download manager should show up automatically at startup. If it does not, force it
with the -d
argument (or using gradlew core:rund
if running
from sources). Just select the data packs and catalogs that you want
to download, press Download now
and wait for the process to finish.
$ gaiasky -d
You can also download the data packs manually here.
Controls
On the Oculus Rift CV1 controller the mappings are the following:
Joystick (move) - move around.
Trigger - hold it to select an object and enter focus mode.
A or X - bring up the in-world VR user interface.
B or Y - toggle between focus and free modes.
Grip + Joystick (move) - rotate around focus, only in focus mode.
Caveats
Gaia Sky VR has been tested with a very small sample of VR systems. Only the Oculus Rift CV1 and the Valve Index are currently tested. Please, do not expect everything to work flawlessly with other systems and/or headsets.
Common problems
If you are using an Nvidia Optimus-powered laptop, make sure that the
java.exe
you are using to run Gaia Sky VR is set up properly in the Nvidia Control Panel to use the discrete GPU.If you experience low frame rates with an Oculus headset, try using OpenOVR OpenComposite instead of SteamVR. Also, using a static star catalog instead of a LOD one helps.
If you don’t see the VR controllers, check the output log for a line that starts with
VRContext - WARN: Could not [...]
and attach it or the full log file to a bug report.Make sure you are using Java 17+.