https://bugs.winehq.org/show_bug.cgi?id=52640
Bug ID: 52640 Summary: Steam does not display anything when using the Vulkan renderer (stack overflow from official Vulkan loader calling into dxgi) Product: Wine Version: 7.3 Hardware: x86-64 OS: Linux Status: NEW Keywords: regression Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: z.figura12@gmail.com Regression SHA1: 24432a24d5e922cbd824b0af8f7b0c66ff2b66e8 Distribution: ---
steamwebhelper.exe constantly crashes due to a stack overflow:
05bc:err:winediag:wined3d_dll_init Using the Vulkan renderer. 05bc:fixme:heap:RtlSetHeapInformation 0000000000000000 1 0000000000000000 0 stub 05bc:err:virtual:virtual_setup_exception stack overflow 2000 bytes in thread 05bc addr 0x1700304f0 stack 0x20830 (0x20000-0x21000-0x120000)
The problem is that CEF ships the Vulkan loader (vulkan-1.dll), and during the process of initializing Vulkan [wined3d_init_vulkan()], the loader calls CreateDXGIFactory1(), which triggers Wine to initialize itself and subsequently initialize Vulkan, leading to infinite recursion.
Fundamentally USE_WIN32_VULKAN can't work with the official (?) Vulkan loader, and so any attempt to use the Vulkan renderer on Windows would fail as well...
https://bugs.winehq.org/show_bug.cgi?id=52640
--- Comment #1 from Zebediah Figura z.figura12@gmail.com --- (In reply to Zebediah Figura from comment #0)
Fundamentally USE_WIN32_VULKAN can't work with the official (?) Vulkan loader, and so any attempt to use the Vulkan renderer on Windows would fail as well...
Apparently it works on Windows because the Vulkan loader explicitly loads dxgi.dll from system32, to account for translation layers.
https://bugs.winehq.org/show_bug.cgi?id=52640
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hverbeet@gmail.com, | |julliard@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=52640
Jacek Caban jacek@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jacek@codeweavers.com
--- Comment #2 from Jacek Caban jacek@codeweavers.com --- wined3d could just use winevulkan.dll directly instead of going through the loader (and probably fallback to vulkan-1.dll to preserve the ability to work on Windows).
https://bugs.winehq.org/show_bug.cgi?id=52640
Zeb Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |93217a4ad272f61162f25b71e1d | |ecf588796aef1
--- Comment #3 from Zeb Figura z.figura12@gmail.com --- This was fixed by https://source.winehq.org/git/wine.git/commitdiff/93217a4ad272f61162f25b71e1decf588796aef1.
https://bugs.winehq.org/show_bug.cgi?id=52640
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 7.7.