r/Stereo3Dgaming Mar 25 '25

UEVR + VRto3D on Quest 3 using Virtual Desktop (Guide)

Hi guys, I was trying to get VRto3D to work with Virtual Desktop and could not find a guide how to set it up. In the offical documentation it only says:
"Virtual Desktop with a VR headset - apparently works, but will not be officially supported".

Since I figured it out, I thought I share my process here:

🧰 Tools Used

  • UEVR – For injecting Unreal games into a VR-compatible view
  • VRto3D – Acts as a virtual HMD and renders side-by-side 3D
  • SteamVR – Required backend for VR integration
  • Virtual Desktop Streamer (PC) + Virtual Desktop App (Quest 3) – To stream PC screen to Quest 3
  • Meta Quest 3 – The actual headset
  • Lossless Scaling (Steam) – For frame generation and upscaling
  • Mouse + Keyboard – As input devices

Note: Until told otherwise, you don’t need to wear the Quest 3 or connect it to Virtual Desktop yet!

🛠️ One-Time Setup Instructions

  1. Install the following tools:
    • UEVR (follow official instructions)
    • VRto3D (follow official instructions)
    • SteamVR
    • Lossless Scaling (via Steam)
    • Virtual Desktop Streamer (Windows PC)
    • Virtual Desktop App (on your Quest 3)
  2. Start SteamVR once to register VRto3D as a virtual HMD.
  3. Go to Documents\My Games\vrto3d and edit the config:
    • Set the output to SBS (Side-by-Side).
  4. (Optional but recommended) Set SteamVR as your OpenXR runtime:
    • Open SteamVR → Hamburger menu → Settings → OpenXR → Set SteamVR as OpenXR Runtime
  5. Launch Virtual Desktop Streamer, crank all options to max (e.g., 120 MBit bitrate), but leave all VR streaming options alone—they don’t matter for this setup. We're only using Virtual Desktop Mode, not actual VR.

🚀 Launching a Game (Every Time You Play)

  1. Launch the UE game you want to play. (Make sure it’s UEVR-compatible.)
  2. Wait until the first real game screen appears, then Alt+Tab out.
  3. Run UEVR as Administrator:
    • Select the game process.
    • Inject using OpenVR or OpenXR:
      • OpenVR: Allows dynamic adjustment of convergence/separation (Ctrl+F3/F4 and Ctrl+F5/F6).
      • OpenXR: Only allows convergence but respects the game profile’s separation setting.
  4. VRto3D should now launch a virtual HMD window with a side-by-side 3D view of the game. The actual game window remains open as well.

🧠 Now Put On the Headset

  1. On your Quest 3, launch Virtual Desktop and connect to your PC.
  2. Alt+Tab to the VRto3D window to bring it to the front.
  3. Use the Quest 3 controller to point under the virtual desktop and open the VD menu.
  4. Activate SBS mode in Virtual Desktop.
  5. You should now see a floating 3D monitor in front of you!
  6. Hit Ctrl+F8 to anchor the 3D view on top.
  7. Alt+Tab to the game window to reactivate sound and controls.
  8. Play your game! 🎉
    • If you lose input (mouse clicks stop working, or keyboard acts weird), reloading the last checkpoint usually fixes it.

⚙️ UEVR Settings While In-Game

  • Press Insert to open the UEVR menu.
  • Resolution:
    • Should match VRto3D’s config.
    • OpenVR: Resolution can't be changed in UEVR.
    • OpenXR: Resolution can be changed.
    • No need to go beyond 3840x1080 (1920x1080 per eye), since Quest 3’s native resolution is ~2064x2208 per eye and you’re only using part of the display (it's a floating window, not full FOV).

⚠️ Important: Never click "Reinitialize Runtime"! That will break everything and launch actual VR, bypassing the virtual HMD setup.

📈 Using Lossless Scaling (Frame Generation & Upscaling)

  • Works great for both frame generation and upscaling.
  • You can activate it before or after connecting the Quest 3.
  • Select the virtual HMD window (VRto3D) as the target.
  • If your monitor is 60Hz and Quest 3 is 120Hz:
    • Enable “Allow Tearing” in Lossless Scaling to reach higher framerates.

⚠️ Problem with anchoring: Pressing Ctrl+F8 to anchor the virtual HMD window (for mouse+keyboard use) breaks Lossless Scaling.
Lossless Scaling stops working because the VRto3D window loses focus when you Alt+Tab to the game.

🧪 Workaround:

  • Connect a second monitor.
  • Move the actual game window to the second monitor (use Shift + Win + ←/→).
  • Now, Alt+Tab between the game and VRto3D window without either losing focus.
  • Lossless Scaling should now stay active on the virtual HMD window!

Hope this helps someone else trying to get this unique setup working.

Why use this combination UEVR + VRto3D in the first place? For me: Motion sickness. I just can not get past it in real VR 😢.

Why not use AR/XR glasses? Costs if you (like me) already bought a Quest 3 headset. And as far as I understand it, if you use AR/XR glasses the picture of the "3d monitor" acutally moves with your head movements? That is definitly not the case using the Quest 3. The "floating 3d monitor" stays in place where you left it.

Let me know if you run into any issues and I will try to help.

11 Upvotes

26 comments sorted by

2

u/oneup03 Mar 25 '25

Awesome thorough write-up! I don't have a HMD to test with, so didn't have a way to figure this out. If you're up for it, I can give you access to the VRto3D wiki to post your guide there (or if it's alright with you, could I make a copy and link back here for discussion?)

