zzz (Archived) ‐ Development Updates - mbucchia/Oasis-Driver-for-Windows-Mixed-Reality GitHub Wiki

August 19th, 2025 - Progress update

Confirmed launch date

The global release date is August 29th, with the driver entering code freeze earlier today and the final approval from Valve completed a week ago.

I have been sick with a severe cold for the last 3 days and will now take a week off before the release!

Top 3 things to know before launch

Bluetooth limitations

Oasis will not support the built-in Bluetooth interface that was included with the Samsung Odyssey+, HP Reverb G1 and G2. Instead, Oasis will require that you use Windows Bluetooth in order to pair your motion controllers.

  • if your computer already has built-in Bluetooth, you are fine.
  • if you already have an add-on PCI Express or USB Bluetooth interface, you are fine.

If you have neither of the above, you can purchase a cheap USB Bluetooth dongle like this one ($10 in the US): https://a.co/d/5haSNGn

If you don't plan on using your motion controllers, you are also fine, Oasis will work without motion controllers.

Room Setup

The original Mixed Reality Portal had what we call an "OOBE" (pronounced "ooo-bee"), or Out-Of-Box Experience. That was the phase during which you had to follow the tutorial, look around and aim at things. This phase was actually important to give a chance to the Mixed Reality driver to learn about your room as you followed the steps.

With SteamVR there is no such thing. When you first run the Oasis driver, it is highly encouraged that you take a moment look around the room to give a chance to the driver to learn about the room, and only then (after a minute or so of looking around), you shall proceed with the SteamVR "Room Setup", where you can calibrate your starting position, height, and create room boundaries.

Recurring crash and Environment Data

If your machine was upgraded from a version of Windows with the Mixed Reality Portal, there is a high chance that some stale data is present or corrupted. This may lead Oasis to crash repeatedly after a few seconds!!

There is a very easy remedy: Follow Troubleshooting Guide#clearing-environment-data to clear out the bogus data!

Progress since August 2nd

A group of 15 beta testers got their hands on Oasis and have been doing a stellar job for the past 2 weeks!

As part of this process, several improvements and fixes were completed:

  • Significantly improved tracking prediction, both for the head mounted display and the motion controllers.
  • Completed "room anchor" selection, a process that makes the playspace, player height and default room position repeatable across restarts of SteamVR.
  • Further improved motion controller fidelity (offsets).
  • Added a setting to attenuate or disable motion controller vibrations.
  • Revised selection of the "base resolution" to match more closely with the expected experience (1.4x panel resolution).
  • Fixed an issue that caused audio devices to be hidden in Windows and unusable by SteamVR.
  • Fixed an issue that manifested with about 50% of the HP Reverb G2 users and that caused a visual glitch across the display.
  • Added a small joystick deadzone enabled by default to deal with our worn-out motion controllers. Further deadzoning is available through SteamVR settings.
  • Fixed the FOV tangents feature.
  • Fixed various Windows permission errors in the unlock tool.

Here is a sample of games that have been tested so far, without any blocking issue reported:

Asgard Wrath (Revive) Assetto Corsa Assetto Corsa Competizione Automobilista 2
Beat Saber Blade and Sorcery Bonelab Boneworks
Contractors VR DCS Elite Dangerous Half-Life: Alyx
Half-Life 2: VR iRacing Luke Ross Real VR Flight Simulator 2020
Flight Simulator 2024 No Man's Sky Pavlov VR Pinball FX2 VR
Pistol Whip RecRoom Subnautica Tee Time Golf
VAIL VRChat VTOL VR X-Plane 12

Top remaining issues (will be addressed post-launch)

  • Passthrough "room view" is still not working properly and has been disabled, however the passthrough camera can still be used "flashlight"-style with motion controllers, providing a form a passthrough to navigate around without removing the headset.

  • (HP Reverb G2 v2 only): One some revisions of the HP Reverb G2 v2, the passthrough camera are incorrectly being displayed side-ways (rotated by 90 degrees).

  • (HP Reverb G2 Omnicept only): The HP eye tracking calibration application does not enter VR properly, making it impossible to complete the eye tracking calibration procedure. Eye tracking is still functional in uncalibrated mode.

  • There is a serious issue, which we have only been able to reproduce on one unit so far, where the distortion does not appear correct, causing a convergence issue for the user (and some discomfort). It is unclear how many units may be affected by this issue.

Update for AMD users

No update.

August 2nd, 2025 - Progress update

Projected launch date

The tentative global release date is August 29th. This date is subject to Valve approving release on Steam.

Progress since July 5th

Top blocker issues were resolved!

  • Fixed undesirable offset with the head tracking which resulted in incorrect parallax.
  • Fixed undesirable offset with the motion controllers tracking, which resulted in a mismatch between hand position and on-screen controller display.
  • Fixed a bug in the distortion profiles that caused the view to appear slightly zoomed out. Also fixed the distortion profile for HP Reverb G2, which reduces chromatic aberration.

