mesa-dist-win icon indicating copy to clipboard operation
mesa-dist-win copied to clipboard

Installation on Windows

Open andreasdc opened this issue 3 years ago • 18 comments

Hey, I tried installing mesa with to use zink and vulkan, but I can't get it to work. How can I do it properly?

andreasdc avatar Jun 23 '22 12:06 andreasdc

Please read the end user guide: https://github.com/pal1000/mesa-dist-win#installation-and-usage https://github.com/pal1000/mesa-dist-win#mingw-and-msvc-package-contents (lookup the section for zink driver)

pal1000 avatar Jun 23 '22 16:06 pal1000

Please read the end user guide: https://github.com/pal1000/mesa-dist-win#installation-and-usage https://github.com/pal1000/mesa-dist-win#mingw-and-msvc-package-contents (lookup the section for zink driver)

Yes sure I saw that, but it doesn't go like it should.

andreasdc avatar Jun 23 '22 16:06 andreasdc

Do you have any Vulkan driver on your system?

pal1000 avatar Jun 23 '22 16:06 pal1000

Do you have any Vulkan driver on your system?

I'm not sure about that, but I have this script: SET __GLX_VENDOR_LIBRARY_NAME=mesa SET MESA_LOADER_DRIVER_OVERRIDE=zink SET GALLIUM_DRIVER=zink which doesn't chang much.

andreasdc avatar Jun 23 '22 16:06 andreasdc

As far as I know __GLX_VENDOR_LIBRARY_NAME and MESA_LOADER_DRIVER_OVERRIDE don't apply to Windows so setting them is pointless.

Do you have any Vulkan driver on your system?

I'm not sure about that,

It's crucial that you have at least 1 Vulkan driver on your system. If you don't you can try it with lavapipe or swiftshader, but in such context llvmpipe is faster.

pal1000 avatar Jun 23 '22 16:06 pal1000

As far as I know __GLX_VENDOR_LIBRARY_NAME and MESA_LOADER_DRIVER_OVERRIDE don't apply to Windows so setting them is pointless.

Do you have any Vulkan driver on your system?

I'm not sure about that,

It's crucial that you have at least 1 Vulkan driver on your system. If you don't you can try it with lavapipe or swiftshader, but in such context llvmpipe is faster.

I used mesa3d-22.1.2-release-mingw, then I did 1, 5, 6, 7 option from here: image I also set system variables, and nothing.

I don't know where should I get libgallium_wgl.dll, these instructions are really complicated.

andreasdc avatar Jun 23 '22 22:06 andreasdc

System wide deployment is intended for systems without existing OpenGL drivers, e.g. virtual machines, cloud computing or remote desktop (RDP or VNC). Please use option 8 in system wide deployment tool to clean up and then use per application deployment tool instead. Also you don't need off-screen render driver and graw test framework for zink to work.

As for why you can't find libgallium_wgl.dll in Windows system32 and syswow64 folders, that's because it gets copied there with a different name, mesadrv.dll, in order for upgrades from 19.2.x to work as expected at least for system wide deployment tool.

pal1000 avatar Jun 24 '22 08:06 pal1000

System wide deployment is intended for systems without existing OpenGL drivers, e.g. virtual machines, cloud computing or remote desktop (RDP or VNC). Please use option 8 in system wide deployment tool to clean up and then use per application deployment tool instead. Also you don't need off-screen render driver and graw test framework for zink to work.

As for why you can't find libgallium_wgl.dll in Windows system32 and syswow64 folders, that's because it gets copied there with a different name, mesadrv.dll, in order for upgrades from 19.2.x to work as expected at least for system wide deployment tool.

I used per app deployment and I have some shortcuts there like libglapi.dll, but I don't think anything changed other than that. I also found and enabled these 2 options which changed something, should I keep it enabled or it doesn't have to do anything with this? image Specifically I want to use it with Minecraft on MultiMC launcher.

andreasdc avatar Jun 24 '22 10:06 andreasdc

Minecraft MultiMC launcher uses Java as far as I know so you'll need to deploy Mesa in MultiMC Java bin folder. Start a MultiMC game instance and then in Task manager do open file location on Java.

I also found and enabled these 2 options which changed something, should I keep it enabled or it doesn't have to do anything with this?

It shouldn't have anything to do with this and you may get into other issues.

pal1000 avatar Jun 24 '22 13:06 pal1000

Minecraft MultiMC launcher uses Java as far as I know so you'll need to deploy Mesa in MultiMC Java bin folder. Start a MultiMC game instance and then in Task manager do open file location on Java.

I also found and enabled these 2 options which changed something, should I keep it enabled or it doesn't have to do anything with this?

It shouldn't have anything to do with this and you may get into other issues.

How to check if this works? I deployed it at my java/bin folder (from the task manager of the game) and I disabled these 2 options back again.

andreasdc avatar Jun 24 '22 14:06 andreasdc

How to check if this works?

Turn on debug screen.

pal1000 avatar Jun 24 '22 20:06 pal1000

How to check if this works?

Turn on debug screen.

I was looking there, if there should be something like zink/vulkan, there is nothing like that. I see string with '3.2.0 NVIDIA 516.40'.

andreasdc avatar Jun 25 '22 13:06 andreasdc

Okay so it appears you have a new enough NVIDIA GPU capable of running on latest driver. so you clearly have at least one Vulkan driver on your system unless your graphics driver installation is totally broken. I tried running zink over Swiftshader on this aging system of mine and it failed to create OpenGL context while llvmpipe worked, so it may not work even if you are doing everything right.

pal1000 avatar Jun 27 '22 08:06 pal1000

Okay so it appears you have a new enough NVIDIA GPU capable of running on latest driver. so you clearly have at least one Vulkan driver on your system unless your graphics driver installation is totally broken. I tried running zink over Swiftshader on this aging system of mine and it failed to create OpenGL context while llvmpipe worked, so it may not work even if you are doing everything right.

Oh no, I really wanted to try zink and have normal fps :/ I tried VulkanMod for Minecraft, but it has some stability issues at the moment. Do you have any idea on how to touch that? Thanks for help.

andreasdc avatar Jun 27 '22 11:06 andreasdc

Is there other way to check if it works? I have a feeling that it still increased my fps and when I removed the files I couldn't launch the Minecraft.

andreasdc avatar Jul 14 '22 23:07 andreasdc

Well, zink driver requires at least one Vulkan driver to function, no escaping that. Per application deployment cleans after itself if you run it again on same folder and choose not to deploy anything.

pal1000 avatar Jul 15 '22 10:07 pal1000

It didn't clean for me

andreasdc avatar Jul 15 '22 17:07 andreasdc

It only cleans if you used perappdeploy.cmd to deploy otherwise it won't to avoid removing other OpenGL/GLES implementations that may be bundled with the program unless you actually do deploy.

pal1000 avatar Jul 17 '22 06:07 pal1000