https://bugs.winehq.org/show_bug.cgi?id=43367
Bug ID: 43367 Summary: Fruit of Grisaia crashes after meeting Yumiko Product: Wine Version: 2.12 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: xanthsjunk@gmail.com Distribution: ---
Created attachment 58731 --> https://bugs.winehq.org/attachment.cgi?id=58731 Backtrace
The Fruit of Grisaia (steam release) crashes after meeting Yumi. The screen turns white and then black. Then the program crashes entirely.
https://bugs.winehq.org/show_bug.cgi?id=43367
Xanth xanthsjunk@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Fruit of Grisaia crashes |Fruit of Grisaia crashes |after meeting Yumiko |after meeting Yumi
https://bugs.winehq.org/show_bug.cgi?id=43367
fjfrackiewicz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fjfrackiewicz@gmail.com
--- Comment #1 from fjfrackiewicz@gmail.com --- (In reply to Xanth from comment #0)
Created attachment 58731 [details] Backtrace
The Fruit of Grisaia (steam release) crashes after meeting Yumi. The screen turns white and then black. Then the program crashes entirely.
Does disabling winegstreamer in Wine's confifuration utility work around the problem?
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #2 from Xanth xanthsjunk@gmail.com --- I managed to fix the issue by turning on "movie skip" in the game settings. The game works now.
https://bugs.winehq.org/show_bug.cgi?id=43367
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
https://bugs.winehq.org/show_bug.cgi?id=43367
sahelanthropus 3dw_50ssu16amyn7@byom.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |3dw_50ssu16amyn7@byom.de
--- Comment #3 from sahelanthropus 3dw_50ssu16amyn7@byom.de --- Created attachment 64099 --> https://bugs.winehq.org/attachment.cgi?id=64099 end of console log after crash after playing intro video
It crashes because it's missing a MPEG-1 decoder to view the following intro movie: https://www.youtube.com/watch?v=r4hkZ-uSwP8 Even with every gstreamer plugin installed it crashes.
Installing LAVFilters (https://github.com/Nevcairiel/LAVFilters/releases) in the wine prefix semi works:
Now videos play, but without sound and after the video is finished it freezes with the attached lines of console log.
system: Ubuntu 18.04 wine-staging4.5
https://bugs.winehq.org/show_bug.cgi?id=43367
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com Component|-unknown |quartz
--- Comment #4 from Zebediah Figura z.figura12@gmail.com --- Can you please attach a log with +quartz,+strmbase,+gstreamer,+seh?
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #5 from sahelanthropus 3dw_50ssu16amyn7@byom.de --- Created attachment 64110 --> https://bugs.winehq.org/attachment.cgi?id=64110 intro video freeze with LAVfilters with +quartz,+strmbase,+gstreamer,+seh
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #6 from sahelanthropus 3dw_50ssu16amyn7@byom.de --- Created attachment 64111 --> https://bugs.winehq.org/attachment.cgi?id=64111 intro video crash missing mpeg-1 with +quartz,+strmbase,+gstreamer,+seh
attached "intro video freeze with LAVfilters with +quartz,+strmbase,+gstreamer,+seh" attached "intro video crash missing mpeg-1 with +quartz,+strmbase,+gstreamer,+seh"
Seems similar to bug #9127
After the video is played with LAVfilters installed, it freezes.
Selecting the "movie skip" option ingame w/ or w/o LAVfiters installed works skips the video fine and doesn't freeze.
https://bugs.winehq.org/show_bug.cgi?id=43367
pattietreutel katyaberezyaka@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |katyaberezyaka@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #7 from Zebediah Figura z.figura12@gmail.com --- gstreamer should supply libmpg123 plugin in the "good" set for audio/mpeg. Are you sure you have 32-bit "good" plugins installed?
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #8 from sahelanthropus 3dw_50ssu16amyn7@byom.de --- Created attachment 64124 --> https://bugs.winehq.org/attachment.cgi?id=64124 gst-inspect-1.0 | grep mpg
gstreamer1.0-plugins-good:i386 and libmpg123-0 are already installed
I attached the output of "gst-inspect-1.0 | grep mpg"
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #9 from Fabian Maurer dark.shadow4@web.de --- Do you have BOTH 64bit libmpg123-0 AND 32bit libmpg123-0 ?
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #10 from sahelanthropus 3dw_50ssu16amyn7@byom.de --- Yes, both are installed with version 1.25.10-1
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #11 from Zebediah Figura z.figura12@gmail.com --- Can you please attach a log with "GST_DEBUG=6"?
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #12 from sahelanthropus 3dw_50ssu16amyn7@byom.de --- Created attachment 64129 --> https://bugs.winehq.org/attachment.cgi?id=64129 intro video crash missing mpeg-1 with GST_DEBUG=6 xz'd
Sure, even though I don't get whats wrong from the log
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #13 from sahelanthropus 3dw_50ssu16amyn7@byom.de --- Playing an MPEG-1 mediafile on Ubuntu works fine but not through Wine
This issue seems to affect all games using the same engine, CatSystem 2
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #14 from Zebediah Figura z.figura12@gmail.com --- I'm very confused about several things that are showing up in the log, but the freeze is probably pretty clear:
0040:trace:quartz:VideoWindow_NotifyOwnerMessage (0x52f54e0/0x52f54f8)->(0001008c, 256, 0000000d, 001c0001)
[later]
0036:trace:strmbase:BaseControlWindowImpl_put_Visible (0x6b3e548/0x6b3e570)->(0) 0040:err:ntdll:RtlpWaitForCriticalSection section 0x52f5594 "/home/ubuntu/buildbot/runners/wine/wine-src/dlls/quartz/filtergraph.c: IFilterGraphImpl.cs" wait timed out in thread 0040, blocked by 0036, retrying (60 sec)
Control window message processing doesn't work the way it's supposed to. I have patches that address this.
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #15 from sahelanthropus 3dw_50ssu16amyn7@byom.de --- This is still an issue with 4.13
(In reply to Zebediah Figura from comment #14)
Control window message processing doesn't work the way it's supposed to. I have patches that address this.
Any update on those patches?
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #16 from Zebediah Figura z.figura12@gmail.com --- Created attachment 65040 --> https://bugs.winehq.org/attachment.cgi?id=65040 various patches
Apologies for the slowness, I have a lot of quartz work to upstream.
I'm attaching a series of patches from my local tree which mostly comprises the relevant work. It should probably apply against latest master, but I haven't checked. I plan to upstream these soon, but it'll take some times regardless, and some of the patches need cleaning up.
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #17 from Zebediah Figura z.figura12@gmail.com --- This is probably improved by https://source.winehq.org/git/wine.git/commitdiff/54da011d2c070afcf3e8effca856ca3a84f553d8; please retest with current git or with 5.0-rc1 when it is released next week.
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #18 from sahelanthropus 3dw_50ssu16amyn7@byom.de --- Created attachment 65985 --> https://bugs.winehq.org/attachment.cgi?id=65985 wine 5.0-rc1 video with +quartz,+strmbase,+gstreamer,+seh
Ok, now the video plays, audio is normal but the screen is black. After the video the game continues normally.
Side notes: - There's a demo available (direct link from Frontwing website) http://suezou.dyndns.org/dl2010/frontwing/gurizaia/Grisaia_trial_web.zip - gstreamer1.0-plugins-bad:i386 required on Ubuntu for the videos
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #19 from Zebediah Figura z.figura12@gmail.com ---
From the log:
003a:err:gstreamer:unknown_type Could not find a filter for caps: "video/mpeg, mpegversion=(int)1, systemstream=(boolean)false, parsed=(boolean)true, width=(int)1024, height=(int)576, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, codec_data=(buffer)000001b340024015fffffffa10585858585858585858585858585858585858585858585858585858585858585858585"...
You'll also need the (presumably 32-bit) "ugly" plugins, for mpeg2dec.
https://bugs.winehq.org/show_bug.cgi?id=43367
sahelanthropus 3dw_50ssu16amyn7@byom.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #65985|0 |1 is obsolete| |
--- Comment #20 from sahelanthropus 3dw_50ssu16amyn7@byom.de --- Created attachment 65986 --> https://bugs.winehq.org/attachment.cgi?id=65986 new wine 5.0-rc1 video with +quartz,+strmbase,+gstreamer,+seh
Indeed, missed that.
Now the video plays after a short period of white screen, but the audio stutters continuously and after that the "RtlpWaitForCriticalSection" problem returns with a black screen
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #21 from Zebediah Figura z.figura12@gmail.com --- Can you please attach a whole log with WINEDEBUG=+quartz,+strmbase,+gstreamer,+seh? Note that your previous log didn't seem to actually include those channels.
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #22 from sahelanthropus 3dw_50ssu16amyn7@byom.de --- Attachment 65986 should contain those channels, WINEDEBUG was set correctly.
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #23 from Zebediah Figura z.figura12@gmail.com --- (In reply to sahelanthropus from comment #22)
Attachment 65986 [details] should contain those channels, WINEDEBUG was set correctly.
Unfortunately that doesn't seem to be the case, I'm only seeing default output in that attachment. There should be many more messages beginning with e.g. "trace:quartz:".
https://bugs.winehq.org/show_bug.cgi?id=43367
sahelanthropus 3dw_50ssu16amyn7@byom.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #65986|0 |1 is obsolete| |
--- Comment #24 from sahelanthropus 3dw_50ssu16amyn7@byom.de --- Created attachment 65989 --> https://bugs.winehq.org/attachment.cgi?id=65989 finally wine 5.0-rc1 video log with +quartz,+strmbase,+gstreamer,+seh
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #25 from Zebediah Figura z.figura12@gmail.com --- Thanks, that works.
The deadlock at the end is between one thread calling IVideoWindow::put_Visible() to hide the video window, which causes messages to be sent to the parent on another thread, which then calls IVideoWindow::NotifyOwnerMessage() and deadlocks because the first thread is still holding the filter graph's lock.
Apparently native quartz's solution to this is... just don't lock IVideoWindow methods on the filter graph. At least, through manual testing I can call multiple IVideoWindow methods concurrently.
The stuttering audio is no surprise in general; our DirectSound renderer is pretty much held together with spit and tape. One thing that does specifically seem to be going wrong is that audio samples are at first arriving late by a good two seconds, which may match up with the "short period of white screen" you describe. Even apart from that, though, there are pretty constant underruns. This might be a fault of the CPU not being fast enough to process audio, though. Could you please add +timestamp to the list of debug channels? I foolishly forgot to request that in the first place.
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #26 from sahelanthropus 3dw_50ssu16amyn7@byom.de --- Created attachment 66030 --> https://bugs.winehq.org/attachment.cgi?id=66030 wine 5.0-rc1 log +quartz,+strmbase,+gstreamer,+seh,+timestamps
Thanks for looking into this.
The whitescreen while starting to play the video is indeed there for ~2.1 seconds.
I have an AMD 3600X and all cores are at ~20% while playing the video.
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #27 from Zebediah Figura z.figura12@gmail.com --- It seems like the audio part of the demuxer is getting stuck behind the video part. I see intermittent skips of 100-200 ms in audio sample delivery (when the audio samples themselves are 26 ms long), and these seem to consistently correlate with video samples being delivered. Most damningly, I never see audio samples being delivered (or in fact anything else happening) while the video renderer is waiting for presentation time. So, yeah, probably nothing to do with the CPU being too slow.
What confuses me is why this is the case. I can play sample MPEG-1 system streams on my own machine and I don't see this behaviour at all. Maybe it's something that changed in gstreamer?
Let's try one more log; can you please add GST_DEBUG=5 to the above?
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #28 from sahelanthropus 3dw_50ssu16amyn7@byom.de --- The log is ~667 MB large and compressed ~30MB so I needed to upload it on another site due to this sites file limitation.
wine 5.0-rc1 log +quartz,+strmbase,+gstreamer,+seh,+timestamps and GST_DEBUG=5: https://www1.zippyshare.com/v/N8mEKBt3/file.html
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #29 from Zebediah Figura z.figura12@gmail.com --- There have been a number of performance improvements in DirectShow lately; can you please try with recent Wine (e.g. 5.20 or newer)?
https://bugs.winehq.org/show_bug.cgi?id=43367
q6c9o8+4wqtcbddeyj80@sharklasers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |q6c9o8+4wqtcbddeyj80@sharkl | |asers.com
--- Comment #30 from q6c9o8+4wqtcbddeyj80@sharklasers.com --- Issue persists as of Wine 7.0 Video plays after a 4 second pause with stuttering audio throughout and at the end of the video freezes while continuously throwing the following error 0170:err:sync:RtlpWaitForCriticalSection section 012405A4 "../wine-staging/dlls/quartz/filtergraph.c: filter_graph.cs" wait timed out in thread 0170, blocked by 0150, retrying (60 sec)
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #31 from q6c9o8+4wqtcbddeyj80@sharklasers.com --- Created attachment 71809 --> https://bugs.winehq.org/attachment.cgi?id=71809 wine7.0 +allgst
https://bugs.winehq.org/show_bug.cgi?id=43367
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW
--- Comment #32 from Fabian Maurer dark.shadow4@web.de --- Confirming the issue from comment 30, using wine-7.0 and the standalone version of the game.
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #33 from Fabian Maurer dark.shadow4@web.de --- Still hangs inside VideoWindow_NotifyOwnerMessage, the lock is held by VideoWindow_put_Visible. SendMessageW never returns, probably because the window thread is currently waiting for the critical section. If there's anything to help, please tell me.
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #34 from bugmetoo@protonmail.com --- Playing the video in question with gst-play-1.0 also has the same stutters for the most part.
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #35 from Fabian Maurer dark.shadow4@web.de --- Interesting, but we probably a different issue. Anyways, where can you get the movie to test?
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #36 from bugmetoo@protonmail.com --- (In reply to Fabian Maurer from comment #35)
Interesting, but we probably a different issue. Anyways, where can you get the movie to test?
Extract opmovie.mpg from movie.int with GARBro. https://github.com/morkt/GARbro. I can upload if need be.
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #37 from bugmetoo@protonmail.com --- After testing the rest of the games in the main Grisaia series, Labyrinth, Eden and Leisure of Grisaia had the same issue i.e game freezing after video playback.
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #38 from bugmetoo@protonmail.com --- Created attachment 71875 --> https://bugs.winehq.org/attachment.cgi?id=71875 Labyrinth of Grisaia crash
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #39 from bugmetoo@protonmail.com --- Created attachment 71876 --> https://bugs.winehq.org/attachment.cgi?id=71876 Eden of Grisaia crash
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #40 from bugmetoo@protonmail.com --- Created attachment 71877 --> https://bugs.winehq.org/attachment.cgi?id=71877 Leisure of Grisaia crash
https://bugs.winehq.org/show_bug.cgi?id=43367
jank9525 thieujank@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |thieujank@gmail.com
--- Comment #41 from jank9525 thieujank@gmail.com --- Created attachment 73733 --> https://bugs.winehq.org/attachment.cgi?id=73733 Quartz dll
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #42 from jank9525 thieujank@gmail.com --- Created attachment 73734 --> https://bugs.winehq.org/attachment.cgi?id=73734 Reg file for 32 prefix
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #43 from jank9525 thieujank@gmail.com --- Created attachment 73735 --> https://bugs.winehq.org/attachment.cgi?id=73735 Reg file for 64bit prefix
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #44 from jank9525 thieujank@gmail.com --- For Grisaia and other troublesome VNs that rely on `quartz` for media playback (openings/endings)
To setup, ideally use a clean wineprefix.
Download the requisite files of course.
You need this for either wineprefix type.
✅ quartz2.dll
+
If you have a 32bit wineprefix ✅ quartz2-win32.reg
OR
If you have a 64bit wineprefix ✅ quartz2-win64.reg
1 Drag and drop quartz2.dll in either:
For 32 bit wineprefixes --> `drive_c/Windows/system32` For 64 bit wineprefixes --> `drive_c/Windows/syswow64`
2 Go to the Bash Terminal and type in `wine regsvr32 quartz2.dll`. This will register the quartz2.dll as a system file we can use.
3 Go to the ???????? `Wine Registry`, and click on `Registry` in the Toolbar then `Import Registry File`.
Find & import the corresponding .reg file for your wineprefix architecture (32bit vs 64bit)
For 32 bit wineprefixes --> `quartz2_win32.reg` For 64 bit wineprefixes --> `quartz2_win64.reg`
Done!
https://bugs.winehq.org/show_bug.cgi?id=43367
--- Comment #45 from Alexandre Julliard julliard@winehq.org --- The content of attachment 73733 has been deleted for the following reason:
Please do not attach copyrighted binaries