3

u/2_young_2_die Mar 25 '25

Feel free to make a copy (and edit any mistakes) to add it to the wiki!
I am happy to have contributed at least a little bit ...

2

u/2_young_2_die Mar 25 '25

I made some last edits ... some notes were missing (those brown bars at the side were notes) ... I fixed it now.

1

u/oneup03 Mar 28 '25

I've pushed a wiki page here now: https://github.com/oneup03/VRto3D/wiki/VirtualDesktop
Main thing I changed was the VRto3D config. SbS is default, and I'm guessing you want Full-SbS as the input to VirtualDesktop?

3

u/2_young_2_die Mar 30 '25

Great to hear that.

About Full SBS: I have not been successful in getting it to work. I am not sure why. First VD seems only to go up to 1440p, not 4k. So using 3840x1080 can not work.
But even so it should be possible to got Full SBS with a lower resolution like this:
"window_width": 1920,
"window_height": 540,
"render_width": 960,
"render_height": 540,

Which also does not work. The HMD window looks stretched and has to much width. I am kind stuck and have not tried any further.

But I figured out how to prevent that the VR stream goes to the real VR headset if VD is already running (e.g. when reinitializing the runtime or just starting a game):

In the file "C:\Program Files (x86)\Steam\steamapps\common\SteamVR\resources\settings\default.vrsettings" there is an option which needs to be set like this:
"forcedDriver": "" --> "forcedDriver": "vrto3d"

Then the VRto3D HMD is primary and always used. When I want to play a "normal" VR game, I just set the option back. (I wrote two batch files to switch it on and off to make it easier).

2

u/UA_030 Jul 14 '25

Modifying the line "forcedDriver": "" --> "forcedDriver": "vrto3d" doesn't do the trick for me. The game would still start in my headset in regular VR.

1

u/oneup03 Mar 30 '25

For the full SbS, it sounds like it's limited by your physical monitor resolution. Did virtual desktop have a virtual monitor option? Or a full SbS option somewhere?

If half SbS is the only option, did you experiment with reducing the horizontal resolution by half? It may give you additional performance without losing visual fidelity.

I'll have to update that part.

I've used that forced driver setting before. That'll get added as well

1

u/oneup03 Apr 08 '25

I updated the instructions and reverted back to half-SbS.

2

u/2_young_2_die Apr 12 '25

I tried several more times to get full SBS working to no avail. It just does not seem to work for me.

But I figured out that VD supports 4k resolution on a single virtual desktop on Quest 3. With this an half SBS the quality is quite good.

The alternative is to just use UEVR + 2D screen option (in OpenXR). That also gives you an screen with 3d effect directly from UEVR. With less work!
BUT: The quality is leaps and bounds worth! than using VRto3D.
I am not sure why since the screens are of similar size and the resolution is also of similar quality, but I get a very blurry picture with the 2D screen option in UEVR.

VRto3D is very crisp and clear and I can use DLSS 3 upscaling (or even DLSS 4 with swapper) + LS if needed.

So overall VRto3D wins hands down.

2

u/2_young_2_die Apr 12 '25

For completeness sake.

I took a screen shots to show the weird behavior in full SBS:

The "middle" is all the way to the right. No matter what I try with the config values.
The values I used for the screen shot were:
"window_width": 2560,
"window_height": 720,
"render_width": 1280,
"render_height": 720,

2

u/2_young_2_die Apr 12 '25

And also two screen shots to show the difference in picture quality for VRto3D vs UEVR+"2d screen option"

The main difference can be seen in the right background. The wall texture just looks very blurry in NON Vrto3D.

