Skip to content

Install

vrOS is distributed on Steam as app 3873610. Steam installs it like any other app: there is no separate download and no installer to run afterwards. vrOS 2.0.0 ships for Windows; Linux and native Steam Frame builds are in development and are not on Steam yet.

A headset is optional at install time. vrOS starts as a desktop application and attaches to a VR runtime when one is present, so you can install it, open it, and look around before you put anything on your head.

Windows Linux Steam Frame
Operating system Windows 10 version 1903 or later, or Windows 11 x86-64 desktop Linux, or SteamOS SteamOS on ARM64
VR runtime SteamVR SteamVR, or Monado / WiVRn In development
Overlay path OpenVR IVROverlay OpenVR IVROverlay on SteamVR; OpenXR XR_EXTX_overlay on Monado / WiVRn Not settled
Window capture Windows.Graphics.Capture PipeWire through xdg-desktop-portal Not settled
Graphics Direct3D 11 Vulkan Vulkan
Status Supported In development In development

Windows 10 version 1903 is the floor because window capture uses Windows.Graphics.Capture, which arrived in that release. Windows 11 is supported throughout.

SteamVR is the VR runtime on Windows. SteamVR implements no OpenXR overlay extension, so overlays go through OpenVR IVROverlay; vrOS resolves openvr_api.dll from your SteamVR installation rather than shipping its own. Install SteamVR through Steam if you do not already have it. You do not need to start it first — see First run.

Linux support is in development. vrOS 2.0.0 on Steam is a Windows build, and there is no Linux build to install yet; this section describes what the Linux build is being built to do.

Two VR stacks exist on desktop Linux and each is missing the other’s overlay API, so vrOS has both backends and uses whichever runtime you are running:

  • SteamVR for Linux — overlays through OpenVR IVROverlay.
  • Monado / WiVRn (including Envision) — overlays through OpenXR XR_EXTX_overlay, which Monado implements. There is no OpenVR on this stack at all.

Capture goes through PipeWire and xdg-desktop-portal, which means your desktop environment shows its own picker when vrOS asks for a window or a display. That is deliberate: the portal picker is the grant. X11 and XComposite are used only where a session needs them.

The tray icon uses StatusNotifierItem. KDE shows it as-is. GNOME needs a shell extension for tray icons before it will appear.

There are two ways to use vrOS with a Steam Frame, and only one of them is ready.

Streaming from your PC works today. The Frame’s primary mode is wireless PCVR streaming from a Windows PC. In that mode vrOS is running on the PC, inside SteamVR, exactly as it does for any other PCVR headset. Nothing Frame-specific is involved and no separate build is needed.

Running natively on the Frame is in development. Two questions stay open until they are answered on the device: which overlay path the on-device runtime actually exposes, and what can be captured there. Until both are settled, native Frame is listed as in development and not as supported.

Two things: vros.exe, and the vrOS SteamVR driver in a driver_vros folder beside it, plus a build stamp and the third-party license notices. The action manifest, the five controller binding files, and the SteamVR application manifest are embedded in vros.exe and written into vrOS’s data directory the first time it attaches to a runtime, so there is nothing to register by hand and nothing to copy into SteamVR.

The driver is only registered with SteamVR when you choose to set it up — see First run.

vrOS 2 replaced vrOS 1 on Steam. vrOS 1 stays available for now on a beta branch: in Steam, right-click vrOS → Properties → Betas and choose legacy. Choose “None” to come back to vrOS 2.

The two versions keep their settings apart — vrOS 1 in %LOCALAPPDATA%\vrOS, vrOS 2 in %APPDATA%\vrOS — so switching back and forth is safe. vrOS 2 does not import vrOS 1’s settings, layouts or sign-ins, so it starts fresh. Both versions file controller bindings under the same Steam app: if you customized vrOS 1’s bindings, open vrOS in SteamVR’s Controller Bindings, switch to the default binding, and customize from there. Release notes list the vrOS 1 features that are not in 2.0.0.

A separate Steam app, 3893370, carries the opt-in playtest. Builds land there before they reach the main app.

One thing to know if you use both: SteamVR files controller bindings under the Steam app that launched the process. Bindings you customize on the playtest build are stored against the playtest app, not against the main one, so a customization made in the playtest does not follow you to the release build.

First run covers what happens the first time you open it, and what to do if the Dash does not show up.