VR Setup Guide
Prerequisites
Before beginning, make sure you have access to:
- A Meta Quest headset (we tested with Meta Quest 3 and 3S)
- Wi-Fi network access
- Steam account credentials
Step 1: Steam and SteamVR Installation
Install Steam
Windows: Download and install Steam from the official Steam website.
Linux: Install Steam using the package manager:
Configure Steam and SteamVR
- Launch Steam and log in using your credentials.
- Navigate to the Store and search for "SteamVR".
- Click "Play Game" to install SteamVR.
Step 2: Headset Setup
Perform the initial headset setup (required only once for new headsets):
- Follow the on-screen setup instructions for adjusting straps and focus.
- When prompted for Wi-Fi setup, select "choose a network".
- Connect to the same Wi-Fi network as your PC.
Step 3: Platform-Specific Configuration (Linux only)
Linux users need to install ALVR to bridge the connection between the simulator and SteamVR.
Install ALVR
Install ALVR following the official installation guide.
Configure ALVR Launcher
- Open the ALVR Launcher.
- Click the "Launch" button to start the installation wizard.
- Click "Next" through all wizard steps and select "Finish" at completion.
- Click "Launch" again, then select "Launch SteamVR" when prompted.
Configure SteamVR Launch Settings (Mandatory Fix)
Apply the mandatory fix from the ALVR Linux Troubleshooting guide to prevent black screen issues:
- In Steam, right-click on SteamVR and select "Properties".
- Navigate to General → Launch Options.
- Add the following line (adjust path if your Steam installation differs):
- The yellow warning message in ALVR can help you determine the correct path for your system.
Establish Headset Connection
- Install ALVR on your Quest headset: Download and install the ALVR app from the Meta Quest Store.
- Re-open the ALVR launcher on your PC.
- On the headset, open ALVR from the app tray (blue circles on white background logo).
- When prompted with "open ALVR on your PC and click trust", click "Trust" on your PC.
- The headset should automatically connect and display mountains in the background, indicating successful SteamVR connection.
Step 4: Running VR Robot Control Demo
Configure Demo Settings
Edit settings in omnigibson/examples/teleoperation/vr_robot_control_demo.py as needed:
- Disable controller visibility if needed
- Set camera limits according to your requirements
Launch VR Demo
Execute the VR robot control demonstration:
Upon successful loading, the simulation should display "VR headset ready", indicating that VR robot control is now active.
Troubleshooting
SteamVR Black Screen
If you encounter a black screen when launching SteamVR, try the following:
- Close SteamVR and restart it.
- Check if the yellow warning message in ALVR indicates the correct path for your system.
- If the issue persists, refer to the ALVR Linux Troubleshooting guide.
VR Runtime
On some machines, this pipeline performs more reliably with system="SteamVR", while on others it works better with system="OpenXR". You can specify this by passing system="SteamVR" or system="OpenXR" to the OVXRSystem constructor, or by selecting the option directly in the GUI as shown below:
vrsys = OVXRSystem(
robot=env.robots[0],
show_control_marker=CONTROLLER_VISIBLE,
system="SteamVR", # or "OpenXR"
eef_tracking_mode="controller",
align_anchor_to="camera",
view_angle_limits=None,
)

Camera orientation does not align with the VR headset
When the VR system starts, a canonical head transformation is registered to enable free camera movement. If the robot head orientation becomes misaligned with your headset, focus the simulator GUI window and press R to reset and update the head orientation.