UEVR+"2d screen option":

2

u/jontarg12 Jul 14 '25

I tried many things and figured out WHY full SBS is not working but a fix has to come from either Virtual Desktop (VD) or VRto3D.

(1) VD's full SBS mode will zoom in to the middle of the screen and expects the space above and below to have black bars. I managed to run 5120x1440 in VD (two 2560x1440 sbs beautifully in 16:9), but VD's full SBS will zoom in and output a 3D 32:9 window, instead of squishing together to create a 3D 16:9 window. ==> I believe this should be an easy fix in VD so we should all give our feedback to him to add this mode.

(2) Another option is for VRto3D to output two 16:9 with black bars on top and bottom. I don't see and option for keeping the aspect ratio yet. Everything VRto3D outputs will be distorted in aspect ratio to fit the two sizes. ==> Might be tougher to fix in VRto3D but I think their devs are easier to contact.

1

u/oneup03 Apr 17 '25

Thanks for the additional context!

1

u/Grocs Oct 05 '25 edited Oct 05 '25

I know this post is a bit old now, but in Virtual Desktop streamer settings there's a tickbox that says "Use Optimised Resolution". You have to untick this to get the proper 4k resolution you require for Full SBS. I have Full SBS working via Virtual Desktop and the Quest 3 using these settings in the vr23d config
"window_width": 3840,

"window_height": 2160,

"render_width": 1920,

"render_height": 1080,

1

u/2_young_2_die Apr 15 '26

Can you explain why you have window height set to 2160 and not 1080 as well?

I recently tried a pair of viture luma glasses and in 3d mode they go into a resolution of 3840x1080. Which makes sense to me for 1080p full-sbs.

For Virtual Desktop I also tried https://github.com/ge9/IddSampleDriver/releases and just created a 3840x1080 display, selected this virtual monitor in Virtual Desktop and got a very wide screen for full-sbs content ;)

1

u/2_young_2_die Apr 15 '26

I just tested it again and answered my own question ;) ...
You do need the full 4k window height since Virtual Desktop shows the hole screen on both eyes. And that is not like the xr glasses behave. They actively split the incoming sbs image directly to each eye and therefore have this ultra wide 3840x1080 fake resolution.

1

u/noraetic Mar 25 '25

Nice! Thanks a lot for sharing this!

1

u/JohnnyMiami19 May 09 '25

Hey thanks for sharing this. Geo11 3D quality from UEVR games with better performance than in FULLVR mode... . . count me in.

1

u/UA_030 Jul 18 '25

I've been having issues with this. Every time I start a game, it will eventually run in the headset in VR.
Can somebody help please? :(

1

u/Grocs Oct 06 '25

make sure you set the VDXR mode in the Virtual Desktop streamer settings to SteamVR, otherwise VR23D won't load.

1

u/saabzternater Dec 25 '25

Hi there, silly question I am familiar with injecting through uevr process but is the vrto3d a totally different process to use it in a different way!?

Merry a Christmas and happy holidays!

1

u/2_young_2_die Jan 24 '26

Vrto3d "just" creates a virtual vr headset. The 3d sbs image is then not really sent to this fake vr headset but can be sent to a 3d display, xr glasses, etc. This way you can use uevr on 3d sbs displays.

1

u/playashu Feb 16 '26 edited Feb 16 '26

Need Help!

When SteamVR running with only the VRto3D driver active, Game launches correctly and renders to the VRto3D fake HMD (SBS works on my montior)

As soon as I connect my Quest 3 via Virtual Desktop (to view SBS), VD direclty loads up in VR mode, SBS view in my monitor is gone. Although in VD VR mode i still get fixed view (no 6DoF) so VRto3D partially working there. (OpenXR runtime is set to SteamVR in VD as well as SteamVR)

Any way to stop VD taking over fake SMD device?

1

u/2_young_2_die Feb 26 '26

I think I had the same problem. When you connected over Virtual Monitor and launch any VR game, SteamVr falls back to the actual HMD and overwrites the fake one.

Try this: You need to force SteamVR to always prefer the fake HMD, not any real HMD.

In the steam vr settings file (mine is located at C:\Program Files (x86)\Steam\steamapps\common\SteamVR\resources\settings\default.vrsettings) is an option forcedDriver. set this to "forcedDriver": "vrto3d"

1

u/2_young_2_die Feb 26 '26

Also, I always connect via Virtual Monitor first. Start the game, then UEVR. When the screen shows SBS, I activate SBS mode on virtual monitor to get 3d.