Skip to content

Crash on startup, fallback to OpenGL driver fails on older MacBook Pro when failing to find MoltenVK or Metal Vulkan driver #104435

@lostminds

Description

@lostminds

Tested versions

Godot Engine v4.4.stable.official.4c311cbee

System information

macOS 14.7.4, MacBook Pro 2012, intel hd graphics 4000

Issue description

A user reports crashing at startup launching my exported Godot 4.4 app set to use the Mobile renderer.

Launching the binary from the command line to catch any startup errors this is what it reports:

Godot Engine v4.4.stable.official.4c311cbee - https://godotengine.org/
[mvk-error] VK_ERROR_INCOMPATIBLE_DRIVER: Vulkan is not supported on this device. MoltenVK requires Metal, which is not available on this device.
ERROR: Cannot find a compatible Vulkan installable client driver (ICD).
vkCreateInstance Failure
   at: _create_vulkan_instance (drivers/vulkan/rendering_context_driver_vulkan.cpp:900)
ERROR: Condition "err != OK" is true. Returning: err
   at: _initialize_instance (drivers/vulkan/rendering_context_driver_vulkan.cpp:735)
ERROR: Condition "err != OK" is true. Returning: err
   at: initialize (drivers/vulkan/rendering_context_driver_vulkan.cpp:931)
WARNING: Your device seem not to support MoltenVK or Metal, switching to OpenGL 3.
     at: DisplayServerMacOS (platform/macos/display_server_macos.mm:3820)
ERROR: Parameter "win.context" is null.
   at: create_context (platform/macos/gl_manager_macos_legacy.mm:57)
ERROR: Can't create an OpenGL context.
   at: _create_window (platform/macos/display_server_macos.mm:168)
ERROR: Condition "main_window == INVALID_WINDOW_ID" is true.
   at: DisplayServerMacOS (platform/macos/display_server_macos.mm:3879)
fish: Job 1, '/Applications/[APP NAME HERE]/C…' terminated by signal SIGSEGV (Address boundary error)

According to the user they are running macOS 14.7.4, which means they should have both Metal support and OpenGL support. This is however a little suspicious since these macbooks are listed as having either macOS 10.15 or macOS 13 as the last supported version. So it could be some custom hack here messing up the drivers.

But even if the hardware is too old for Metal or MoltenVK, it should definitely have support for OpenGL to run the fallback compatibility driver. But it looks like for some reason it's failing too while trying to fall back to OpenGL as well, failing to get a window context?

Steps to reproduce

Launch Godot 4.4 exported app using Mobile renderer on MacBook Pro 2012, intel hd graphics 4000, 16gb ram, macOS 14.7.4

Minimal reproduction project (MRP)

This should happen to any Godot 4.4 project run on this same hardware.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions