[Bug 60111] New: plants vs zombies fusion minimize and unminimize window freeze but music works
http://bugs.winehq.org/show_bug.cgi?id=60111 Bug ID: 60111 Summary: plants vs zombies fusion minimize and unminimize window freeze but music works Product: Wine Version: 11.13 Hardware: x86-64 URL: https://github.com/Teyliu/PVZF-Translation/releases/ta g/3.8.1_beta OS: Linux Status: UNCONFIRMED Keywords: download, regression Severity: normal Priority: P2 Component: d3d Assignee: wine-bugs@list.winehq.org Reporter: alanas.00@mail.ru Target Milestone: --- Regression SHA1: d533fbd39961c02e2ce173225557e06af1e69f25 Distribution: SUSE Created attachment 81670 --> http://bugs.winehq.org/attachment.cgi?id=81670 gdb backtrace after unminimize (stuck inside WaitForMultipleObjectsEx) 1. download https://github.com/Teyliu/PVZF-Translation/releases/download/3.8.1_beta/PvZ.... $ openssl dgst -sha3-512 PvZ.Fusion.3.8.1.Multi-lang.Beta.by.Blooms.zip SHA3-512(PvZ.Fusion.3.8.1.Multi-lang.Beta.by.Blooms.zip)= 5a22cedd83f2ea6d52b02bb1f4324280105fa1bb79ff504e4891032c7340012683dfec0ef40a3e0b0caddaa08a72a06cfd63feb335030b53333222eef8d4a2c6 2. create /tmp/pfx and /tmp/pvzfusion folders 3. extract PvZ.Fusion.3.8.1.Multi-lang.Beta.by.Blooms.zip to /tmp/pvzfusion 4. run WINEPREFIX=/tmp/pfx wine 'z:\tmp\pvzfusion\Game Files\PlantsVsZombiesRH.exe' -no-mods 5. minimize PlantsVsZombiesRH window 6. unminimize PlantsVsZombiesRH window -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60111 --- Comment #1 from alanas.00@mail.ru --- opensuse tumbleweed linux 7.1.4-1-default xorg 1.21.1.24 nvidia driver 610.43.02 wine https://gitlab.winehq.org/wine/wine/-/commit/4dbf7bef7a0d7c870b3934ebedb82de... (but https://gitlab.winehq.org/wine/wine/-/commit/d533fbd39961c02e2ce173225557e06... is the oldest broken version) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60111 --- Comment #2 from Ken Sharp <imwellcushtymelike@gmail.com> --- I can confirm the bug exists, but it exists before that commit. Do you have the rights to redistribute an EA game? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60111 --- Comment #3 from alanas.00@mail.ru --- (In reply to Ken Sharp from comment #2)
I can confirm the bug exists, but it exists before that commit.
Which commit older than d533fbd39961c02e2ce173225557e06af1e69f25 has freeze?
Do you have the rights to redistribute an EA game?
I don't know but plants vs zombies fusion is not made by EA: https://github.com/Teyliu/PVZF-Translation/tree/3.8.1_beta#credits -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60111 --- Comment #4 from alanas.00@mail.ru --- updated wine to https://gitlab.winehq.org/wine/wine/-/commit/f3d2cbcff79ac0dc0e212d90484755a... nvidia driver to 610.57.04 linux kernel to 7.1.7-1-default still freeze after unminimize I added "force-gfx-direct=1" to pvzfusion/Game Files/PlantsVsZombiesRH_Data/boot.config in regedit in HKEY_CURRENT_USER\Software\Wine\Direct3D I created csmt REG_DWORD 0x00000000 (0) now when start PlantsVsZombiesRH.exe -no-mods it is a little broken (black instead of endoflame at start before unity logo, when click middle pot if shows black screen with button) but debugging is easier there are less threads and freeze after unminimize still happens this is what is going on: ReleaseSemaphore means add points to semaphore Wait for semaphore means waiting for at least 1 point and remove 1 point from semaphore https://gitlab.winehq.org/wine/wine/-/blob/f3d2cbcff79ac0dc0e212d90484755a93... does CreateSemaphoreW with 1 point in new semaphore, CreateSemaphoreW returns 0x788 https://gitlab.winehq.org/wine/wine/-/blob/f3d2cbcff79ac0dc0e212d90484755a93... does DuplicateHandle with 0x788, DuplicateHandle returns (not really returns, instead writes to memory) 0x78c now 0x788 and 0x78c refer to same semaphore https://gitlab.winehq.org/wine/wine/-/blob/f3d2cbcff79ac0dc0e212d90484755a93... using ReleaseSemaphore, adds 1 point to the semaphore (uses 0x788 to refer to it) now the semaphore has 2 points this happens repeatedly while game is running:{ UnityPlayer.dll calls WaitForMultipleObjectsEx(2,[0x78c,0x790],0,0xffffffff,1), WaitForMultipleObjectsEx returns 0x78c now the semaphore has 1 point UnityPlayer.dll calls d3d11_swapchain_Present https://gitlab.winehq.org/wine/wine/-/blob/f3d2cbcff79ac0dc0e212d90484755a93... using ReleaseSemaphore, adds 1 point to the semaphore (uses 0x788 to refer to it) the d3d11_swapchain_Present call returns 0 now the semaphore has 2 points } I minimize window and this happens: UnityPlayer.dll calls WaitForMultipleObjectsEx(2,[0x78c,0x790],0,0xffffffff,1), WaitForMultipleObjectsEx returns 0x78c now the semaphore has 1 point UnityPlayer.dll calls d3d11_swapchain_Present, it returns DXGI_STATUS_OCCLUDED now the semaphore has 1 point (no points added inside d3d11_swapchain_Present this time) UnityPlayer.dll calls WaitForMultipleObjectsEx(2,[0x78c,0x790],0,0xffffffff,1), WaitForMultipleObjectsEx returns 0x78c now the semaphore has 0 points UnityPlayer.dll calls d3d11_swapchain_Present, it returns DXGI_STATUS_OCCLUDED now the semaphore has 0 points (no points added inside d3d11_swapchain_Present again) UnityPlayer.dll calls WaitForMultipleObjectsEx(2,[0x78c,0x790],0,0xffffffff,1), WaitForMultipleObjectsEx is waiting for at least 1 point in the semaphore forever, nothing will add points to the semaphore -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60111 Stian Low <wineryyyyy@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wineryyyyy@gmail.com --- Comment #5 from Stian Low <wineryyyyy@gmail.com> --- Created attachment 81801 --> http://bugs.winehq.org/attachment.cgi?id=81801 Screenshot renderer=vulkan too dark fixed via `winecfg /v win8` and MR-10567 for default win10 This seems yet another UnityPlayer.dll quirk. `winecfg /v win8` works around blackscreen hang after hide/minimize unhide/restore. MR-10567 does not fix blackscreen hang for win10 despite fixing renderer=vulkan darker. MR-11398 also does not fix for win10 despite the signature log that typically indicates it may apply: - 0024:fixme:dxgi:DXGID3D10CreateDevice Ignoring flags 0x820 I've seen this bug happen for other games recently and thought it was a regression. I'll collect those games from notes to determine if they are caused by the same bug and if its a regression. Non-Unity games may be bugged as well if I'm remembering correctly. Blackscreen hang seemed to be triggered by Alt+Tab vs hide/unhide which seems to be the only way it is triggered for this game vs the others. Screen is not entirely black because there is a thin seemingly white 1 pixel high strip across the top left corner some ~200-300 pixels in length which is consistent with the other games bugged similarly. Bug caused not responding state for window that requires force close for all cases. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60111 --- Comment #6 from alanas.00@mail.ru --- (In reply to Stian Low from comment #5)
`winecfg /v win8` works around blackscreen hang after hide/minimize unhide/restore.
it works! in csmt REG_DWORD 0x00000000 (0) + force-gfx-direct=1 case https://gitlab.winehq.org/wine/wine/-/blob/f3d2cbcff79ac0dc0e212d90484755a93... DuplicateHandle never happens, also endoflame at start shows correctly but still when click middle pot it shows black screen with button -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60111 --- Comment #7 from Stian Low <wineryyyyy@gmail.com> --- Created attachment 81807 --> http://bugs.winehq.org/attachment.cgi?id=81807 Screenshot GNU Emacs 30.2 Windows version with blackscreen hang with white strip across top left for init (but eventually responds as expected) (In reply to alanas.00 from comment #6)
it works!
Thanks for testing. Glad there's workaround in the meantime while MR-11404 is still in process which may resolve DuplicateHandle via GetSharedHandle support. win8 forces UnityPlayer.dll to fallback to more legacy rendering methods which skips GetSharedHandle. GNU Emacs 30.2 reproduces blackscreen hang with thin white strip across the top left corner for init but eventually responds so it seems ubiquitous across apps and seems to be caused by deeper libs/modules outside just d3d but whatever prevents games from ever responding may be d3d related/specific. I'll keep testing to track the bug. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla