http://bugs.winehq.org/show_bug.cgi?id=58264
Bug ID: 58264 Summary: regression in multiple apps in Wine >=10.7, error: "Assertion failed: !status && "vkAllocateMemory", file /Users/gcenx/Documents/GitHub/wine-private/dlls/winevu lkan/loader_thunks.c, line 93" Product: Wine Version: 10.7 Hardware: x86-64 OS: MacOS Status: UNCONFIRMED Severity: major Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: cemer99797@isorax.com
Created attachment 78605 --> http://bugs.winehq.org/attachment.cgi?id=78605 macOS Terminal log, wine-devel 10.8 running cpuz_x64.exe
On macOS, there is a regression in multiple Windows programs since Wine-devel 10.7 (including 10.8) releases by Gcenx, with the final lines of the terminal output reading:
-[MTLHeapDescriptorInternal validateWithDevice:]:327: failed assertion `Heap Descriptor Validation Placement heap type is not supported. ' 01a0:err:msvcrt:_wassert (L"!status && "vkAllocateMemory"",L"/Users/gcenx/Documents/GitHub/wine-private/dlls/winevulkan/loader_thunks.c",93) Assertion failed: !status && "vkAllocateMemory", file /Users/gcenx/Documents/GitHub/wine-private/dlls/winevulkan/loader_thunks.c, line 93
These programs work fine in Wine-devel 10.6 and lower
tested with Wine-devel 10.7 and 10.8 binary releases from Gcenx (https://github.com/Gcenx/macOS_Wine_builds/releases) on macOS 11.7.10
tested with CPU-Z 2.15 (portable) (cpuz_x64.exe) download: https://download.cpuid.com/cpu-z/cpu-z_2.15-en.zip sha256: c8461d995d77a8fe1e8c5823403e88b04b733165cc151083b26379f1fe4b9501
http://bugs.winehq.org/show_bug.cgi?id=58264
--- Comment #1 from ToastyBug cemer99797@isorax.com --- Created attachment 78606 --> http://bugs.winehq.org/attachment.cgi?id=78606 macOS Terminal log, wine-devel 10.8 running GPU-Z.2.65.1.exe
tested with GPU-Z 2.65.1 (GPU-Z.2.65.1.exe) download page: https://www.techpowerup.com/download/techpowerup-gpu-z/ sha256: 68e44d19f0f33a08174f7a3d25e32b7cb5b639a61d6cdec498d9c5814a026d61
last lines of log:
[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: vkCreateBuffer(): Only external memory handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLBUFFER_BIT_EXT and VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLHEAP_BIT_EXT are supported. 023c:err:d3d:wined3d_context_vk_create_bo Failed to create Vulkan buffer, vr VK_ERROR_FEATURE_NOT_PRESENT. 023c:err:d3d:wined3d_context_vk_create_slab_bo Failed to create slab bo. [mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: vkCreateBuffer(): Only external memory handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLBUFFER_BIT_EXT and VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLHEAP_BIT_EXT are supported. 023c:err:d3d:wined3d_context_vk_create_bo Failed to create Vulkan buffer, vr VK_ERROR_FEATURE_NOT_PRESENT. 023c:err:msvcrt:_wassert (L"!status && "vkCreateImageView"",L"/Users/gcenx/Documents/GitHub/wine-private/dlls/winevulkan/loader_thunks.c",3221)
http://bugs.winehq.org/show_bug.cgi?id=58264
--- Comment #2 from ToastyBug cemer99797@isorax.com --- Created attachment 78607 --> http://bugs.winehq.org/attachment.cgi?id=78607 macOS Terminal log, wine-devel 10.8 running System Shock game
This is a log of the GOG version of System Shock: Enhanced Edition, which also used to work with Wine-devel 10.6
Note: the installer for the game still works fine, but launching the actual game exectuable (sekhmet_x64.exe) after installation no longer works
System Shock: Enhanced Edition v1.2.16 GOG game page: https://www.gog.com/en/game/system_shock_enhanced_edition installer sha256: 8a88f885ff77bfde136cd8f476e1cc50ed7d9134ca6efc74264060ef6a7dcb4d
http://bugs.winehq.org/show_bug.cgi?id=58264
ToastyBug cemer99797@isorax.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, regression
http://bugs.winehq.org/show_bug.cgi?id=58264
ToastyBug cemer99797@isorax.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|regression in multiple apps |regression in multiple apps |in Wine >=10.7, error: |in Wine >=10.7, error: |"Assertion failed: !status |"Assertion failed: !status |&& "vkAllocateMemory", file |&& "vkAllocateMemory", file |/Users/gcenx/Documents/GitH |/Users/gcenx/Documents/GitH |ub/wine-private/dlls/winevu |ub/wine-private/dlls/winevu |lkan/loader_thunks.c, line |lkan/loader_thunks.c, line |93" |93" (macOS)
http://bugs.winehq.org/show_bug.cgi?id=58264
ToastyBug cemer99797@isorax.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |57988
http://bugs.winehq.org/show_bug.cgi?id=58264
ToastyBug cemer99797@isorax.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |57975
http://bugs.winehq.org/show_bug.cgi?id=58264
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEEDINFO
--- Comment #3 from Ken Sharp imwellcushtymelike@gmail.com --- Try again with the official Wine builds, NOT Gcenx.
http://bugs.winehq.org/show_bug.cgi?id=58264
osu_Vanilla@126.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |osu_Vanilla@126.com
--- Comment #4 from osu_Vanilla@126.com --- (In reply to Ken Sharp from comment #3)
Try again with the official Wine builds, NOT Gcenx.
Is the official Wine build not Gcenx?? https://gitlab.winehq.org/wine/wine/-/wikis/MacOS
The `brew install --cask` wine-stable / wine@devel wine@staging points to Gcenx/macOS_Wine_builds. The repo is also described as official.
http://bugs.winehq.org/show_bug.cgi?id=58264
--- Comment #5 from ToastyBug cemer99797@isorax.com --- Created attachment 78839 --> http://bugs.winehq.org/attachment.cgi?id=78839 Error window (Wine-devel 10.10) for System Shock
Yes, the official builds are the Gcenx builds, Dean Greer (Gcenx) is the maintainer
With Wine-devel 10.10, the regression with CPU-Z is resolved, but there are still regressions with GPU-Z and System Shock: Enhanced Edition
http://bugs.winehq.org/show_bug.cgi?id=58264
--- Comment #6 from ToastyBug cemer99797@isorax.com --- Created attachment 78840 --> http://bugs.winehq.org/attachment.cgi?id=78840 macOS Terminal log, wine-devel 10.10 running System Shock game
With Wine-devel 10.10, System Shock: Enhanced Edition launches a black fullscreen window, which then minimizes itself to the macOS dock after <1 second, and then the Error window pop-up appears (see the previous attachment) (note: clicking "Cancel" just crashes Wine, there is no debugger started)
Last lines of the macOS Terminal log:
[mvk-info] Created 3 swapchain images with size (1440, 900) and contents scale 1.0 in layer CAMetalLayer: WineMetalView (0x20059ea30) on screen Main Screen. -[MTLHeapDescriptorInternal validateWithDevice:]:327: failed assertion `Heap Descriptor Validation Placement heap type is not supported. ' 0204:err:msvcrt:_wassert (L"!status && "vkAllocateMemory"",L"/Users/gcenx/Documents/GitHub/wine-private/dlls/winevulkan/loader_thunks.c",93)>
http://bugs.winehq.org/show_bug.cgi?id=58264
--- Comment #7 from ToastyBug cemer99797@isorax.com --- Created attachment 78841 --> http://bugs.winehq.org/attachment.cgi?id=78841 macOS Terminal log, wine-devel 10.10 running GPU-Z.2.65.1.exe
There is also still the error when running GPU-Z (tested with GPU-Z 2.65.1), the app launches with the "Install GPU-Z?" intro window, but after selecting "Not Now" the GPU-Z splash screen shows up for about 1 second before the app crashes.
Last lines of macOS Terminal log:
[mvk-info] Created 3 swapchain images with size (113, 2) and contents scale 1.0 in layer CAMetalLayer: WineMetalView (0x20a535a80) on screen Main Screen. [mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: vkCreateBuffer(): Only external memory handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLBUFFER_BIT_EXT and VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLHEAP_BIT_EXT are supported. 01bc:err:d3d:wined3d_context_vk_create_bo Failed to create Vulkan buffer, vr VK_ERROR_FEATURE_NOT_PRESENT. 01bc:err:d3d:wined3d_context_vk_create_slab_bo Failed to create slab bo. [mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: vkCreateBuffer(): Only external memory handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLBUFFER_BIT_EXT and VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLHEAP_BIT_EXT are supported. 01bc:err:d3d:wined3d_context_vk_create_bo Failed to create Vulkan buffer, vr VK_ERROR_FEATURE_NOT_PRESENT. 01bc:err:msvcrt:_wassert (L"!status && "vkCreateImageView"",L"/Users/gcenx/Documents/GitHub/wine-private/dlls/winevulkan/loader_thunks.c",3242)
http://bugs.winehq.org/show_bug.cgi?id=58264
--- Comment #8 from ToastyBug cemer99797@isorax.com --- I believe this may have someting to do with WineHQ/Gcenx official builds including MoltenVK 1.3.0 since Wine-devel 10.7 (where these errors first started). My system is running macOS 11 with a 4th-gen (Haswell) Intel CPU and iGPU, which I believe only supports up to Vulkan 1.2, while MoltenVK 1.3.0 now adds support for Vulkan 1.3 (https://github.com/KhronosGroup/MoltenVK/releases/tag/v1.3.0)
http://bugs.winehq.org/show_bug.cgi?id=58264
--- Comment #9 from ToastyBug cemer99797@isorax.com --- Update for Wine-devel 10.12:
GPU-Z and System Shock are still affected in the same way as in Wine-devel 10.10, but now the last lines of the Terminal log for System Shocks reads:
-[MTLHeapDescriptorInternal validateWithDevice:]:327: failed assertion `Heap Descriptor Validation Placement heap type is not supported. ' 0588:err:msvcrt:_wassert (L"!status && "vkAllocateMemory"",L"/Users/gcenx/Documents/GitHub/wine-private/dlls/winevulkan/loader_thunks.c",93)
for GPU-Z the Terminal log has the same last lines as in Wine-devel 10.10
BigPEmu (Atari Jaguar emulator) in D3D12 mode is also affected (also since Wine-devel 10.7) with a crash immediately on startup (last lines of macOS Terminal log):
-[MTLHeapDescriptorInternal validateWithDevice:]:327: failed assertion `Heap Descriptor Validation Placement heap type is not supported. ' 052c:err:msvcrt:_wassert (L"!status && "vkAllocateMemory"",L"/Users/gcenx/Documents/GitHub/wine-private/dlls/winevulkan/loader_thunks.c",93) Assertion failed: !status && "vkAllocateMemory", file /Users/gcenx/Documents/GitHub/wine-private/dlls/winevulkan/loader_thunks.c, line 93
to run BigPEmu in D3D12 mode:
cd ~/Downloads/BigPEmu_v119 wine BigPEmu.exe * -localdata -logging -setcfgprop VideoPlugin BigPEmu_Video_D3D12
BigPEmu 1.19 for Windows x64 download: https://www.richwhitehouse.com/jaguar/builds/BigPEmu_v119.zip sha256: 75cdf28036075d8b696d1331e72b455f5a078d83a7b141b32282b9e29e8629f4
http://bugs.winehq.org/show_bug.cgi?id=58264
--- Comment #10 from ToastyBug cemer99797@isorax.com --- update for Wine-devel 10.14 (I haven't tested with 10.13)
## FIXED: * CPU-Z 2.15 (portable) (cpuz_x64.exe) (tested fixed with Wine 10.10) - works and no longer shows vkAllocateMemory errors in macOS Terminal * GPU-Z 2.65.1 (GPU-Z.2.65.1.exe) (tested fixed with Wine 10.14) - works but now shows two vkAllocateMemory errors in macOS Terminal and two of the following errors:
VK_ERROR_FEATURE_NOT_PRESENT: Metal does not support buffer robustness.
## STILL BROKEN: * System Shock: Enhanced Edition v1.2.16 (sekhmet_x64.exe) * BigPEmu 1.19 for Windows x64 running in D3D12 mode
http://bugs.winehq.org/show_bug.cgi?id=58264
--- Comment #11 from ToastyBug cemer99797@isorax.com --- update: I bisected the fix for GPU-Z 2.65.1 (GPU-Z.2.65.1.exe) and it was fixed in Wine-devel 10.13
using the official WineHQ/Gcenx binary from Homebrew/GitHub: https://gitlab.winehq.org/wine/wine/-/wikis/MacOS https://formulae.brew.sh/cask/wine@devel https://github.com/Gcenx/macOS_Wine_builds/releases/download/10.13/wine-deve...
http://bugs.winehq.org/show_bug.cgi?id=58264
--- Comment #12 from ToastyBug cemer99797@isorax.com --- Sometimes, running BigPEmu in D3D12 mode from the command line argument doesn't work (it launches in the default OpenGL mode)
to get around that, launch BigPEmu once to create the config file: % cd ~/Downloads/BigPEmu_v119 % wine BigPEmu.exe * -localdata -logging
and then open BigPEmu_v119/UserData/BigPEmuConfig.bigpcfg and change
"VideoPlugin": "BigPEmu_Video_OpenGL",
to
"VideoPlugin": "BigPEmu_Video_D3D12",
and relaunch: % wine BigPEmu.exe * -localdata -logging