pal1000 / mesa-dist-win

Pre-built Mesa3D drivers for Windows
MIT License
860 stars 77 forks source link

What is required for Zink driver? (re: not working under WINE and MoltenVK) #165

Open sofakng opened 6 months ago

sofakng commented 6 months ago

I'm trying to use Zink (mesa 23.3.1 msvc) under WINE on macOS but I can't get it working. Games crash, display a black screen, or display errors like this:

8.2620s ERROR| Unable to set video mode: SDL_GL_CreateWindow failed: No matching GL pixel format available.
8.2624s ERROR| Video driver does not support OpenGL version 2 or greater; all OpenGL modes are unavailable.

However, if I set GALLIUM_DRIVER to llvmpipe it does work:

2.5073s  GFX| Setting video mode 2560x1600 (32-bpp windowed).
2.5811s  GFX| OpenGL driver: llvmpipe (LLVM 17.0.6, 128 bits) 4.5 (Compatibility Profile) Mesa 23.3.1 (git-1a2e6abe56)
2.5812s  GFX| OpenGL context: version 4.5

However, if I run OpenGLChecker using Zink the following is displayed in the console:

Unable to find a suitable pixel format.

WARNING: Some incorrect rendering might occur because the selected Vulkan device (Apple M3 Max) doesn’t support base Zink requirements: feats.features.logicOp have_EXT_custom_border_color have_EXT_line_rasterization

I believe this explains the problem (lack of supported features in MoltenVK) but what are the requirements for Zink and do earlier versions have lighter requirements?

Vulkan is supported under WINE (macOS) using MoltenVK which is an "almost-complete subset of the Vulkan 1.2 API".

Here is the output from vulkaninfo.exe under WINE and MoltenVK: vulkaninfo.txt

Thanks for any help!