https://bugs.winehq.org/show_bug.cgi?id=46392
Bug ID: 46392 Summary: Commandos: Behind Enemy Walls is freezing while using native quartz.dll Product: Wine Version: 4.0-rc4 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winegstreamer Assignee: wine-bugs@winehq.org Reporter: gang65@poczta.onet.pl Distribution: ---
Created attachment 63153 --> https://bugs.winehq.org/attachment.cgi?id=63153 Terminal logs with WINEDEBUG=+quartz+gstreamer+amstream
Commandos: Behind Enemy Walls is freezing while using native quartz.dll.
This is caused lack of support for 8 bit colour mode (it is using in Cinepak codec): https://multimedia.cx/mirror/cinepak.txt
It is also visible in the logs with fixme warning: 003c:trace:gstreamer:accept_caps_sink 0x7add5558 0x7be6aac8 003c:fixme:gstreamer:amt_from_gst_caps_video Unknown bpp 8
The cinepak gstreamer codec is already installed with command (Ubuntu 18.04):
sudo apt install gstreamer1.0-libav:i386
https://bugs.winehq.org/show_bug.cgi?id=46392
Bartosz gang65@poczta.onet.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gang65@poczta.onet.pl
https://bugs.winehq.org/show_bug.cgi?id=46392
--- Comment #1 from Bartosz gang65@poczta.onet.pl --- You could enable additional logs via command: GST_DEBUG=3 WINEDEBUG=+quartz,+gstreamer,+amstream /usr/local/bin/wine Comandos.exe
https://bugs.winehq.org/show_bug.cgi?id=46392
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #2 from Zebediah Figura z.figura12@gmail.com --- Created attachment 63154 --> https://bugs.winehq.org/attachment.cgi?id=63154 winegstreamer: translate 8-bit depth to RGB8
If you're able to compile Wine, can you try the attached patch? (We should perhaps be doing more judicious translation, but for a proof of concept at least.)
What prevents this game from working with builtin quartz?
Does disabling winegstreamer work as a solution? I'd think in that case it should be able to go through ACM wrapper filter + iccvid.
https://bugs.winehq.org/show_bug.cgi?id=46392
--- Comment #3 from Bartosz gang65@poczta.onet.pl --- Generally movies was working with native (Windows) quartz.dll and amstream.dll libraries, under 1.8.2. See comment:
https://appdb.winehq.org/objectManager.php?sClass=version&iId=261
an in bug report: https://bugs.winehq.org/show_bug.cgi?id=26262#c22
Unfortunately there is regression (most propably in gstreamer), which is causing application freeze with native (Windows) quartz.dll (and movies are not working at all).
I checked your patch, and the game is not freezing. Unfortunately videos are not playing.
https://bugs.winehq.org/show_bug.cgi?id=46392
--- Comment #4 from Bartosz gang65@poczta.onet.pl --- Created attachment 63164 --> https://bugs.winehq.org/attachment.cgi?id=63164 Commandos1 with disabled winegstreamer and native amstream (infinite loop)
After disabling winegstreamer.dll and use native quartz.dll and amstream.dll, videos is working perfectly.
I also tried use native amstream.dll and buildin quartz.dll. Unfortunately there is infinite loop (see attached logs). No video (black screen). Command which I was use for running is: $ GST_DEBUG=3 WINEDEBUG=+quartz,+gstreamer,+amstream,+iccvid wine Comandos.exe
https://bugs.winehq.org/show_bug.cgi?id=46392
--- Comment #5 from Bartosz gang65@poczta.onet.pl --- In the logs (from using buildin quartz.dll and native amstream.dll), there is interesing error:
0078:trace:quartz:AVISplitter_ProcessOldIndex dwChunkId: rec 0078:trace:quartz:AVISplitter_ProcessOldIndex dwFlags: 00000001 0078:trace:quartz:AVISplitter_ProcessOldIndex dwOffset (relative): 00000004 0078:trace:quartz:AVISplitter_ProcessOldIndex dwSize: 00000fec 0078:trace:quartz:FileAsyncReader_SyncRead 0x1baf58->(4, 4, 0x33e504) 0078:trace:quartz:FileAsyncReader_SyncRead -- 0 0078:trace:quartz:FileAsyncReader_SyncRead 0x1baf58->(1000, 4, 0x33e508) 0078:trace:quartz:FileAsyncReader_SyncRead -- 0 0078:err:quartz:AVISplitter_ProcessOldIndex Faulty index or bug in handling: Wanted FCC: "rec ", Abs FCC: "\xc8\x05\xe7\x00" (@ 4), Rel FCC: "LIST" (@ 1000) 0078:trace:quartz:AVISplitter_ProcessOldIndex dwChunkId: 01wb 0078:trace:quartz:AVISplitter_ProcessOldIndex dwFlags: 00000000 0078:trace:quartz:AVISplitter_ProcessOldIndex dwOffset (relative): 00000010 0078:trace:quartz:AVISplitter_ProcessOldIndex dwSize: 00000800
It seems that "rec" entries (with AVIIF_LIST flag) is not properly supported: http://faydoc.tripod.com/formats/avi.htm
https://bugs.winehq.org/show_bug.cgi?id=46392
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
https://bugs.winehq.org/show_bug.cgi?id=46392
--- Comment #6 from Zebediah Figura z.figura12@gmail.com --- Does this behave any better with current Wine (in particular after 450d443b8)?
https://bugs.winehq.org/show_bug.cgi?id=46392
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 Zebediah Figura from comment #6)
Does this behave any better with current Wine (in particular after 450d443b8)?
It didn't start for me, what log file would you like?
https://bugs.winehq.org/show_bug.cgi?id=46392
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Commandos: Behind Enemy |Commandos: Behind Enemy |Walls is freezing while |Walls videos aren't played |using native quartz.dll | Keywords|patch | Component|winegstreamer |quartz
--- Comment #8 from Gijs Vermeulen gijsvrm@gmail.com --- Please retest without any overrides. Bugs with native DirectShow components aren't interesting enough to keep around.
Let's repurpose this one for the builtin quartz case.
https://bugs.winehq.org/show_bug.cgi?id=46392
--- Comment #9 from Bartosz gang65@poczta.onet.pl --- It will be great if Wine (In reply to Gijs Vermeulen from comment #8)
Please retest without any overrides. Bugs with native DirectShow components aren't interesting enough to keep around.
Let's repurpose this one for the builtin quartz case.
I would like to support both scenarios. Sometimes the games provide it's own version of quartz.dll with DirectX, and it will be great if Wine will support native quartz.dll (especially that we have workaround patch and it seems that the issue is solvable).
https://bugs.winehq.org/show_bug.cgi?id=46392
--- Comment #10 from Zebediah Figura z.figura12@gmail.com --- (In reply to Bartosz from comment #9)
I would like to support both scenarios. Sometimes the games provide it's own version of quartz.dll with DirectX, and it will be great if Wine will support native quartz.dll (especially that we have workaround patch and it seems that the issue is solvable).
We can't really support using Microsoft DLLs in general; they're only available as workarounds in case builtin is broken. It's not really possible to debug Microsoft DLLs while still adhering to the clean room guidelines. If builtin quartz is broken, please file bugs for builtin quartz, so that it can be fixed.
https://bugs.winehq.org/show_bug.cgi?id=46392
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #11 from joaopa jeremielapuree@yahoo.fr --- Bug is fixed with wine-7.0-rc4.
Tested with both the demo and the the retail version of the game.
https://bugs.winehq.org/show_bug.cgi?id=46392
--- Comment #12 from joaopa jeremielapuree@yahoo.fr --- Link of the demo: https://archive.org/details/CommandosBehindEnemyLinesDemo
https://bugs.winehq.org/show_bug.cgi?id=46392
Ker noa blue-t@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |blue-t@web.de
https://bugs.winehq.org/show_bug.cgi?id=46392
Benjamin Legendre legendre.benjamin@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |legendre.benjamin@gmail.com
--- Comment #13 from Benjamin Legendre legendre.benjamin@gmail.com --- @joaopa when you said "bug is fixed in 7.0), are you saying with or without DLL overrides?
In my tests with wine 7.15 and 7.18, videos still doesn't play without amstream and quartz overrides (which i install using winetricks).
As a side note, commando can't be installed with Wine 7.18 because of https://bugs.winehq.org/show_bug.cgi?id=53646
But works in 7.18 if installed using <= 7.15
https://bugs.winehq.org/show_bug.cgi?id=46392
--- Comment #14 from joaopa jeremielapuree@yahoo.fr --- This game was reported freezing with vanilla wine. It is not the case anymore. It was I meant. I always test without any native dlls. Only built-in. But the videos do not play yet. 0024:fixme:quartz:amt_to_wg_format_video Unknown format type {00000000-0000-0000-0000-000000000000}. 0134:err:quartz:send_buffer Failed to get a sample, hr 0x80040211. 0024:fixme:quartz:amt_to_wg_format_video Unknown format type {00000000-0000-0000-0000-000000000000}. winegstreamer warning: videoconvert3: not negotiated winegstreamer warning: videoconvert3: ../libs/gst/base/gstbasetransform.c(1431): gst_base_transform_reconfigure_unlocked (): /GstBin:bin1/GstVideoConvert:videoconvert3: not negotiated 0158:err:quartz:DSoundRender_SendSampleData WaitForSingleObject() returned 0. 0154:err:quartz:send_buffer Failed to get a sample, hr 0x80040211.
https://bugs.winehq.org/show_bug.cgi?id=46392
--- Comment #15 from Benjamin Legendre legendre.benjamin@gmail.com --- OK, i've the same results.
https://bugs.winehq.org/show_bug.cgi?id=46392
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Commandos: Behind Enemy |Commandos: Behind Enemy |Walls videos aren't played |Lines videos aren't played CC| |o.dierick@piezo-forte.be
https://bugs.winehq.org/show_bug.cgi?id=46392
--- Comment #16 from Bartosz gang65@poczta.onet.pl --- (In reply to joaopa from comment #14)
This game was reported freezing with vanilla wine. It is not the case anymore. It was I meant. I always test without any native dlls. Only built-in. But the videos do not play yet.
Please attach the output file, with additional logs: export WINEDEBUG=warn+quartz
https://bugs.winehq.org/show_bug.cgi?id=46392
Bartosz gang65@poczta.onet.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://archive.org/details | |/CommandosBehindEnemyLinesD | |emo
https://bugs.winehq.org/show_bug.cgi?id=46392
Bartosz gang65@poczta.onet.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |blubban@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=46392
--- Comment #17 from joaopa jeremielapuree@yahoo.fr --- With wine-9.12, bug still occurs. Console output slightly changed
0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION 0024:fixme:quartz:mpeg_splitter_sink_query_accept Unsupported subtype {e436eb85-524f-11ce-9f53-0020af0ba770}. 0024:fixme:quartz:mpeg_splitter_sink_query_accept Unsupported subtype {e436eb86-524f-11ce-9f53-0020af0ba770}. 0024:err:quartz:get_autoplug_types Failed to enumerate media types, hr 0x8007000e. 0144:err:quartz:DSoundRender_SendSampleData WaitForSingleObject() returned 0. 0024:fixme:quartz:mpeg_splitter_sink_query_accept Unsupported subtype {e436eb85-524f-11ce-9f53-0020af0ba770}. 0024:fixme:quartz:mpeg_splitter_sink_query_accept Unsupported subtype {e436eb86-524f-11ce-9f53-0020af0ba770}. 0024:err:quartz:get_autoplug_types Failed to enumerate media types, hr 0x8007000e. 0168:err:quartz:DSoundRender_SendSampleData WaitForSingleObject() returned 0.
https://bugs.winehq.org/show_bug.cgi?id=46392
mrdeathjr28@yahoo.es changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mrdeathjr28@yahoo.es