Skip to content
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

Fallback to GLES3 automatically on known problematic GPUs with poor or no vulkan support #6509

Closed
Mrcubix opened this issue Mar 15, 2023 · 1 comment

Comments

@Mrcubix
Copy link

Mrcubix commented Mar 15, 2023

Describe the project you are working on

Any

Describe the problem or limitation you are having in your project

I will say it right now, this is closely related to #1609.
Feel free to close this issue and maybe alter the content of the other issue.

Vulkan support is unfortunately not available on most GPUs older than 2018.
(In my case, the Nvidia 820m GPU, which is part of the 8xxm line-up, many of which have Vulkan support, unfortunately, does not support Vulkan. It is also unfortunate that this GPU is built on the fermi architecture compared to its counterparts.)

I was trying out Godot for the first time yesterday and was greeted with an error saying my GPU was not supported by Vulkan, I was also prompted to use an argument to start Godot using GLES 3.

This is inconvenient, especially when I have to manually specify the renderer in the project file, every time I either, create, or download a project online, like from the Getting started guide.

I was made aware of the option to set the default Godot renderer, but it does not seem to work when importing projects, or at least, for the one i tried.
When importing the project linked, I get the same warning as before, telling me to use specific arguments to start Godot with GLES 3, which I'm already doing; I even made a shortcut to start Godot with GLES.
Seem like Godot is not making use of this argument nor the default renderer option applied to the editor.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

The main issue to be adressed here, i would say, is import problem.
Godot should either be passing the argument or should make use of the default renderer when importing projects.

The second feature i would like to see, is godot prompting the user for a choice:

  • Fallback to GLES 3 (or whatever the GPU and godot support)
    or
  • Quit

Or a better idea, if possible, would be to find each properly supported renderrers and load the most recent one.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

  • if a default renderrer isn't specified as a default renderrer and no argument for a specific renderrer is provided:
    • For each renderring API that godot support (godot 4.0 only support Vulkan & GLES 3 at the moment i believe):
      • If the project load successfully using this renderer:
        • Load the project as intended.
      • Else, prompt the user with the failure and follow one of the 2 decisions they pick:
        • Try loading the project with the next renderer
        • Quit

or

-If a default renderrer isn't specified as a default renderrer and no argument for a specific renderrer is provided:
- Find each renderrers properly supported by the GPU
- Load the proper one (Vulkan > GLES 3 > GLES 2)

If this enhancement will not be used often, can it be worked around with a few lines of script?

It can be worked around by making your own program to place the line under the right header, but for reasons i'll give in the next part, i don't think users should have to do that.

Is there a reason why this should be core and not an add-on in the asset library?

I don't think people trying to learn godot on old device want to add a line for each projects presented in the Documentation.

Sure, they could build their own script to add that line under the proper header in the project file using another program, but I don't think you should need another program to fix Godot.

@Calinou
Copy link
Member

Calinou commented Mar 15, 2023

@Calinou Calinou closed this as not planned Won't fix, can't repro, duplicate, stale Mar 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants