-
-
Notifications
You must be signed in to change notification settings - Fork 21.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OpenXR: Requested OpenGL version does not meet the minimum version #73008
Comments
Does your app run okay despite having this warning printed? Cc @BastiaanOlij @dsnopek I guess we may need to be more lenient in the OpenXR initialization somewhere. As using a higher version than 3.3 should always be fine as every post 3.3 version is backwards compatible |
It's not us setting the min/max values, we get those from the OpenXR runtime. In this case, the OpenXR runtime has reported to us that it'll only work with a minimum OpenGL version of 4.3.0 and a maximum version of 4.6.0:
It just so happens that it usually works despite the fact that our OpenGL context's version (3.3.0) is outside that range. :-) We could simply not report that? However, if we do ever encounter an OpenXR runtime that really has problems with the OpenGL version, it's min/max version would be good information to know. So, maybe we could only report that when using "verbose" output? |
Indeed, we're just reporting it as the OpenXR driver specifies it. We have a number of drivers reporting they only work under Vulkan 1.0 for instance. Most XR runtimes report needing some version of OpenGL 4.x. So far it doesn't seem to be much of a problem, we could maybe put it under a verbose print. I think it's handy for debugging purposes if we ever run into issues. |
@clayjohn yes, the app is running. i dont know if it belongs to that, but i still got this #72211 issue, which is very weird. Because sometimes e.g. a beta16 and lower versions work, but sometimes they got the same behaviour and also dont work ? steam-vr also opens without set to openxr, so i need todo that again and again. Also Windows-mixed-reality-portal always reports that "openxr is not correctly setup, should it be repaired" ? I dont know how i can setup openxr as standard default ? |
Ok, so from the feedback I have gotten, if the XR runtime reports its minimum version as 4.3.0 it expects us to run on OpenGL 4.3 or higher. So the fact that we're running a 3.x context is not guaranteed to work, I guess we've been lucky that it has. @clayjohn whats holding us back from creating an OpenGL 4.x context if supported? We don't have to use any of the newer capabilities, but it does open up the option to using 4.x APIs from plugins etc. |
Creating a newer context should be fine as long as it is supported. The only risk is that some drivers report support for higher versions than they actually support. So my preference would be to default to initializing to 3.3/ES 3.0 unless requested to initialize to a higher version. |
I think we should leave the context alone and maybe changes these prints to verbose. It really is a diagnostics thing in case we ever run into trouble. So far this doesn't seem to have any real effect and I wager this is just a matter of XR Runtime developers playing it safe. |
Welp, looks like I have a case where we do run into trouble. On linux, ALVR, pico 4, newish mesa (arch btw) I just get a black screen in the headset when using the compat renderer. The desktop view still appears ok though.
I tried switching the driver to opengl_es but it couldn't start xr at all with that. |
@DanielKinsman Are you using normal X11 or xwayland? I don't think Godot's OpenXR support will work through Wayland/xwayland, but I'm not sure. Anyway, assuming you are using normal X11, can you try changing the requested OpenGL version in You'd change this line:
... to:
If that fixes the issue, then we know it's a result of the OpenGL version thing. |
I'm using wayland, it's been the default on most desktop distributions for a few years now. But I'm not using the experimental godot wayland stuff in 4.3 yet, this is just bog standard 4.2. To test it I logged out and logged back in to an X11 session instead and got the same results. I then branched off 4.2.2-stable and made these changes: DanielKinsman@c389e77 Using that on X11 this got rid of the version mismatch warning but still had the black screen in the headset. It gave this output on console:
So at a guess the opengl context version isn't at fault for the black screen, something else is. On wayland it just plain crashed, giving this output:
I wouldn't be surprised if I got the same results on a quest 2 because ALVR is kind of middle manning us from the headset anyway. |
@DanielKinsman Since we know your issue isn't related to the OpenGL version mismatch, we should probably move further debugging to a new issue. However, the next to things I would try: (a) enable verbose output in your project and see if you get any more interesting errors, (b) check that you are setting |
I did some more digging and opened a new issue: #94455 |
Godot version
4.0.rc1
System information
win 11 , hp-reverb-g2
Issue description
When running a simplest VR app, this output is shown. I dont know if it is bad/good , but as i dont know , if my app is running correct because of this output, i think its a kind of a bug :)
I use win 11, hp-reverb-g2 VR headset, wmr and steamvr set to use openxr
here the output:
--- Debugging process started ---
Godot Engine v4.0.rc.custom_build.630dd191c - https://godotengine.org
OpenXR: Running on OpenXR runtime: SteamVR/OpenXR 0.1.0
OpenGL API 3.3.0 NVIDIA 522.06 - Compatibility - Using Device: NVIDIA Corporation - NVIDIA GeForce RTX 3080 Laptop GPU
OpenXR: Requested OpenGL version does not meet the minimum version this runtime supports.
OpenXR: Trying to initialize with OpenGL anyway...
openxr is init
--- Debugging process stopped ---
Steps to reproduce
simplest VR app with win 11 and hp-reverb-g2
Minimal reproduction project
above
The text was updated successfully, but these errors were encountered: