https://bugs.winehq.org/show_bug.cgi?id=51999
Bug ID: 51999 Summary: Dragon Age Inquisition crashes with vulkan renderer Product: Wine Version: 6.21 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: berillions@gmail.com Distribution: ---
Created attachment 70992 --> https://bugs.winehq.org/attachment.cgi?id=70992 +d3d,+d3d_shader,+d3d11 log for wined3d vulkan renderer
Hello,
The game crashes at launch with wined3d vulkan renderer when the Bioware intro video is played before to go to the main menu. No issue if i use DXVK instead of.
I build vkd3d-git up-to-date + wine 6.21 + only one patch which allow to download a game with EA Origin.
I attach the +d3d,+d3d_shader,+d3d11 log
https://bugs.winehq.org/show_bug.cgi?id=51999
Berillions berillions@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=51999
--- Comment #1 from Zebediah Figura z.figura12@gmail.com --- What are the exact symptoms of the crash? Is it a hang, or the game silently exits, or is there a crash dialog?
The log has this:
08cc:trace:d3d:wined3d_swapchain_state_setup_fullscreen Setting up window 0x30246 for fullscreen mode. 08cc:trace:d3d:wined3d_swapchain_state_setup_fullscreen Old style was 14cf0000, 00000100, setting to 940b0000, 00000000. 0814:err:sync:RtlpWaitForCriticalSection section 00007F1BDA4722C0 "../dlls/wined3d/wined3d_main.c: wined3d_cs" wait timed out in thread 0814, blocked by 08cc, retrying (60 sec)
which looks like a user32 deadlock. Could you please attach a new log with WINEDEBUG=+seh,+d3d,+d3d11,+dxgi,+win,+msg,+message?
https://bugs.winehq.org/show_bug.cgi?id=51999
--- Comment #2 from Berillions berillions@gmail.com --- Created attachment 70993 --> https://bugs.winehq.org/attachment.cgi?id=70993 +seh,+d3d,+d3d11,+dxgi,+win,+msg,+message log
(In reply to Zebediah Figura from comment #1)
What are the exact symptoms of the crash? Is it a hang, or the game silently exits, or is there a crash dialog?
When you launch the game from Origin, there is an intro video which present the dev team (Bioware), a loading bafore to go in the main game menu. - With vulkan renderer, wine crashes when this video must be launched. I have a black screen and after 30-45 seconds, i have a Gnome 3 popup "Dragon Age Inquisition is not responding" with 2 options, "Force to quit" or "wait". - With opengl renderer : same thing - With DXVK, i can watch the intro video and after i'm correctly in the main menu.
You must to see that (currently Wine +DXVK) : https://www.youtube.com/watch?v=KA7RKoChsJo
The log has this:
08cc:trace:d3d:wined3d_swapchain_state_setup_fullscreen Setting up window 0x30246 for fullscreen mode. 08cc:trace:d3d:wined3d_swapchain_state_setup_fullscreen Old style was 14cf0000, 00000100, setting to 940b0000, 00000000. 0814:err:sync:RtlpWaitForCriticalSection section 00007F1BDA4722C0 "../dlls/wined3d/wined3d_main.c: wined3d_cs" wait timed out in thread 0814, blocked by 08cc, retrying (60 sec)
which looks like a user32 deadlock. Could you please attach a new log with WINEDEBUG=+seh,+d3d,+d3d11,+dxgi,+win,+msg,+message?
New log attached :-)
https://bugs.winehq.org/show_bug.cgi?id=51999
--- Comment #3 from Zebediah Figura z.figura12@gmail.com --- Thanks. It looks like thread 0810 calls d3d11_swapchain_SetFullscreenState() on a swapchain whose device window was created by 07b0. While processing some other boring message related to window motion, 07b0 calls d3d11_swapchain_GetDesc(), and this deadlocks waiting for the wined3d mutex.
I don't think we need to protect the swapchain desc with a mutex, do we? I'll prepare a patch.
https://bugs.winehq.org/show_bug.cgi?id=51999
--- Comment #4 from Henri Verbeet hverbeet@gmail.com --- (In reply to Zebediah Figura from comment #3)
I don't think we need to protect the swapchain desc with a mutex, do we? I'll prepare a patch.
It doesn't necessarily need to be wined3d_mutex_lock()/wined3d_mutex_unlock(), but the assignment to "*desc" in wined3d_swapchain_get_desc() is not atomic.
In this particular case, wined3d_swapchain_state_set_fullscreen() potentially modifies the "output" and "windowed" fields.
https://bugs.winehq.org/show_bug.cgi?id=51999
--- Comment #5 from Maxime berillions@gmail.com --- New try early 5 months later. The game still crashes with Vulkan renderer. I use vkd3d-git build as PE.
When the game crashes, i have these lines in the output console :
----- 0990:fixme:d3d:vk_buffer_usage_from_bind_flags Ignoring some bind flags 0x29. 0990:fixme:d3d:wined3d_render_target_view_vk_cs_init Buffer views not implemented. 0990:fixme:d3d:vk_buffer_usage_from_bind_flags Ignoring some bind flags 0x29. 0990:fixme:d3d:wined3d_render_target_view_vk_cs_init Buffer views not implemented. 0990:fixme:d3d:vk_buffer_usage_from_bind_flags Ignoring some bind flags 0x29. 0990:fixme:d3d:wined3d_render_target_view_vk_cs_init Buffer views not implemented. 0990:fixme:d3d:vk_buffer_usage_from_bind_flags Ignoring some bind flags 0x29. 0990:fixme:d3d:wined3d_render_target_view_vk_cs_init Buffer views not implemented. 0990:fixme:d3d:vk_buffer_usage_from_bind_flags Ignoring some bind flags 0x29. 0990:fixme:d3d:wined3d_render_target_view_vk_cs_init Buffer views not implemented. 00e8:fixme:netprofm:list_manager_GetConnectivity 000000000018F4E0, 000000000236FC2C 09a0:fixme:d3d:wined3d_device_context_clear_rendertarget_view Not implemented for WINED3D_RTYPE_BUFFER resources. 09a0:err:d3d11:d3d11_device_context_ClearRenderTargetView Failed to clear view, hr 0x8876086c. 09a0:fixme:d3d:wined3d_buffer_vk_prepare_location Unhandled location 0. 09a0:err:d3d:wined3d_buffer_invalidate_range Buffer 00007FC842735050 does not have any up to date location. wine: Unhandled page fault on read access to 0000000000000098 at address 00007FC8E1BE6369 (thread 09a0), starting debugger... -----
https://bugs.winehq.org/show_bug.cgi?id=51999
--- Comment #6 from Maxime berillions@gmail.com --- Tried with wine-8.12-167-g2238658e2f8. The game still crashes with new errors messages in the output console
##### [...] 082c:fixme:d3d:wined3d_device_context_clear_rendertarget_view Not implemented for WINED3D_RTYPE_BUFFER resources. 082c:err:d3d11:d3d11_device_context_ClearRenderTargetView Failed to clear view, hr 0x8876086c. 08ac:fixme:d3d:wined3d_rendertarget_view_prepare_location Not implemented for resources WINED3D_RTYPE_BUFFER. 08ac:err:d3d:wined3d_buffer_load_location Buffer 00007F8C60C07290 does not have any up to date location. 08ac:err:d3d:wined3d_texture_vk_prepare_texture Invalid resource type WINED3D_RTYPE_BUFFER. 08ac:err:d3d:vk_image_view_type_from_wined3d Unhandled resource type WINED3D_RTYPE_BUFFER. 08ac:fixme:d3d:wined3d_rendertarget_view_validate_location Not implemented for resources WINED3D_RTYPE_BUFFER. 08ac:err:d3d:wined3d_buffer_invalidate_range Buffer 00007F8C60C07710 does not have any up to date location. [...] ####
https://bugs.winehq.org/show_bug.cgi?id=51999
Maxime berillions@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #70992|0 |1 is obsolete| | Attachment #70993|0 |1 is obsolete| |
--- Comment #7 from Maxime berillions@gmail.com --- Created attachment 75736 --> https://bugs.winehq.org/attachment.cgi?id=75736 +d3d,+dxgi,+d3d11 output console
Output console with wine-9.0-rc2 + vkd3d-git