5.2 Branch - OpenXR assumes single GPU, wants to restart to change GPU adapter

Changeset: https://github.com/EpicGames/UnrealEngine/commit/8124c67954a52fd413d80ac9c6d94ea39f60143c

This new error is showing up:
The OpenXR runtime requires switching to a different GPU adapter, this requires an editor restart. Do you wish to restart now (you will be prompted to save any changes)?

The code was recently added and looks to be expecting a specific GPU adapter. There’s a comment that even mentions it needs validation for multi-gpu:

Binding.device = GetID3D12DynamicRHI()->RHIGetDevice(0);
Binding.queue = GetID3D12DynamicRHI()->RHIGetCommandQueue();

// Multi-GPU support : any code using this function needs validation.

I am using a 4090 as my primary, Vive Pro, and I have a 3090 installed but nothing hooked up to it.

1 Like

I’m having the same issue in 5.2 preview 2. I have a 4090 with all my displays including headset plugged in and a 3090 with no displays plugged in. You can get around the issue by disabling your secondary GPU in your device manager. Hope they notice and fix this though!

1 Like

We’re aware of this and are working on a fix. In the meantime, @ianbercov’s suggestion to disable the secondary GPU is the best workaround.

4 Likes

I just ran into this issue while using two 3090s, connecting my headset to my secondary 3090 seems to fix my problem for now.

1 Like

Hello, any news on this issue ?

Disabling the second GPU doesn’t work as windows just runs on Microsoft default GPU instead of the 3070 in the laptop for some reason. So I have 6 fps in the editor.

Thank you

1 Like

yup! i have this issue, and for me it’s mostly blocking.

gtx 1080ti → monitors
rtx 3080 → index hmd

i can get every other vr application and dev environment functioning by setting gpu/application affinity in display settings, except unreal.


Update 23/06/22

building UE5.1 from source and adding LiveCodingConsole.exe to Windows-Settings->System->DisplayGraphics and setting it to use the RTX3080 functions properly.

building UE5.3 from origin/main yields the same error as 5.2 release (built from source or downloaded), even if LiveCodingConsole.exe’s GPU affinity is set as with UE5.1

I just installed Unreal 5.3 and loaded the VR Template and I am receiving this same Editor notice. Any word on a fix for this? I am running a laptop with a 4080.

I deleted my original post because everything started working yesterday after I posted but now I am back to having the same issue. I got a 3090 with the wireless kit for the Vive Pro 2. I only have the single GPU. My CPU doesn’t have an integrated GPU. My first instinct is the fact that I have the wireless adapter card taking upa Pcie slot and unreal thinks it is a graphics card and is trying to transfer over to that. But all it does it take the video output from the GPU and sends it to the headset.

5.3.1 also seems to have this issue. OpenXR doesn’t look like it approves of multiple GPU’s. I have a multi-monitor setup so the extra card helps with those monitors. So far the only way I can VR preview in UE 5.3 is to go into device settings, display adapters and disable one of the graphics cards, reboot, then Unreal doesn’t seem to have an issue. That’s a pain but doable. However a packaged game (even the VR Template) when launched on a machine running multiple GPU’s will not enable the VR headset. I’ve also found that even a single GPU machine or laptop requires you have Steam VR already running before launching becuase OpenXR no longer auto-launches Steam - which i guess is to be expected.

Any update on this? It’s been a few months. Thank you!

I’ve not seen any updates for this. I’m still needing to disable a secondary GPU in device manager and restart in order to use 5.3.2 and openXR. Both launcher and source builds seem to have this issue. I’d like to get back to using more than one monitor so I hope they fix this in 5.4

I’m still having this issue in Unreal 5.4. Any updates?

Yeah its been like more than a year wth epic, this issue needs to be fixed please!!! I don’t have the option to disable the other gpu as i use both for so many things. Plus I don’t want to expect players to have to do this either…