Several other improvements:

  • Added controller model for the Samsung Odyssey controllers. This is a cosmetic change.
  • Added support for the IPD slider on Samsung Odyssey (was already supported on HP Reverb G2).
  • Added IPD slider "dead-zone" to avoid popping up the IPD overlay when putting the headset on.
  • Fixed bugs with haptics amplitude and duration.
  • Fixed a bug where the driver crashed if the installation folder contained certain characters.

Preparation for the launch:

  • Submitted a build of the driver to Valve in order to get acceptance into the store (and begin the 2-week mandatory "Coming soon" period).
  • Written all sorts of documentation (on this wiki) in preparation for launch, in particular a walkthrough of the Settings and a Troubleshooting Guide to quickly resolve basic issues.

New features:

  • Initial support for camera passthrough. Extremely experimental at this time, but good enough to have a minimal replacement for the "flashlight". Investigating how to properly integrate room view, but that feature likely won't be ready for the first release.

    Passthrough example Monoscopic passthrough camera view attached to the motion controller.

  • Added support for tracking QR codes. QR codes will appear as virtual Vive Trackers. This is probably only useful if developers take advantage of it. It was helpful to me when debugging tracking issues!

Top remaining issues

  • There is no anchor to the room. This means that every time SteamVR starts, you must recenter your play-space (via the Dashboard recenter button). This is fine for seated experience, but inconvenient for standing/room experience. Currently investigating how to create permanent anchors. FIXED.

  • Passthrough "room view" is not properly aligned with the headset's cameras. This is a deal-breaker for using SteamVR's room view, but the passthrough camera can still be used "flashlight"-style with motion controllers.

  • The FOV tangents optimization is broken after my updates to the distortion profiles. Should be fixed in time for launch. FIXED.

Update for AMD users

AMD has had a version of my Oasis driver since 6/30/2025, and they have not looked at it yet. I have provided them with the specific details on 6/30/2025 of what they need their driver to do differently in order to acquire display to the WMR headsets. At this point, I consider it "dead in the water" and will not pursue further efforts to support AMD graphic cards for launch. If AMD decides to spend time on it later, I will pick it up from there.


July 5th, 2025 - Progress update

Progress since June 7th

The driver shown in the teaser video was a "minimum viable product" to produce the video and show confidence in the progress at that time. Since the video, a lot of fixes, improvements, and features were completed:

  • Fixed the head tracking alignment. This was the largest issue present. It's difficult to see in the video, but the view was slightly tilted and presented an incorrect translation when the headset rotated.

  • Fixed motion controller tracking alignment. They were basically drawn completely off and you cannot even see them in the video. The tracking data was there, but incorrectly anchored to the playspace.

  • Fixed tracking prediction (both headset and motion controllers). The velocity/acceleration was not reported to SteamVR before, limiting motion prediction.

    Tracking visualization app The tracking visualization app developed with Unity and allowing real-time display of the tracking state, and critical to make adjustments to the alignment and other tracking math.

  • Turn on the display automatically on 2nd generation headsets and up. Prior to that, a separate program had to be used to send a special command before starting SteamVR.

  • Fixed controller reconnection. Prior to this fix, once a controller was turned off, SteamVR had to be restarted completely to reactivate the controller.

  • Fixed all buttons/triggers/joysticks/etc bindings. Many of them were swapped or improperly done, such as the trackpad on 1st generation controllers. They now all work as intended on both 1st and 2nd generation motion controllers.

    OpenXR test app for controller The OpenXR "SampleScene" app displaying status of the buttons/triggers/joysticks in real-time and helping validation of the implementation.

  • Fixed panel resolution on HP Reverb. In the previous build, the panel resolution was incorrectly limited to 2880x1440 instead of being maximized at 4320x2160.

    vrcompositor log file SteamVR's vrcompositor logs, confirming the use of the full panel display resolution with an HP Reverb G2.

  • Fixed audio device switching, ensuring that the headset's microphone/headphones are prioritized by SteamVR (and based on settings).

  • Added Oculus Touch controller emulation. This is to increase compatibility with problematic applications. On 1st generation controllers, the trackpad is used to emulate AB/XY buttons. Requires restarting SteamVR.

  • Added a brightness adjustment slider and per-channel color adjustements. These settings are applied live, without the need to restart SteamVR.

  • Added FOV tangents (reduced FOV) sliders that also reduces the render resolution accordingly (keeping pixel density). Requires restarting SteamVR.

  • Added hidden area mesh scaling slider, which can be used to (slightly) increase the FOV when using a custom head gasket. Requires restarting SteamVR.

    Settings tab for Oasis The new settings tab in SteamVR, offering useful customization options for the driver.

  • Added support for HP Reverb G2 and Samsung Odyssey physical IPD slider.

  • Added support for HP Reverb G2 Omnicept eye tracking, exposed via OpenXR. Compatible with foveated rendering in applications such as Microsoft Flight Simulator 2024 or Digital Combat Simulator (with Quad-Views-Foveated).

  • Created a Procedure to unlock headset and controllers for Oasis to make your devices compatible with Oasis.

  • Registered with Steam and created a Steam product page for the release of Oasis. Currently pending Valve's approval.

    Steam product page Steam product page under review for approval by Valve.

