xCollateral / VulkanMod

Vulkan renderer mod for Minecraft.
GNU Lesser General Public License v3.0
1.58k stars 179 forks source link

macOS: Erroneous "Vulkan 1.2 is not supported" #329

Open ichordev opened 11 months ago

ichordev commented 11 months ago

I get a crash with a message that Vulkan 1.2 is not supported when running v0.3.5 in Minecraft 1.20.1 using Fabric Loader 0.14.24. I'm using an Apple M1 Mac-mini running macOS Sonoma (14.1), this setup should support Vulkan 1.2.

I believe the culprit might be that the MoltenVK version distributed with the mod is outdated. Manually updating the included binary to MoltenVK v1.2.4 fixed this issue for me, and I could run the game mostly without issue:

[mvk-info] MoltenVK version 1.2.4, supporting Vulkan version 1.2.250.
    The following 90 Vulkan extensions are supported:
        [... a long list...]
[mvk-info] GPU device:
        model: Apple M1
        type: Integrated
        vendorID: 0x106b
        deviceID: 0xe0103ef
        pipelineCacheUUID: 4C6BFBEB-0E01-03EF-0000-000000000000
    supports the following Metal Versions, GPU's and Feature Sets:
        [... a long list...]
[mvk-info] Created VkInstance for Vulkan version 1.2.0, as requested by app, with the following 2 Vulkan extensions enabled:
        VK_KHR_surface v25
        VK_EXT_metal_surface v1
[mvk-info] Vulkan semaphores using MTLEvent.
[mvk-info] Created VkDevice to run on GPU Apple M1 with the following 1 Vulkan extensions enabled:
        VK_KHR_swapchain v70

The only problem being that the game immediately crashes if "Indirect Draw" is enabled while playing in a world. Using MoltenVK v1.2.6 mostly worked, except that while in a world the UI was upside-down and text rendered back-to-front—probably just a binary compatibility issue.

Tokarak commented 11 months ago

https://github.com/xCollateral/VulkanMod/blob/dd638f0d97d64e19dea83c79ae347127f81ed789/build.gradle#L35-L37 Looks like lwjql needs a version bump to 3.3.3. See release notes — https://github.com/LWJGL/lwjgl3/blob/f0ec1437a6149dae00eaa27c47268e5e4efb129f/doc/notes/full.md — MoltenVK bumped to 1.2.5.

thr3343 commented 11 months ago

https://github.com/xCollateral/VulkanMod/blob/dd638f0d97d64e19dea83c79ae347127f81ed789/build.gradle#L35-L37

Looks like lwjql needs a version bump to 3.3.3. See release notes — https://github.com/LWJGL/lwjgl3/blob/f0ec1437a6149dae00eaa27c47268e5e4efb129f/doc/notes/full.md — MoltenVK bumped to 1.2.5.

Unfortunately we can't use 3.3.3 as Mojang haven't updated to 3.3.3 yet Also/Adiditionally most launchers override the LWJGL version to 3.3.2 afaik So as a result we are usually limited to what the launchers support/allow.

Tokarak commented 10 months ago

We wait for death’s shrill Whistle that tells us to climb, to rise, To run and to die.

thr3343 commented 10 months ago

In short, LWJGL 3.3.3 is definitely possible As long as the given launcher allows using a LWJGL version higher than 3.3.2 afaik