Gaia Sky VR

Gaia Sky VR is the VR version of Gaia Sky. It runs on multiple headsets and operating systems thanks to Valve’s OpenVR, 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, but nothing prevents us from supporting other APIs (like the Kronos Group’s OpenXR) in the future if it makes sense. Our tests have only been carried out with the Oculus Rift CV1 headset in direct mode under Windows. Supporting Linux is a top priority for us, and the HTC Vive should work well under Linux, even though the state of OpenVR in the platform is a bit rough. We have reports indicating that the HTC Vive VR controllers’ mappings are not fully working.

Also, we want to point out that Linux support for the Oculus Rift was dropped for the CV1 and it is not expected to be continued any time soon, unfortunately.

Gaia Sky VR is heavily under development, and it is not guaranteed to work. Currently, no binaries are provided, but it can still be run by compiling the source. Just keep in mind that this is the development branch.


The minimum system requirements for running Gaia Sky VR are as following:

VR Headset

OpenVR-compatible (Oculus Rift, HTC Vive)

Operating system

Linux (only supported headsets) / Windows 10


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


VR-capable GPU (GTX 970 or above)



Hard drive

1 GB of free disk space (depending on datasets)

From now on, this guide will assume you aim at running Gaia Sky VR with the Oculus Rift in Windows, as that’s the only headset we currently have access to, which is unfortunately Windows-only. You can still run it on Linux if you have a compatible headset like the HTC Vive or the Valve Index.

You will need the following:

  1. Download and install Git for Windows or cygwin and get used to the unix-like command line interface.

  2. Follow the provided vendor instructions and install the Oculus app with the runtime. If using a SteamVR headset (HTC Vive/Pro, Valve Index, etc.), just get Steam and download SteamVR.

  3. For the Oculus, you need a translation layer from OpenVR to LibOVR. You can either use SteamVR (slower) or OpenOVR (faster). We recommend using OpenOVR, as it is much simpler and faster.

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

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

  4. OpenJDK 11+.

  5. A setup VR-ready rig.

Cloning the repository

First, open the Git or Cygwin CLI and clone the Gitlab repository. Right now only the master branch contains the version which shares the codebase with the desktop application, but starting with 2.2.1, you’ll need to check out a tag to get a guaranteed working version. This should give you a working version:

$  git clone
$  cd gaiasky
$  git checkout master


To run Gaia Sky VR, make sure that both the Oculus runtime and Steam VR are running. Then, run Gaia Sky through gradle. The first time it will pull lots of dependencies and compile the whole project, so it may take a while.

$  gradlew.bat core:runvr

CLI arguments

You can use the provided bypass script instead of gradle. Use the -vr command line argument to launch Gaia Sky in VR mode.

$  gaiasky -vr

Run gaiasky -h or man gaiasky to find out about how to launch Gaia Sky and what arguments are accepted.

Getting the data

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 controller the mappings are as follow:

  • Joystick (move) - move around.

  • Trigger - hold it to select an object and enter focus mode.

  • Jystick (push) - return to free mode.

  • A or X - toggle visibility of labels

  • B or Y - enable/disable on-screen information

  • A + B or X + Y - show usage info on screen

  • Grip + Joystick (move) - rotate around focus, only in focus mode

Common problems

  • If you are using an 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.

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

More info

The project’s main README file is here.