godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
89.04k stars 20.19k forks source link

Launching a game with Windows Mixed Reality as the OpenXR Runtime gives a misleading error. #59506

Open CheesecakeCG opened 2 years ago

CheesecakeCG commented 2 years ago

Godot version

4.0 alpha 5

System information

Windows 10 build 19043.1586, Vulkan, AMD RX460

Issue description

Launching a game with Windows Mixed Reality as the OpenXR Runtime gives a misleading error popup: image

This is the log:

Error [GENERAL | xrCreateInstance | OpenXR-Loader] : LoaderInstance::CreateInstance, no support found for requested extension: XR_KHR_vulkan_enable2
Error [GENERAL | xrCreateInstance | OpenXR-Loader] : xrCreateInstance failed
ERROR: Failed to create XR instance.
   at: (modules/openxr/openxr_api.cpp:295)
Godot Engine v4.0.alpha5.official.d7d528c15 - https://godotengine.org
ERROR: Parameter "xrGetVulkanGraphicsRequirements2KHR_ptr" is null.
   at: xrGetVulkanGraphicsRequirements2KHR (modules/openxr/extensions/openxr_vulkan_extension.cpp:98)
OpenXR: Failed to get vulkan graphics requirements [ Error code -12 ]

From what I gather from this blog post, WMR doesn't support Vulkan or OpenGL...

Steps to reproduce

  1. Restart the Mixed Reality Portal
  2. Wait for the pop-up about OpenXR and press (Fix it)
  3. Run an OpenXR game in Godot 4.0

Minimal reproduction project

No response

akien-mga commented 2 years ago

That's expected, we can't support WMR without a DirectX renderer. But indeed the error reporting could be improved.

Calinou commented 2 years ago

Should WMR be hidden from the project settings (or even unexposed entirely) until a Direct3D renderer is added to Godot?

akien-mga commented 2 years ago

Should WMR be hidden from the project settings (or even unexposed entirely) until a Direct3D renderer is added to Godot?

What project setting?

Calinou commented 2 years ago

What project setting?

Nevermind, I thought the OpenXR runtime to use was configured via a project setting.