Skip to content

Vulkan mod doesn't work in Prismlauncher on AMD due to not finding vulkan-loader #303765

Description

@nonetrix

Describe the bug

If you try to use Vulkan mod in Minecraft it will fail to open, as the package seems to expect the game to only need OpenGL I assume at least. I think to fix this the package vulkan-loader needs to be included in the build. Since this is a mod it doesn't effect the base game, so adding support for this might be debatable but I would like to see it work to compare the renderers and try RT mods that uses hardware RT.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Download Vulkan mod
  2. Try to run the game
  3. See that it crashes and cannot find vulkan-loader

Expected behavior

The game loads with Vulkan mod installed

Additional context

The error:

[22:16:17] [Render thread/WARN]: Failed to create window: 
net.minecraft.class_1041$class_4716: GLFW error 65542: Vulkan: Loader not found
	at net.minecraft.class_1041.method_4501(class_1041.java:196) ~[client-intermediary.jar:?]
	at org.lwjgl.glfw.GLFWErrorCallbackI.callback(GLFWErrorCallbackI.java:43) ~[lwjgl-glfw-3.3.1.jar:?]
	at org.lwjgl.system.JNI.invokePP(Native Method) ~[lwjgl-3.3.1.jar:?]
	at org.lwjgl.glfw.GLFWVulkan.nglfwGetRequiredInstanceExtensions(GLFWVulkan.java:117) ~[lwjgl-glfw-3.3.1.jar:?]
	at org.lwjgl.glfw.GLFWVulkan.glfwGetRequiredInstanceExtensions(GLFWVulkan.java:150) ~[lwjgl-glfw-3.3.1.jar:?]
	at net.vulkanmod.vulkan.Vulkan.getRequiredExtensions(Vulkan.java:425) ~[VulkanMod_1.20.1-0.3.9.jar:?]
	at net.vulkanmod.vulkan.Vulkan.createInstance(Vulkan.java:239) ~[VulkanMod_1.20.1-0.3.9.jar:?]
	at net.vulkanmod.vulkan.Vulkan.initVulkan(Vulkan.java:138) ~[VulkanMod_1.20.1-0.3.9.jar:?]
	at net.vulkanmod.vulkan.VRenderSystem.initRenderer(VRenderSystem.java:58) ~[VulkanMod_1.20.1-0.3.9.jar:?]
	at com.mojang.blaze3d.systems.RenderSystem.initRenderer(RenderSystem.java:1536) ~[client-intermediary.jar:?]
	at net.minecraft.class_310.<init>(class_310.java:505) ~[client-intermediary.jar:?]
	at net.minecraft.client.main.Main.main(Main.java:211) ~[minecraft-1.20.1-client.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.7.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.7.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.7.jar:?]
	at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87) ~[NewLaunch.jar:?]
	at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129) ~[NewLaunch.jar:?]
	at org.prismlauncher.EntryPoint.main(EntryPoint.java:70) ~[NewLaunch.jar:?]
Process exited with code 0.

Tried this as well but didn't work due to a build error, likely user error on my part

{pkgs, ...}: {
  nixpkgs.overlays = [
    (_final: prev: {
      prismlauncher = prev.prismlauncher.override ({extraLibraries ? _pkgs': [], ...}: {
        extraLibraries = pkgs':
          (extraLibraries pkgs')
          ++ [
            pkgs'.vulkan-loader
          ];
      });
    })
  ];

  environment.systemPackages = with pkgs; [
    prismlauncher
  ];
}

Also, I imagine that this effects Multimc so it's package should be updated as well. I have also tested on the unwrapped package, same issue there as well :/

Notify maintainers

@Minion3665 @Scrumplex @getchoo

Metadata

~ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.8.5, NixOS, 24.05 (Uakari), 24.05.20240410.1042fd8`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.2`
 - channels(root): `"home-manager, nixos"`
 - nixpkgs: `/nix/store/r1g09wfd968168f6drdl7agfaf3msik4-source`

Add a 👍 reaction to issues you find important.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions