https://bugs.winehq.org/show_bug.cgi?id=48134
Bug ID: 48134 Summary: Music and sound effects regression in Hydorah Product: Wine Version: 4.20 Hardware: x86-64 URL: https://locomalito.com/hydorah.php OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: vulture6@mail.com Distribution: Mint
No music and only limited sound effects play in Hydorah on Wine 4.20.
(I'm using external USB DAC and kernel 5.3.)
All work correctly on Wine 4.0.2.
Can't see any obvious errors.
Sorry, can't run regression test.
https://bugs.winehq.org/show_bug.cgi?id=48134
flobob vulture6@mail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, regression
https://bugs.winehq.org/show_bug.cgi?id=48134
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #1 from Zebediah Figura z.figura12@gmail.com --- Can you please attach default console output? See https://wiki.winehq.org/FAQ#How_can_I_get_a_debugging_log_.28a.k.a._terminal_output.29.3F if you need instructions on how to do this.
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #2 from flobob vulture6@mail.com --- Created attachment 65733 --> https://bugs.winehq.org/attachment.cgi?id=65733 Hydorah console output
Hydorah console output
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #3 from Zebediah Figura z.figura12@gmail.com --- Does trying native dmusic or dsdmo (`winetricks dmusic` or `winetricks dsdmo`) improve anything?
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #4 from flobob vulture6@mail.com --- 'winetricks directmusic' added a few more (laggy) sound effects but not the music or speech. Nothing else seemed to make any difference.
https://bugs.winehq.org/show_bug.cgi?id=48134
flobob vulture6@mail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Music and sound effects |Music and sound effects |regression in Hydorah |regression in Hydorah and | |others
--- Comment #5 from flobob vulture6@mail.com --- Ghosts'n Demons (https://bonusjz.itch.io/ghostsn-demons) has the same problem: full sound in 4.0.2 but only occasional in 4.2.0. Again no obvious errors.
https://bugs.winehq.org/show_bug.cgi?id=48134
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |directx-dmusic
https://bugs.winehq.org/show_bug.cgi?id=48134
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|directx-dmusic |-unknown
--- Comment #6 from Matteo Bruni matteo.mystral@gmail.com --- Alistair, do you have some outside info blaming dmusic for this issue? Otherwise removing the component for the time being, according to comment 4.
https://bugs.winehq.org/show_bug.cgi?id=48134
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |leslie_alistair@hotmail.com
--- Comment #7 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- (In reply to Matteo Bruni from comment #6)
Alistair, do you have some outside info blaming dmusic for this issue? Otherwise removing the component for the time being, according to comment 4.
Running Hydorah show's the same fixme's as other applications when they fail to play music.
For instance, the following patch was inspired after a little bit of testing. https://source.winehq.org/patches/data/174735
I'll try testing with native directmusic and see what happens.
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #8 from flobob vulture6@mail.com --- Any joy with the patch/testing yet, Alistair? Would be nice to have this fixed for 5.0.
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #9 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- (In reply to flobob from comment #8)
Any joy with the patch/testing yet, Alistair? Would be nice to have this fixed for 5.0.
Using native dlls causes crackling sounds, so no joy on that front. The output show the standard message. 0009:fixme:dmime:seg_IPersistStream_Load WAVE form loading not implemented 0009:fixme:dmime:IDirectMusicSegment8Impl_Download (0130D0B0, 0128BF70): stub
This is unlikely to be fixed for 5.0.
https://bugs.winehq.org/show_bug.cgi?id=48134
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mstefani@winehq.org
--- Comment #10 from Michael Stefaniuc mstefani@winehq.org --- I can run Hydorah with 5.0-rc2, I get no music but sounds are there. But with 4.0.2 it doesn't even start and following lines are printed in a loop:
0009:fixme:ntdll:EtwEventEnabled (deadbeef, 0xb641b48): stub 0042:fixme:gstreamer:event_src 0x5542a488 (61441) stub 0042:err:gstreamer:unknown_type Could not find a filter for caps: "application/x-id3" 0009:err:gstreamer:GST_Connect GStreamer failed to play stream 0041:err:gstreamer:watch_bus decodebin16547: Your GStreamer installation is missing a plug-in. 0041:err:gstreamer:watch_bus gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstBin:bin16547/GstDecodeBin:decodebin16547: no suitable plugins found: Missing decoder: ID3 tag (application/x-id3)
https://bugs.winehq.org/show_bug.cgi?id=48134
John Alway jwalway@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jwalway@hotmail.com
--- Comment #11 from John Alway jwalway@hotmail.com --- Hello,
After a long investigation, I found that Hydorah in Wine 4.16 has sound, but Wine 4.17 does not have sound. Investigating further, I found that Wine build as of 9/20/2019 has sound. However, a few commits into 9/23, there is no sound. Given this, I believe the quartz.dll is the issue, the first two commits of 9/23. I assume it's DirectShow being used to convert MP3 files. Maybe Zebediah Figura or someone who knows can fix this?
Regards, ...John Alway
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #12 from Zebediah Figura z.figura12@gmail.com --- I tried downloading and running the game. I ran long enough to get into the part where I'm actually flying a ship around. I heard only one or two sound effects—no music or voice lines. However, I didn't see any usage of quartz, only dmusic. Is there anything different I need to do to trigger quartz to be used? Is anyone using native components or winetricks verbs?
John, can you please attach a log with WINEDEBUG=+dmusic,+dmobj,+dmfile,+dmsynth,+dmstyle,+dmime,+dmloader,+dmcompos,+dmband,+strmbase,+quartz,+gstreamer,+timestamp,+seh,+ole?
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #13 from John Alway jwalway@hotmail.com --- Created attachment 66136 --> https://bugs.winehq.org/attachment.cgi?id=66136 Hydorah Log File.
I used the following for the log file: WINEDEBUG=+dmusic,+dmobj,+dmfile,+dmsynth,+dmstyle,+dmime,+dmloader,+dmcompos,+dmband,+strmbase,+quartz,+gstreamer,+timestamp,+seh,+ole?
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #14 from John Alway jwalway@hotmail.com --- (In reply to Zebediah Figura from comment #12)
I tried downloading and running the game. I ran long enough to get into the part where I'm actually flying a ship around. I heard only one or two sound effects—no music or voice lines. However, I didn't see any usage of quartz, only dmusic. Is there anything different I need to do to trigger quartz to be used? Is anyone using native components or winetricks verbs?
John, can you please attach a log with WINEDEBUG=+dmusic,+dmobj,+dmfile,+dmsynth,+dmstyle,+dmime,+dmloader, +dmcompos,+dmband,+strmbase,+quartz,+gstreamer,+timestamp,+seh,+ole?
Zebediah,
I posted the log file. Have you tried running Hydorah from within the Hydorah directory? It seems to require that to access the "music" directory. Other than that, I can't think of anything special I did. I'll add that I'm on Ubuntu 18.04.
...John Alway
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #15 from Zebediah Figura z.figura12@gmail.com --- I still have no idea what it is you're doing differently, but anyway, as of 40a4c782b we now require GStreamer for DirectShow media decoding. I don't see any mention of GStreamer in your logs; do you have the 32-bit GStreamer libraries and "good" plugins installed?
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #16 from John Alway jwalway@hotmail.com --- (In reply to Zebediah Figura from comment #15)
I still have no idea what it is you're doing differently, but anyway, as of 40a4c782b we now require GStreamer for DirectShow media decoding. I don't see any mention of GStreamer in your logs; do you have the 32-bit GStreamer libraries and "good" plugins installed?
I didn't see GStreamer. So, I installed it and recompiled Wine and now I see it in the log file when I run it. I decided to compile Wine 4.16, where sound shows up.
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #17 from Zebediah Figura z.figura12@gmail.com --- (In reply to John Alway from comment #16)
(In reply to Zebediah Figura from comment #15)
I still have no idea what it is you're doing differently, but anyway, as of 40a4c782b we now require GStreamer for DirectShow media decoding. I don't see any mention of GStreamer in your logs; do you have the 32-bit GStreamer libraries and "good" plugins installed?
I didn't see GStreamer. So, I installed it and recompiled Wine and now I see it in the log file when I run it. I decided to compile Wine 4.16, where sound shows up.
I'm not entirely sure what you're saying by this. Are you compiling Wine 4.17 or later with GStreamer, and still failing to get sound?
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #18 from John Alway jwalway@hotmail.com --- (In reply to Zebediah Figura from comment #17)
(In reply to John Alway from comment #16)
(In reply to Zebediah Figura from comment #15)
I still have no idea what it is you're doing differently, but anyway, as of 40a4c782b we now require GStreamer for DirectShow media decoding. I don't see any mention of GStreamer in your logs; do you have the 32-bit GStreamer libraries and "good" plugins installed?
I didn't see GStreamer. So, I installed it and recompiled Wine and now I see it in the log file when I run it. I decided to compile Wine 4.16, where sound shows up.
I'm not entirely sure what you're saying by this. Are you compiling Wine 4.17 or later with GStreamer, and still failing to get sound?
My over all point has been that I found that sound disappeared in my compiles as of 9/23/2019. 9/20/2019 is the latest compile that gives me sound in Hydorah. Anything after has not.
I've not tried compiling later versions than 4.16 with GStreamer installed.
It doesn't really matter, Zebediah. I thought I had located the issue, but perhaps I was wrong.
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #19 from John Alway jwalway@hotmail.com --- (In reply to Zebediah Figura from comment #17) ...
I'm not entirely sure what you're saying by this. Are you compiling Wine 4.17 or later with GStreamer, and still failing to get sound?
Zebediah, I finally got around to compiling Wine 4.17 with GStreamer and the sound is there. Sorry to bother you on this!
Thanks for all of the feedback.
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #20 from Aexander kq3thih@mailnesia.com --- Well, that was fun. Apparently the prefix was not fond of being upgraded/downgraded during testing would permanently have the missing music even on older working versions. Additionally, I was a bit careless with the initial regression testing and wasted a bunch of my own time. At any rate, last working version on the devel branch was wine-4.10.
Bisecting returns:
--- snip --- aa4ac3ad6cd6d0324170b0b32d4bd50e239f7762 is the first bad commit commit aa4ac3ad6cd6d0324170b0b32d4bd50e239f7762 Author: Alexandre Julliard julliard@winehq.org Date: Mon Jun 17 09:39:34 2019 +0200
oleaut32: Build with msvcrt.
Signed-off-by: Alexandre Julliard julliard@winehq.org
dlls/oleaut32/Makefile.in | 2 ++ dlls/oleaut32/dispatch.c | 2 -- dlls/oleaut32/oleaut.c | 3 -- dlls/oleaut32/olefont.c | 13 ++++---- dlls/oleaut32/olepicture.c | 10 +----- dlls/oleaut32/recinfo.c | 9 +++-- dlls/oleaut32/safearray.c | 2 -- dlls/oleaut32/typelib.c | 82 ++++++++++++++++++++++------------------------ dlls/oleaut32/varformat.c | 39 ++++++++++------------ dlls/oleaut32/variant.c | 17 ++++------ dlls/oleaut32/vartype.c | 33 +++++++++---------- 11 files changed, 93 insertions(+), 119 deletions(-) --- snip ---
Too many changes since to simply revert. Checking out wine-4.11 and then reverting there does result in a 4.11 build with working music.
https://bugs.winehq.org/show_bug.cgi?id=48134
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Regression SHA1| |aa4ac3ad6cd6d0324170b0b32d4 | |bd50e239f7762 Status|UNCONFIRMED |NEW
--- Comment #21 from Michael Stefaniuc mstefani@winehq.org --- Impressive work Aexander, confirming! 4.10-179-g0ed304e990 or earlier works. 4.10-180-gaa4ac3ad6c or later and sound doesn't works.
And of course running Hydorah in a WINEPREFIX with 4.10-180-gaa4ac3ad6c will break it permanently.
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #22 from John Alway jwalway@hotmail.com --- I confess to being confused on this, because I currently have Wine 5.0-rc3, and the sound has worked fine (32-bit and 64-bit) since I've installed GStreamer.
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #23 from Michael Stefaniuc mstefani@winehq.org --- I have compared the logs between the working 4.10 and the broken 4.11 and it starts to diverge with this: -0009:warn:ole:enter_apartment Attempt to change threading model of this apartment from apartment threaded to multi-threaded <puk> -0009:trace:ole:CoCreateInstance (rclsid={e436ebb3-524f-11ce-9f53-0020af0ba770}, pUnkOuter=00000000, dwClsContext=00000001, riid={56a868a9-0ad4-11ce-b03a-0020af0ba770}, ppv=001AA094)
Doing a grep for that GUID:
luna:/j/wine/bottles$ grep -ri e436ebb3-524f-11ce-9f53-0020af0ba770 hydorah-wine-4.10/ Binary file hydorah-wine-4.10/drive_c/windows/system32/quartz.dll matches hydorah-wine-4.10/system.reg:[Software\Classes\CLSID\{E436EBB3-524F-11CE-9F53-0020AF0BA770}] 1578685952 hydorah-wine-4.10/system.reg:[Software\Classes\CLSID\{E436EBB3-524F-11CE-9F53-0020AF0BA770}\InprocServer32] 1578685952 luna:/j/wine/bottles$ grep -r e436ebb3-524f-11ce-9f53-0020af0ba770 hydorah-wine-4.11/ luna:/j/wine/bottles$
That GUID disappears from the registry for whatever reason. That explains why an once broken WINEPREFIX stays broken.
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #24 from Michael Stefaniuc mstefani@winehq.org --- Grrrr... grep fail in comment #23, the GUID and quartz.dll are there.
The part about the logs diverging with the creation of e436ebb3-524f-11ce-9f53-0020af0ba770 is correct though. The broken ones don't show e436ebb3-524f-11ce-9f53-0020af0ba770 at all.
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #25 from Michael Stefaniuc mstefani@winehq.org --- @ John Alway Are you compiling with mingw? I do an it doesn't work for me with wine-5.0-rc4. I don't see e436ebb3-524f-11ce-9f53-0020af0ba770 in the WINEDEBUG='+ole,+olepicture,+variant,+typelib' log.
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #26 from John Alway jwalway@hotmail.com --- (In reply to Michael Stefaniuc from comment #25)
@ John Alway Are you compiling with mingw? I do an it doesn't work for me with wine-5.0-rc4. I don't see e436ebb3-524f-11ce-9f53-0020af0ba770 in the WINEDEBUG='+ole,+olepicture,+variant,+typelib' log.
I do, but I have several sound dependencies not installed. Should I install all of the dependencies?
The following aren't installed: OSS sound system found but too old (OSSv4 needed), OSS won't be supported. libSDL2 64-bit development files not found, SDL2 won't be supported. libFAudio 64-bit development files not found, XAudio2 won't be supported.
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #27 from John Alway jwalway@hotmail.com --- (In reply to Michael Stefaniuc from comment #25)
@ John Alway Are you compiling with mingw? I do an it doesn't work for me with wine-5.0-rc4. I don't see e436ebb3-524f-11ce-9f53-0020af0ba770 in the WINEDEBUG='+ole,+olepicture,+variant,+typelib' log.
Oops, my main compiler is gcc, the cross compiler is mingw.
https://bugs.winehq.org/show_bug.cgi?id=48134
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |oleaut32
--- Comment #28 from Zebediah Figura z.figura12@gmail.com --- I spent some time trying to debug this, with no luck. In the "good" case it makes a bunch of calls into mci to play music. In the "bad" case it just... doesn't do that. I don't see anything triggering the difference.
The only useful information I can provide is that running with aa4ac3ad6 but --without-mingw lets the sound work.
https://bugs.winehq.org/show_bug.cgi?id=48134
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #29 from joaopa jeremielapuree@yahoo.fr --- Does the bug still occur with wine-5.16?
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #30 from Aexander kq3thih@mailnesia.com --- Still occurs with 5.18.
$ sha256sum Hydorah_1_1.zip 0d1e76dd40e07a7dadb5014a7d02ce08577cbb2d5c51c6828df67dc7a94bc456 Hydorah_1_1.zip $ du -sh Hydorah_1_1.zip 83M Hydorah_1_1.zip
The download URL can be updated with "www." in front to avoid the certificate error. For testing, the working case you have music playing by the time you hit the main menu. Broken case has no music. Just start with a clean prefix each time.
https://bugs.winehq.org/show_bug.cgi?id=48134
--- Comment #31 from Alexandre Julliard julliard@winehq.org --- The problem is that the app extracts and loads a library named saudio.dll. That library contains incorrect relocations (all the reloc records are duplicated), so if its preferred load address is not available, it fails to load.
The PE oleaut32.dll happens to be based at 6a300000, which conflicts with saudio.dll at 6a380000, so saudio.dll fails to load. I've verified that it will fail to load on Windows too if its base address is not available for whatever reason. I'd say that's an app bug.
https://bugs.winehq.org/show_bug.cgi?id=48134
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |NOTOURBUG
--- Comment #32 from Zebediah Figura z.figura12@gmail.com --- I guess this should be resolved as NOTOURBUG or WONTFIX then...?
Unless it's worth trying to fix by manually setting the default base address for oleaut32?