Since 2.2.1

Gaia Sky VR


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.


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.


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


Intel Core i5 4rd Generation or similar. 4 core or higher recommended


VR-capable GPU (GTX 970 or above strongly recommended)



Hard drive

1 GB of free disk space (depends on datasets)

Software-wise, you will need the following:

  1. 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.

  2. For the Oculus Rift, you need a translation layer from OpenVR to OpenXR. You can either use SteamVR (works well) or OpenComposite (may break).

    1. 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.

    2. OpenComposite - Download OpenComposite Launcher, launch it and select ‘Switch to OpenComposite’. That’s it.

  1. OpenJDK 17+.

  2. A VR-ready rig.


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.


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.


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.


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+.