Top 3 remaining issues

  • There is still a slight undesirable offset with the head tracking, which results in incorrect parallax when moving your head in certain directions. This can be solved through manual tweaking but currently investigating a more automated solution. FIXED

  • There is still a slight undesirable offset with the motion controllers tracking, which results in a mismatch between hand position and on-screen controller display. This can be solved through manual tweaking but currently investigating a more automated solution. FIXED

  • Driver does not work on AMD and Intel graphics cards.

    • I have sent a version of the driver to AMD for them to investigate. As far as I am concerned, the issue can only be fixed through a graphics card driver change that AMD could make.
    • For Intel, there is no solution. SteamVR does not support Direct-to-Display mode on Intel (or more precisely, Intel does not support Direct-to-Display mode, period). 

Some performance validation

Some very quickly gathered numbers to satisfy the curiosity. This game is Contractors VR on Steam. It is an OpenVR game. All settings are 100% identical during the comparison.

Specific setup:

  • Intel Xeon E5-1650 @ 3.50 GHz (This is a developer machine, not a gaming rig)
  • 32 GB RAM
  • NVIDIA Geforce RTX 4070 12 GB VRAM
  • Windows 10 Pro 22H2 (In order to run both the original Mixed Reality Portal and the new Oasis driver for fair comparison)
  • HP Reverb G1
Mixed Reality Portal Oasis driver
holographic_2644 oasis_2644_svr

Observations:

  • Game frame times are 100% identical, both CPU and GPU.
  • Frame rate is identical, including no frame drops.
  • VRAM usage is substantially lower with Oasis: 7.5GB -> 5.7GB, ie 1.8GB (-25%) savings
  • System RAM usage is also lower with Oasis: 13GB -> 12.1GB, ie 0.9GB (-7%) savings

How It Works

The original implementation of Windows Mixed Reality in Windows is a complex piece of machinery spanning several components.

Block Diagram of Windows implementation Block Diagram of the original Windows Mixed Reality implementation.

The removal of support in Windows 11 24H2 broke the link between application runtime components, such as the Mixed Reality Portal, and driver components used for display (the compositor), device management and tracking (the "HoloLens sensors").

There are several approaches I explored over the last 2 years to re-establish functionality:

  • "Re-add" the components that were removed. This may seem straightforward, but they are Windows kernel components, so that makes the task very expensive (impossible?) since security around the Windows kernel is tight (and that is a good thing that keeps computers safe).

  • Re-write these components and make them "conform" to the original kernel APIs. It would require a significant amount of reverse-engineering. Additionally, the Mixed Reality Portal is a very large component, and getting all the stars to align perfectly to make it work is a huge task. It is also no secret that the Mixed Reality Portal was not the user's favorite feature... So why going after bringing it back to life?

  • Before the kernel APIs, there is another set of public APIs called Mirage (or Windows.Graphics.Holographic and Windows.Perception). Developing a solution that "looks like" Mirage would enable components such as the Windows Mixed Reality for SteamVR and WinXR (OpenXR native support) to be re-used. However these APIs are very complex and writing such implementation would be very tedious.

  • Re-writing everything instead of replacing some of the missing components. This is effectively what a solution like Monado attempts to do. However, Monado is currently not mature-enough on Windows to make this happen for Windows Mixed Reality. It would be possible to contribute the missing parts, however integrating into an open source project of this sort has overhead. Additionally, Monado lacks certain gaming features (such as motion reprojection).

  • Writing a SteamVR native driver. This solution would offload a lot of the work to SteamVR itself, in particular composition and some of the most complex parts of tracking. It would offer support for OpenVR and OpenXR applications all at once. It's probably the leanest architecture that would exist. This is the solution illustrated below:

    Block Diagram of Oasis driver Block Diagram of the new Windows Mixed Reality implementation with Oasis.


June 7th, 2025 - Revealing Oasis driver for Windows Mixed Reality

Watch the reveal teaser video below:

Teaser video on Youtube

Oasis was the internal code name for Windows Mixed Reality at Microsoft - and also my favorite drink growing up in France!!

The Oasis driver is a native SteamVR driver (Direct Mode), it does not need the Mixed Reality Portal. It supports full 6DoF functionality, along with motion controllers. (Also, btw, it is NOT Monado and doesn't use any of their code). Restricted to Nvidia GPUs due to the way Valve/SteamVR interfaces to the GPU drivers.

Coming Fall 2025.

What is supported?

See Frequently Asked Questions#what-is-supported.

Requires Nvidia GPU. This limitation is imposed by the Direct Mode support in SteamVR.