https://bugs.winehq.org/show_bug.cgi?id=42414
Bug ID: 42414 Summary: The Witcher 3 intro video doesn't play Product: Wine Version: 2.1 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: shtetldik@gmail.com Distribution: ---
Created attachment 57236 --> https://bugs.winehq.org/attachment.cgi?id=57236 Witcher 3 Wine log
I'm running The Witcher 3 (GOG/1.31) in Wine staging 2.1.0 with CSMT enabled. After clicking new game and selecting a few options, the intro video doesn't play as it should, and the game goes straight into the tutorial section (with still broken graphics).
I tried to find anything suspicious in the log (I had to reduce the noise from d3d and etc, using: WINEDEBUG=-dxgi,-d3d11,-d3d,-d3d_shader
See attached log for errors, but none of them look video related.
OS: Debian testing x86_64. GPU: AMD RX 480, Mesa 13.0.3 (same happens on Mesa master).
Any suggestions how to drill down to what fails?
https://bugs.winehq.org/show_bug.cgi?id=42414
fjfrackiewicz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fjfrackiewicz@gmail.com
--- Comment #1 from fjfrackiewicz@gmail.com --- I get the same result on an Nvidia GTX 970 using the proprietary driver (version 375.26).
Basically for me it goes as follows:
- start the game to get the menu - select "New Game" - wait for the game to load - the game starts with the initial bathtub scene, no intro video after the loading screen
https://bugs.winehq.org/show_bug.cgi?id=42414
--- Comment #2 from Shmerl shtetldik@gmail.com --- Apparently, there are two intro videos (one before the starting menu, and one after selecting "New Game").
This one: https://www.youtube.com/watch?v=_8YUDfFtH2A And this one: https://www.youtube.com/watch?v=uQE9lHBDDGg
Neither one is working.
https://bugs.winehq.org/show_bug.cgi?id=42414
Shmerl shtetldik@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|The Witcher 3 intro video |The Witcher 3 intro videos |doesn't play |don't play
https://bugs.winehq.org/show_bug.cgi?id=42414
Kimmo Myllyvirta kimmo.myllyvirta@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kimmo.myllyvirta@gmail.com
--- Comment #3 from Kimmo Myllyvirta kimmo.myllyvirta@gmail.com --- Try; $ winetricks xact_jun2010 Then all the videos should play ok.
I'm not sure what the problem is, I'll try to debug it later, but this might be related; warn:xaudio2:IXAudio2Impl_CreateSourceVoice OpenAL can't convert this format!
When I select "Hearts of Stone Only" option when starting a new game, the video plays even with builtin xaudio2_7, which is a bit weird.
https://bugs.winehq.org/show_bug.cgi?id=42414
--- Comment #4 from fjfrackiewicz@gmail.com --- (In reply to Kimmo Myllyvirta from comment #3)
Try; $ winetricks xact_jun2010 Then all the videos should play ok.
I'm not sure what the problem is, I'll try to debug it later, but this might be related; warn:xaudio2:IXAudio2Impl_CreateSourceVoice OpenAL can't convert this format!
When I select "Hearts of Stone Only" option when starting a new game, the video plays even with builtin xaudio2_7, which is a bit weird.
I can confirm that the videos play for me after running
$winetricks xact_jun2010
https://bugs.winehq.org/show_bug.cgi?id=42414
--- Comment #5 from Shmerl shtetldik@gmail.com --- (In reply to Kimmo Myllyvirta from comment #3)
Try; $ winetricks xact_jun2010 Then all the videos should play ok.
I'm not sure what the problem is, I'll try to debug it later, but this might be related; warn:xaudio2:IXAudio2Impl_CreateSourceVoice OpenAL can't convert this format!
Thanks for the workaround! Though strangely after doing such install with winetricks, none of the xact related DLLs are showing up in Wine settings as overriden, which makes it harder to reset them back to test if the issue is the builtin libs or not.
https://bugs.winehq.org/show_bug.cgi?id=42414
--- Comment #6 from Kimmo Myllyvirta kimmo.myllyvirta@gmail.com --- Created attachment 57241 --> https://bugs.winehq.org/attachment.cgi?id=57241 screenshot
True, but it's not so hard to test. See the screenshot, this should be enough. Add the xaudio2_7 dll to overrides, set it to builtin, then videos will fail to play. Set it to native and they will work.
https://bugs.winehq.org/show_bug.cgi?id=42414
--- Comment #7 from Shmerl shtetldik@gmail.com --- (In reply to Kimmo Myllyvirta from comment #6)
Created attachment 57241 [details] screenshot
True, but it's not so hard to test. See the screenshot, this should be enough. Add the xaudio2_7 dll to overrides, set it to builtin, then videos will fail to play. Set it to native and they will work.
Actually, from the log it looks like more libraries to reset to get to stock Wine:
Executing wine regsvr32 xactengine2_0.dll Executing wine regsvr32 xactengine2_1.dll Executing wine regsvr32 xactengine2_10.dll Executing wine regsvr32 xactengine2_2.dll Executing wine regsvr32 xactengine2_3.dll Executing wine regsvr32 xactengine2_4.dll Executing wine regsvr32 xactengine2_5.dll Executing wine regsvr32 xactengine2_6.dll Executing wine regsvr32 xactengine2_7.dll Executing wine regsvr32 xactengine2_8.dll Executing wine regsvr32 xactengine2_9.dll Executing wine regsvr32 xactengine3_0.dll Executing wine regsvr32 xactengine3_1.dll Executing wine regsvr32 xactengine3_2.dll Executing wine regsvr32 xactengine3_3.dll Executing wine regsvr32 xactengine3_4.dll Executing wine regsvr32 xactengine3_5.dll Executing wine regsvr32 xactengine3_6.dll Executing wine regsvr32 xactengine3_7.dll Executing wine regsvr32 xaudio2_0 Executing wine regsvr32 xaudio2_1 Executing wine regsvr32 xaudio2_2 Executing wine regsvr32 xaudio2_3 Executing wine regsvr32 xaudio2_4 Executing wine regsvr32 xaudio2_5 Executing wine regsvr32 xaudio2_6 Executing wine regsvr32 xaudio2_7
https://bugs.winehq.org/show_bug.cgi?id=42414
--- Comment #8 from Kimmo Myllyvirta kimmo.myllyvirta@gmail.com --- You can add all those if you want, but xaudio2_7 is enough for this (there's no xactengine in wine and the game specifically uses xaudio2_7).
https://bugs.winehq.org/show_bug.cgi?id=42414
--- Comment #9 from Kimmo Myllyvirta kimmo.myllyvirta@gmail.com --- Created attachment 57286 --> https://bugs.winehq.org/attachment.cgi?id=57286 hack patch
Some more information, the culprit is definitely;
trace:xaudio2:IXAudio2Impl_CreateSourceVoice (0x471a8230)->(0x7ff623f4f058, 0x3d63de80, 0x0, 2.000000, (nil), (nil), (nil)) trace:xaudio2:dump_fmt wFormatTag: 0x3 (WAVE_FORMAT_IEEE_FLOAT) trace:xaudio2:dump_fmt nChannels: 6 trace:xaudio2:dump_fmt nSamplesPerSec: 48000 trace:xaudio2:dump_fmt nAvgBytesPerSec: 1152000 trace:xaudio2:dump_fmt nBlockAlign: 24 trace:xaudio2:dump_fmt wBitsPerSample: 32 trace:xaudio2:dump_fmt cbSize: 18 warn:xaudio2:IXAudio2Impl_CreateSourceVoice OpenAL can't convert this format!
builtin xaudio2 supports 32-bit float formats, but only mono and stereo, not 6-channels, which is used for most of the movies/cinematics in this game. The game actually handles the return values, and gracefully skips everything it can't play.
Attached patch works, all the videos play, but (for me) it causes lots of crackling/pops, this needs a bit different patch. Consider the attached patch as a proof-of-concept.
https://bugs.winehq.org/show_bug.cgi?id=42414
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |xaudio2 CC| |aeikum@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=42414
--- Comment #10 from Andrew Eikum aeikum@codeweavers.com --- (In reply to Kimmo Myllyvirta from comment #9)
builtin xaudio2 supports 32-bit float formats, but only mono and stereo, not 6-channels, which is used for most of the movies/cinematics in this game. The game actually handles the return values, and gracefully skips everything it can't play.
Attached patch works, all the videos play, but (for me) it causes lots of crackling/pops, this needs a bit different patch. Consider the attached patch as a proof-of-concept.
Yeah, your analysis is correct. The --32 formats like AL_FORMAT_QUAD32 are for signed integer audio formats, not for IEEE float, so those won't work.
Looks like OpenAL doesn't have any defined formats for 6-channel IEEE float. It's not immediately obvious to me if openal-soft even can downmix 6-channel float.
https://bugs.winehq.org/show_bug.cgi?id=42414
tokktokk fdsfgs@krutt.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs@krutt.org
https://bugs.winehq.org/show_bug.cgi?id=42414
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #11 from winetest@luukku.com --- There is some bug that has ffmpeg conversion patch. Could it help here too?
https://bugs.winehq.org/show_bug.cgi?id=42414
mirh mirh@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mirh@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=42414
Ivan Set s.i.v.892@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |s.i.v.892@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=42414
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dmitry@baikal.ru, | |erich.e.hoover@wine-staging | |.com, michael@fds-team.de, | |sebastian@fds-team.de Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/xaudio2-get_al | |_format Status|UNCONFIRMED |STAGED Ever confirmed|0 |1
https://bugs.winehq.org/show_bug.cgi?id=42414
--- Comment #12 from Andrew Eikum aeikum@codeweavers.com ---
What |Removed |Added
Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/xaudio2-get_al | |_format Status|UNCONFIRMED |STAGED
This won't work correctly. I think it's better to correctly report that we don't support this format, than to pretend IEEE float audio is actually PCM.
https://bugs.winehq.org/show_bug.cgi?id=42414
--- Comment #13 from Sebastian Lackner sebastian@fds-team.de --- (In reply to Andrew Eikum from comment #12)
This won't work correctly. I think it's better to correctly report that we don't support this format, than to pretend IEEE float audio is actually PCM.
Michael suggested this patch, and based on the information he found they are float formats. See http://openal.org/pipermail/openal/2014-December/000287.html for example.
https://bugs.winehq.org/show_bug.cgi?id=42414
--- Comment #14 from Andrew Eikum aeikum@codeweavers.com --- (In reply to Sebastian Lackner from comment #13)
(In reply to Andrew Eikum from comment #12)
This won't work correctly. I think it's better to correctly report that we don't support this format, than to pretend IEEE float audio is actually PCM.
Michael suggested this patch, and based on the information he found they are float formats. See http://openal.org/pipermail/openal/2014-December/000287.html for example.
Ooh, good find (and unfortunately terrible naming on those symbols). I wonder why Kimmo had bad audio in comment 9, then. I'll look into it when I have some free time. Probably Kimmo's patch could go upstream, but I'd like to understand what's going on here first.
https://bugs.winehq.org/show_bug.cgi?id=42414
--- Comment #15 from Kimmo Myllyvirta kimmo.myllyvirta@gmail.com --- Created attachment 58573 --> https://bugs.winehq.org/attachment.cgi?id=58573 wine 2.11 staging audio sample
(In reply to Andrew Eikum from comment #14)
Ooh, good find (and unfortunately terrible naming on those symbols). I wonder why Kimmo had bad audio in comment 9, then. I'll look into it when I have some free time. Probably Kimmo's patch could go upstream, but I'd like to understand what's going on here first.
It is still constantly crackling, not as bad as when I made that patch, but then again a lot has changed in my setup and wine. Can someone else verify that the videos/audio is working with builtin xaudio2_7 and wine 2.11 staging?
https://bugs.winehq.org/show_bug.cgi?id=42414
--- Comment #16 from Shmerl shtetldik@gmail.com --- (In reply to Kimmo Myllyvirta from comment #15)
It is still constantly crackling, not as bad as when I made that patch, but then again a lot has changed in my setup and wine. Can someone else verify that the videos/audio is working with builtin xaudio2_7 and wine 2.11 staging?
Yes, they are working with builtin, when this staging patch for it is included.
https://bugs.winehq.org/show_bug.cgi?id=42414
--- Comment #17 from Andrew Eikum aeikum@codeweavers.com --- (In reply to Kimmo Myllyvirta from comment #15)
Created attachment 58573 [details] wine 2.11 staging audio sample
(In reply to Andrew Eikum from comment #14)
Ooh, good find (and unfortunately terrible naming on those symbols). I wonder why Kimmo had bad audio in comment 9, then. I'll look into it when I have some free time. Probably Kimmo's patch could go upstream, but I'd like to understand what's going on here first.
It is still constantly crackling, not as bad as when I made that patch, but then again a lot has changed in my setup and wine. Can someone else verify that the videos/audio is working with builtin xaudio2_7 and wine 2.11 staging?
I finally got around to testing this today, and it fixes the issue for me. For me, I don't have any audio crackling with your patch applied. Would you be willing to send it in to Wine? If not, I'll be happy to do it on your behalf.
https://bugs.winehq.org/show_bug.cgi?id=42414
--- Comment #18 from Kimmo Myllyvirta kimmo.myllyvirta@gmail.com --- (In reply to Andrew Eikum from comment #17)
I finally got around to testing this today, and it fixes the issue for me. For me, I don't have any audio crackling with your patch applied. Would you be willing to send it in to Wine? If not, I'll be happy to do it on your behalf.
Sent https://source.winehq.org/patches/data/138502
https://bugs.winehq.org/show_bug.cgi?id=42414
Andrew Eikum aeikum@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |8b94c5b51c2c706dd8fa42cec46 | |31f386f3a8562 Resolution|--- |FIXED Status|STAGED |RESOLVED
--- Comment #19 from Andrew Eikum aeikum@codeweavers.com --- This is in Wine now. Thanks, Kimmo!
commit 8b94c5b51c2c706dd8fa42cec4631f386f3a8562 Author: Kimmo Myllyvirta kimmo.myllyvirta@gmail.com Date: Sun Nov 12 12:35:34 2017 +0200
xaudio2: Add support for float formats with more than 2 channels.
https://bugs.winehq.org/show_bug.cgi?id=42414
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #20 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 2.22.
https://bugs.winehq.org/show_bug.cgi?id=42414
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |2.0.x
https://bugs.winehq.org/show_bug.cgi?id=42414
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|2.0.x |---
--- Comment #21 from Michael Stefaniuc mstefani@winehq.org --- Removing the 2.0.x milestone from bugs included in 2.0.5.