Hi,
I have just upgraded from Fedora 42 to Fedora 43, and am now
struggling to compile Mesa from git such that it will play World of
Warcraft using Wine and DXVK.
"Yes", I have added Wayland as a platform to my meson build. However,
when I install the latest Mesa 26.0.0-devel and configure
VK_DRIVER_FILES to use it, WoW crashes at start-up with this assertion
at Mesa's src/vulcan/wsi/wsi_common.c:710:
...
0180:fixme:secur32:get_mac_algid unknown algorithm 200, cipher 23
info: Presenter: Actual swapchain properties:
info: Format: VK_FORMAT_B8G8R8A8_UNORM
info: Color space: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
info: Present mode: VK_PRESENT_MODE_FIFO_KHR (dynamic: yes)
info: Buffer size: 1680x1018
info: Image count: 4
_retail_/Wow.exe: ../src/vulkan/wsi/wsi_common.c:710:
wsi_configure_image: Assertion `!"assumption failed"' failed.
01d8:err:seh:call_seh_handlers invalid frame 00000001021FE260
(00000000487B2000-00000000488B0000)
01d8:err:seh:NtRaiseException Exception frame is not in stack limits
=> unable to dispatch exception.
The assertion seems to complain that format_list_in is NULL:
const VkImageFormatListCreateInfo *format_list_in =
vk_find_struct_const(pCreateInfo->pNext,
IMAGE_FORMAT_LIST_CREATE_INFO);
assume(format_list_in && format_list_in->viewFormatCount > 0);
This obviously didn't happen while I was using x11 as my platform
instead of Wayland. It also doesn't happen with Fedora's own Mesa
25.2.7-3 RPMs.
Even more bizarrely, I can configure VK_DRIVER_FILES as a path such
that my local Mesa installation is first, and Fedora's installation is
second:
VK_DRIVER_FILES=$LOCAL_MESA_HOME/share/vulkan/icd.d/radeon_icd.x86_64.json:/usr/share/vulkan/icd.d/
and this works too! I can then use lsof to see that Wow.exe is using
BOTH my libvulkan_radeon.so AND Fedora's libvulkan_radeon.so, whereas
I would obviously expect it only to be using my local one.
My meson build contains the following options:
[options]
platforms = x11,wayland
gallium-drivers = radeonsi,softpipe,llvmpipe
vulkan-drivers = amd
video-codecs = all
prefix = /home/chris/Programs/local-mesa
vulkan-layers = device-select
Is there another Vulkan option that I have missed please? Or is
something else going on?
Thanks,
Chris