Skip to content

Fix OpenXR with Vulkan on Android#116226

Merged
Repiteo merged 1 commit into
godotengine:masterfrom
m4gr3d:apply_quick_workaround_for_vulkan_xr_issue
Feb 13, 2026
Merged

Fix OpenXR with Vulkan on Android#116226
Repiteo merged 1 commit into
godotengine:masterfrom
m4gr3d:apply_quick_workaround_for_vulkan_xr_issue

Conversation

@m4gr3d

@m4gr3d m4gr3d commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Follow up to #114922
Fixes #115924

When running in XR mode, the fix resets the Android global vulkan context introduced in #114922 to allow the XR module to drive the initialization via vulkan hooks.

Tested on Galaxy XR and Meta Quest 3 devices.

The fix resets the Android global vulkan context when running in XR mode to allow the XR module to drive the initialization via vulkan hooks.
@m4gr3d m4gr3d added this to the 4.7 milestone Feb 12, 2026
@m4gr3d m4gr3d requested review from a team, DarioSamo and dsnopek February 12, 2026 22:17
@m4gr3d m4gr3d requested a review from a team as a code owner February 12, 2026 22:18
@m4gr3d

m4gr3d commented Feb 12, 2026

Copy link
Copy Markdown
Contributor Author

Tested on Galaxy XR and Meta Quest 3 devices.

@dsnopek @devloglogan Can you validate the fix on Pico and other devices you have available
@BastiaanOlij Can you validate the fix on the Steam Frame.

@dsnopek

dsnopek commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Can you validate the fix on Pico and other devices you have available

FYI, Vulkan on Pico is broken even on Godot 4.6 per #115744

@dsnopek

dsnopek commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

I tested on Samsung Galaxy XR, Quest 2, Quest Pro and Quest 3 - worked fine!

My HTC Vive XR Elite needs to get a little bit more charge before it'll turn on, but I'll try it later :-)

@dsnopek dsnopek left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately, testing on the HTC Vive XR Elite is inconclusive. Running with this PR doesn't work, but neither does Godot 4.6. In fact, I had to roll back to Godot 4.4.1 and godot_openxr_vendors 3.1.2 before it would work. But I've also got some pending system updates that I haven't managed to get it to install yet. I really need to test this headset more often :-)

In any case, this PR definitely still improves things and the code looks good, so, I'm going to mark as approved and keep digging into the HTC issues elsewhere

@DarioSamo DarioSamo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to be exactly what we discussed, so seems good to me.

@BastiaanOlij

Copy link
Copy Markdown
Contributor

Can confirm this works on a Steam Frame in Android mode as well (while currently on master it has the same issues as Quest and Galaxy XR).

@Repiteo Repiteo merged commit fd49f2a into godotengine:master Feb 13, 2026
20 checks passed
@Repiteo

Repiteo commented Feb 13, 2026

Copy link
Copy Markdown
Contributor

Thanks!

@m4gr3d m4gr3d deleted the apply_quick_workaround_for_vulkan_xr_issue branch February 13, 2026 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment