Prototype 1 crash in cutescene and audio do not work

Questions about Wine on Linux
macchinetta

Prototype 1 crash in cutescene and audio do not work

Post by macchinetta »

Hello. I try to run Prototype 1 in wine 4.8 and I run into a crash. I can't understand if it's a bug, but I try with wine 3.19 in order to exclude a regressions and game do not start at all with that version.

Also I can't get audio work in game. I try all described in app-db, try native openaal32, try both alsa and pulse, always no audio.

This is crash log in cutscene:

Code: Select all

Unhandled exception: page fault on read access to 0x80808098 in 32-bit code (0x7ca0c3ff).
00d6:fixme:dbghelp:elf_search_auxv can't find symbol in module
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:7ca0c3ff ESP:113ffa74 EBP:113ffa78 EFLAGS:00010216(  R- --  I   -A-P- )
 EAX:00000001 EBX:113ffaf4 ECX:113ffaf4 EDX:80808080
 ESI:00a01c58 EDI:80808080
Stack dump:
0x113ffa74:  113ffaf4 113ffb98 7ca22241 113ffaf4
0x113ffa84:  80808080 00000038 00000001 7caeb214
0x113ffa94:  00a29818 002019f8 00a2fcb8 80808080
0x113ffaa4:  00000011 002019c8 80808080 00000012
0x113ffab4:  009fb898 00000000 00000000 80808080
0x113ffac4:  00000000 19df1e50 110e604c 00a297e8
Backtrace:
=>0 0x7ca0c3ff wined3d_device_create+0x50bf() in wined3d (0x113ffa78)
  1 0x7ca22241 wined3d_device_create+0x1af00() in wined3d (0x113ffb98)
  2 0x7ca255ae wined3d_device_create+0x1e26d() in wined3d (0x113ffbd8)
  3 0x7c9eb987 wined3d_buffer_create+0xb4c6() in wined3d (0x113ffe48)
  4 0x7c9f16e4 wined3d_buffer_create+0x11223() in wined3d (0x113ffe88)
  5 0x7c9f2e27 wined3d_buffer_create+0x12966() in wined3d (0x113ffed8)
  6 0x7bca39b0 call_thread_func_wrapper+0xb() in ntdll (0x113ffeec)
  7 0x7bca6f30 RtlCaptureStackBackTrace+0x25f() in ntdll (0x113fffdc)
  8 0x7bca39a2 call_thread_exit_func+0x31() in ntdll (0x113fffec)
0x7ca0c3ff wined3d_device_create+0x50bf in wined3d: movl        0x18(%edx),%ebx
Modules:
Module  Address                 Debug info      Name (143 modules)
PE        400000-  67f000       Deferred        prototypef
PE       3e80000- 52a4000       Deferred        prototypeenginef
PE      10000000-10164000       Deferred        gameoverlayrenderer
PE      17f70000-17ffb000       Deferred        xaudio2_3
PE      18000000-18037000       Deferred        binkw32
ELF     755f9000-75639000       Deferred        uxtheme<elf>
  \-PE  75600000-75639000       \               uxtheme
ELF     75639000-75694000       Deferred        usp10<elf>
  \-PE  75650000-75694000       \               usp10
ELF     75694000-75801000       Deferred        comctl32<elf>
  \-PE  756b0000-75801000       \               comctl32
ELF     75801000-75865000       Deferred        dinput8<elf>
  \-PE  75810000-75865000       \               dinput8
ELF     75865000-758f1000       Deferred        libvorbisenc.so.2
ELF     758f1000-75964000       Deferred        libflac.so.8
ELF     75964000-75a43000       Deferred        libgcrypt.so.20
ELF     75a43000-75ad2000       Deferred        libsndfile.so.1
ELF     75ad2000-75b80000       Deferred        libsystemd.so.0
ELF     75b80000-75bd3000       Deferred        libdbus-1.so.3
ELF     75bd3000-75c62000       Deferred        libpulsecommon-12.2.so
ELF     75c62000-75cbe000       Deferred        libpulse.so.0
PE      78130000-781cb000       Deferred        msvcr80
ELF     781d2000-78200000       Deferred        libvorbis.so.0
ELF     78503000-78526000       Deferred        libgpg-error.so.0
ELF     7862a000-78647000       Deferred        libgcc_s.so.1
ELF     78647000-78673000       Deferred        liblzma.so.5
ELF     7868c000-786a7000       Deferred        hid<elf>
  \-PE  78690000-786a7000       \               hid
ELF     786b9000-786ef000       Deferred        mmdevapi<elf>
  \-PE  786c0000-786ef000       \               mmdevapi
ELF     78c96000-7a800000       Deferred        libnvidia-glcore.so.430.14
ELF     7a800000-7a945000       Deferred        opengl32<elf>
  \-PE  7a840000-7a945000       \               opengl32
ELF     7a954000-7a96d000       Deferred        libresolv.so.2
ELF     7aa6d000-7aa9a000       Deferred        winepulse<elf>
  \-PE  7aa80000-7aa9a000       \               winepulse
ELF     7b400000-7b844000       Deferred        kernel32<elf>
  \-PE  7b430000-7b844000       \               kernel32
ELF     7bc00000-7bd37000       Dwarf           ntdll<elf>
  \-PE  7bc30000-7bd37000       \               ntdll
ELF     7c000000-7c005000       Deferred        <wine-loader>
ELF     7c111000-7c200000       Deferred        libglx_nvidia.so.0
ELF     7c411000-7c473000       Deferred        libgldispatch.so.0
ELF     7c473000-7c4d7000       Deferred        libgl.so.1
ELF     7c51d000-7c55c000       Deferred        dxgi<elf>
  \-PE  7c530000-7c55c000       \               dxgi
ELF     7c55c000-7c5b3000       Deferred        winspool<elf>
  \-PE  7c570000-7c5b3000       \               winspool
ELF     7c5b3000-7c604000       Deferred        wbemprox<elf>
  \-PE  7c5c0000-7c604000       \               wbemprox
ELF     7c607000-7c610000       Deferred        libogg.so.0
ELF     7c80c000-7c8a1000       Deferred        setupapi<elf>
  \-PE  7c820000-7c8a1000       \               setupapi
ELF     7c8a1000-7c8b9000       Deferred        kerberos<elf>
  \-PE  7c8b0000-7c8b9000       \               kerberos
ELF     7c8c0000-7c8cb000       Deferred        librt.so.1
ELF     7c8cb000-7c8ee000       Deferred        libglx.so.0
ELF     7c8ee000-7c940000       Deferred        dsound<elf>
  \-PE  7c900000-7c940000       \               dsound
ELF     7c940000-7c968000       Deferred        xinput1_3<elf>
  \-PE  7c950000-7c968000       \               xinput1_3
ELF     7c968000-7caec000       Dwarf           wined3d<elf>
  \-PE  7c9b0000-7caec000       \               wined3d
ELF     7caec000-7cb34000       Deferred        d3d9<elf>
  \-PE  7cb00000-7cb34000       \               d3d9
ELF     7cb34000-7d547000       Deferred        shell32<elf>
  \-PE  7cb60000-7d547000       \               shell32
ELF     7d547000-7d583000       Deferred        ws2_32<elf>
  \-PE  7d550000-7d583000       \               ws2_32
ELF     7d583000-7d5b9000       Deferred        shcore<elf>
  \-PE  7d590000-7d5b9000       \               shcore
ELF     7d5bd000-7d5c5000       Deferred        libasyncns.so.0
ELF     7d5ca000-7d5f7000       Deferred        iphlpapi<elf>
  \-PE  7d5d0000-7d5f7000       \               iphlpapi
ELF     7d5f7000-7d687000       Deferred        shlwapi<elf>
  \-PE  7d610000-7d687000       \               shlwapi
ELF     7d687000-7d6b0000       Deferred        gameux<elf>
  \-PE  7d690000-7d6b0000       \               gameux
ELF     7d7d2000-7d7da000       Deferred        libxfixes.so.3
ELF     7d7da000-7d7e7000       Deferred        libxcursor.so.1
ELF     7d7e7000-7d7fb000       Deferred        libxi.so.6
ELF     7d7fb000-7d800000       Deferred        libxcomposite.so.1
ELF     7d800000-7d80f000       Deferred        libxrandr.so.2
ELF     7d80f000-7d81d000       Deferred        libxrender.so.1
ELF     7d81d000-7d824000       Deferred        libxxf86vm.so.1
ELF     7d824000-7d850000       Deferred        libxcb.so.1
ELF     7d850000-7d99d000       Deferred        libx11.so.6
ELF     7d9a4000-7d9a9000       Deferred        libnvidia-tls.so.430.14
ELF     7d9cd000-7d9e3000       Deferred        api-ms-win-core-sysinfo-l1-2-1<elf>
  \-PE  7d9d0000-7d9e3000       \               api-ms-win-core-sysinfo-l1-2-1
ELF     7d9e3000-7da97000       Deferred        winex11<elf>
  \-PE  7da00000-7da97000       \               winex11
ELF     7daf3000-7db09000       Deferred        libxext.so.6
ELF     7db09000-7db1f000       Deferred        api-ms-win-core-localization-l1-2-1<elf>
  \-PE  7db10000-7db1f000       \               api-ms-win-core-localization-l1-2-1
ELF     7db1f000-7db35000       Deferred        api-ms-win-core-fibers-l1-1-1<elf>
  \-PE  7db30000-7db35000       \               api-ms-win-core-fibers-l1-1-1
ELF     7db35000-7db4b000       Deferred        api-ms-win-core-synch-l1-2-0<elf>
  \-PE  7db40000-7db4b000       \               api-ms-win-core-synch-l1-2-0
ELF     7db4b000-7db61000       Deferred        psapi<elf>
  \-PE  7db50000-7db61000       \               psapi
ELF     7db61000-7db9f000       Deferred        msacm32<elf>
  \-PE  7db70000-7db9f000       \               msacm32
ELF     7db9f000-7dc78000       Deferred        winmm<elf>
  \-PE  7dbb0000-7dc78000       \               winmm
ELF     7dc78000-7dc9f000       Deferred        imm32<elf>
  \-PE  7dc80000-7dc9f000       \               imm32
ELF     7dd24000-7dd60000       Deferred        libexpat.so.1
ELF     7dd60000-7ddac000       Deferred        libfontconfig.so.1
ELF     7ddac000-7de25000       Deferred        libpcre.so.1
ELF     7de25000-7df61000       Deferred        libglib-2.0.so.0
ELF     7df61000-7e076000       Deferred        libharfbuzz.so.0
ELF     7e076000-7e090000       Deferred        libz.so.1
ELF     7e090000-7e0d0000       Deferred        libpng16.so.16
ELF     7e0d0000-7e1a6000       Deferred        libfreetype.so.6
ELF     7e1a6000-7e1ab000       Deferred        libxinerama.so.1
ELF     7e1ab000-7e1b3000       Deferred        libxdmcp.so.6
ELF     7e1ec000-7e2c7000       Deferred        msvcrt<elf>
  \-PE  7e210000-7e2c7000       \               msvcrt
ELF     7e2c7000-7e412000       Deferred        oleaut32<elf>
  \-PE  7e300000-7e412000       \               oleaut32
ELF     7e412000-7e4ba000       Deferred        rpcrt4<elf>
  \-PE  7e430000-7e4ba000       \               rpcrt4
ELF     7e4ba000-7e63c000       Deferred        ole32<elf>
  \-PE  7e4f0000-7e63c000       \               ole32
ELF     7e63c000-7e6d4000       Deferred        advapi32<elf>
  \-PE  7e650000-7e6d4000       \               advapi32
ELF     7e6d4000-7e826000       Deferred        gdi32<elf>
  \-PE  7e6f0000-7e826000       \               gdi32
ELF     7e826000-7ea5f000       Deferred        user32<elf>
  \-PE  7e850000-7ea5f000       \               user32
ELF     7eed9000-7eeee000       Deferred        libnss_files.so.2
ELF     7eeee000-7efba000       Deferred        libm.so.6
ELF     7efbd000-7efc2000       Deferred        libxau.so.6
ELF     7efc2000-7efd4000       Deferred        libbz2.so.1.0
ELF     7efd4000-7f000000       Deferred        version<elf>
  \-PE  7efe0000-7f000000       \               version
ELF     f7b9e000-f7ba4000       Deferred        libdl.so.2
ELF     f7be0000-f7bea000       Deferred        libuuid.so.1
ELF     f7bea000-f7dc6000       Deferred        libc.so.6
ELF     f7dc6000-f7de7000       Deferred        libpthread.so.0
ELF     f7de7000-f7f9f000       Dwarf           libwine.so.1
ELF     f7fa1000-f7fcb000       Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
00000008 Steam.exe
        000000be    0
        000000ae    0
        00000099    0
        00000098    0
        00000095    0
        00000092    0
        0000006c    0
        0000006b    0
        00000068    0
        00000067    0
        00000066    0
        00000065    0
        00000064    0
        00000063    0
        00000061    0
        00000060    2
        0000005d    0
        0000005b    2
        0000005a    0
        00000057    0
        00000055    0
        00000054    0
        00000051    0
        00000050    0
        0000004f    0
        00000009    0
0000000e services.exe
        00000040    0
        0000003b    0
        00000036    0
        0000002e    0
        00000028    0
        00000025    0
        00000022    0
        00000013    0
        00000010    0
        0000000f    0
00000011 winedevice.exe
        00000017    0
        00000016    0
        00000012    0
00000020 winedevice.exe
        00000024    0
        00000023    0
        00000021    0
00000026 winedevice.exe
        0000002b    0
        0000002a    0
        00000029    0
        00000027    0
0000002c plugplay.exe
        00000030    0
        0000002f    0
        0000002d    0
00000031 PnkBstrA.exe
        00000038    0
        00000037    0
        00000032    0
00000039 winedevice.exe
        0000003d    0
        0000003c    0
        0000003a    0
0000003e winedevice.exe
        00000042    0
        00000041    0
        0000003f    0
0000004a explorer.exe
        0000004e    0
        0000004d    0
        0000004c    0
        0000004b    0
00000052 steamwebhelper.exe
        000000af    0
        0000009b    0
        0000009a    0
        00000091    0
        00000090    0
        0000008f    0
        0000008e    0
        0000008d    0
        0000008c    0
        0000008b   -2
        0000008a    0
        00000089    0
        00000088    0
        00000087   -2
        00000086    0
        00000085    0
        00000084    0
        00000083    0
        00000082    0
        00000081   -2
        00000080    0
        0000007f    0
        0000007e    0
        0000007d    0
        0000007c    0
        0000007b   -2
        0000007a   -2
        00000079    0
        00000078    0
        00000077    0
        00000076    0
        00000053    0
00000058 steamwebhelper.exe
        00000075    0
        00000074    0
        00000073    0
        00000072    0
        00000071    0
        0000006f    0
        0000006e    0
        0000006d    0
        00000059    0
000000bc (D) G:\steam\steamapps\common\Prototype\prototypef.exe
        000000d3    1
        000000d2   15
        000000d1   15
        000000ce   15
        000000cd    2
        000000cc    0
        000000cb    0
        000000ca    0 <==
        000000c9    1
        000000c8    1
        000000c7   15
        000000c6    0
        000000c5    0
        000000c4    0
        000000c3    2
        000000bd    0
System information:
    Wine build: wine-4.8
    Platform: i386
    Version: Windows 7
    Host system: Linux
    Host version: 5.1.2-arch1-1-ARCH
I don't know how to read crash report, but seem related to audio problem because xaudio is mentioned in backtrace.
Somebody have idea about to get audio and cutscenes work?
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Prototype 1 crash in cutescene and audio do not work

Post by Bob Wya »

macchinetta wrote:...

I don't know how to read crash report, but seem related to audio problem because xaudio is mentioned in backtrace.
Somebody have idea about to get audio and cutscenes work?
Hi ya macchinetta,

I fixed some issues with the Prototype AppDB page you linked to.
Added a Steam Store URI, application image, and fixed the most recent test submission.

A backtrace is pretty useless, without the preceeding Wine terminal log.
In this instance, since Wine is crashing in the wined3d component, can you supply a full terminal log with:

Code: Select all

export WINEDEBUG=+wgl
wine Steam.exe -applaunch 10150 &> ~/wine_steam_prototype_wgl_log.txt # (or: wine Steam.exe steam://rungameid/10150 )
Please ensure that you have native xact installed with winetricks:

Code: Select all

winetricks xact
Alternatively you may wish to try installing the mingw build of faudio:

Code: Select all

winetricks faudio
which installs the Wine compatible build of the FNA xaudio 2 compatibility layer.
See: Github: FNA-XNA/FAudio.

Bob
macchinetta

Re: Prototype 1 crash in cutescene and audio do not work

Post by macchinetta »

Hello. Thank-you for answer.

Tried faudio, do not work with prototype, game output a message-box like "xaudio2 not found, check directx9 installation. Game will continue without audio".

Native xact is installed, also reinstalled with --force after faudio failure.


I try to set this regedit key in accordion with windows user that resolving issue modify this settings on windows:
[Software\\Wine\\DirectSound]
"DefaultBitsPerSample"="24"
"DefaultSampleRate"="24100"

I do not understand if this setting is still present in new wine version, but do not change anything.


I've generated three log with "+dsound,+dsound3d,+xaudio2,+wgl":

First with cutscene disabled, game work, also new/load game work, but without sound:
wine_steam_prototype_cutscene_disabled_wgl_log.tar.bz2
Second with cutscene enabled, game crash at first cutscene if I don't skip it:
wine_steam_prototype_cutscene_enabled_wgl_log.tar.bz2
Third with cutscene enabled but manual skipping pressing esc within time in order to avoid game crash, and, strange things, I've graphical glitches in menu and game, in spite off disabling cutscene glitches are not present :?: ):
wine_steam_prototype_cutscene_manual_skipped.tar.bz2
macchinetta

Re: Prototype 1 crash in cutescene and audio do not work

Post by macchinetta »

Hello. I realized that only crashing cutscene is intro video but other cutscene do not crash, then I try to decompress "movies.rcf" with ScarfaceExplorer, same in audio workaround (that not work for me), then I've renamed only file relative to intro video and menu video: no more crash neither glitch in menu. :D

Unfortunately audio still not work, both cutscene and game/menu is totally mute. :(

I try to create log with "+dsound,+d3dsound,+xactengine,+xaudio,+xaudio2_3,+x3daudio,+binkw32,+sound" (guessing because debug page do not still report list of debug channels) but wine do not print anything about sound or audio.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Prototype 1 crash in cutescene and audio do not work

Post by Bob Wya »

macchinetta wrote:Hello. I realized that only crashing cutscene is intro video but other cutscene do not crash, then I try to decompress "movies.rcf" with ScarfaceExplorer, same in audio workaround (that not work for me), then I've renamed only file relative to intro video and menu video: no more crash neither glitch in menu. :D

Unfortunately audio still not work, both cutscene and game/menu is totally mute. :(

I try to create log with "+dsound,+d3dsound,+xactengine,+xaudio,+xaudio2_3,+x3daudio,+binkw32,+sound" (guessing because debug page do not still report list of debug channels) but wine do not print anything about sound or audio.
What codec is the movies.rcf file using?
I.e. what's the output from:

Code: Select all

mediainfo movies.rcf
Nothing very enlightening in your logs so far...

Could we have a further Wine terminal log with:

Code: Select all

export WINEDEBUG=+loaddll,+module,+gstreamer
Ta
Bob
macchinetta

Re: Prototype 1 crash in cutescene and audio do not work

Post by macchinetta »

I think you don't have understand.

"movies.rcf" is an archive format, such zip or tar.

Files extract from it (trough ScarfaceExplorer) is normal BIK video.

Vlc play it with audio, vlc and smplayer said audio codec is BAU/binkaudio_dct.

Mediainfo do not said anything except stream size.

Files extract from "00audio.rcf" is in .p3d format.

Nor vlc neither smplayer recognize it.

Mediainfo do not said anything except stream size.

This is the log:
wine_steam_prototype_log.tar.bz2
macchinetta

Re: Prototype 1 crash in cutescene and audio do not work

Post by macchinetta »

In addition I create log with:

+tid,+seh,+mmdevapi,+winmm,+driver,+msacm,+midi,+dsound,+dsound3d,+xaudio2,+xapofx,+dmusic,+mci,+pulse,+oss,+alsa,+coreaudio,+timestamp

As described in wiki sound page. This seems log many information:
wine_steam_prototype_log.tar.gz
Hope this help.
macchinetta

Re: Prototype 1 crash in cutescene and audio do not work

Post by macchinetta »

Sorry for bump.

I found this video on YT: https://www.youtube.com/watch?v=re5pscD6VZA

Show Prototype working with audio on wine 3.14.

After lots of try I been able to run prototype in wine 3.14 disabling steamgameoverlay.dll (see bug 46142), but still NO sound for me. :cry:

What difference between my installation and YT guy installation?

I try to run in another wine prefix, but I'm not able to do it because steam get an error (I can't read it because popup is invisible :-/) when I try to share library in order to don't re-download game.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Prototype 1 crash in cutescene and audio do not work

Post by Bob Wya »

macchinetta wrote:Sorry for bump.
...
No need to apologise.
Don't worry...
I have been thinking about this issue! :shock:
It's just not "brain dead" obvious. Like a lot of the common Wine issues are.

Probably the first thing to check is that your alsa default device isn't stealing your Wine pulse output.

Personally I had to borrow this Arch package (well single configuration file) for my Gentoo install recently: pulseaudio-alsa 2-4.
I found I'd lost sound, on most of my Wine-based Windows games...

Basically my laptop builtin Intel audio is default alsa device...
But I use a USB DAC and some Grado headphones, as my default pulseaudio device.
Seems like Wine decided to send it's output to a disabled alsa device... :roll:

For reference my installed Arch alsa and pulseaudio packages are:

Code: Select all

local/lib32-libcanberra-pulse 0.30+2+gc0620e4-1
    PulseAudio plugin for libcanberra (32-bit)
local/lib32-libpulse 12.2-1
    A featureful, general-purpose sound server (32-bit client libraries)
local/libao 1.2.2-2
    Cross-platform audio output library and plugins
local/libcanberra-pulse 0.30+2+gc0620e4-2
    PulseAudio plugin for libcanberra
local/libcec 4.0.3-2
    Pulse-Eight's libcec for the Pulse-Eight USB-CEC adapter
local/libpulse 12.2-2
    A featureful, general-purpose sound server (client library)
local/pavucontrol 1:4.0-1
    PulseAudio Volume Control
local/plasma-pa 5.15.4-1 (plasma)
    Plasma applet for audio volume management using PulseAudio
local/pulseaudio 12.2-2
    A featureful, general-purpose sound server
local/pulseaudio-alsa 2-4
    ALSA Configuration for PulseAudio
local/pulseaudio-bluetooth 12.2-2
    Bluetooth support for PulseAudio
local/alsa-lib 1.1.8-1
    An alternative implementation of Linux sound support
local/alsa-plugins 1.1.8-1
    Extra alsa plugins
local/alsa-utils 1.1.8-1
    An alternative implementation of Linux sound support
local/lash 0.6.0~rc2-14
    Session management system for JACK and ALSA
local/lib32-alsa-lib 1.1.8-2
    An alternative implementation of Linux sound support (32 bit)
local/lib32-alsa-plugins 1.1.8-1
    Extra alsa plugins (32-bit)
local/pulseaudio-alsa 2-4
    ALSA Configuration for PulseAudio
local/zita-alsa-pcmi 0.3.2-1
    The successor of clalsadrv, provides easy access to ALSA PCM devices.
I'm sure not all of them are needed (just for Wine) - but a lot of the 32-bit libraries will be...
But that set of packages gives me a working Wine setup, which I often use with either Proton or TK-Glitch's Arch wine PKGBUILD.

Bob
macchinetta

Re: Prototype 1 crash in cutescene and audio do not work

Post by macchinetta »

Probably the first thing to check is that your alsa default device isn't stealing your Wine pulse output.
With others games under wine audio working well, and winecfg audio test work well. Then problem is not of wine pulse output but is localized to prototype.

Anyway I also try to set wine to use alsa (I know it's just a workaround) and audio still don't work in prototype.

And last time I've missing audio in a game under wine I solved right uninstalling pulseaudio-alsa, that was listed as wine optional depends.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Prototype 1 crash in cutescene and audio do not work

Post by Bob Wya »

@macchinetta

Probably best then to file a bug at this point. You can probably attached all those Wine terminal log files.

Just DO NOT call them all the same name (like you did with the files you've attached so far). :roll:

You'd want to suffix each file with the WINEDEBUG options you've enabled.

Wine Bugzilla has a 5000 Kbytes (? was it raised to 10000 Kbytes recently ?) file size limit...
So I'd stick to only using extreme xz file compression, e.g.:

Code: Select all

xz -e -9 log_file.txt
Please cross-link your bug report, to this forum thread.

I'll ping a gullible Wine Developer, to take a look at your bug report (when it's up)... 8)

Thanks
Bob
macchinetta

Re: Prototype 1 crash in cutescene and audio do not work

Post by macchinetta »

Hello. I've found a bug yet present and updated it:
https://bugs.winehq.org/show_bug.cgi?id=43846

Also found a bug about crash in intro video:
https://bugs.winehq.org/show_bug.cgi?id=18987
macchinetta

Re: Prototype 1 crash in cutescene and audio do not work

Post by macchinetta »

Update:

I have set all xaudio.dll to builtin for generate new log as required in bug report and now... Work!! o_O

I try to reset xaudio2_3 to native and not work, but when I do first try last week xaudio2_3 was set builtin.

The mysteries.

Maybe wine 4.8 fixed some issues with xaudio?
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Prototype 1 crash in cutescene and audio do not work

Post by Bob Wya »

macchinetta wrote:Update:

I have set all xaudio.dll to builtin for generate new log as required in bug report and now... Work!! o_O

I try to reset xaudio2_3 to native and not work, but when I do first try last week xaudio2_3 was set builtin.

The mysteries.

Maybe wine 4.8 fixed some issues with xaudio?
That's great news! 8)

But just to backtrack a bit...

What Arch wine package is that specifically?

I presume you've previously done:

Code: Select all

winetricks xact
Was that verb (/ Prototype) installed to a 32-bit WINEPREFIX?

Bob
macchinetta

Re: Prototype 1 crash in cutescene and audio do not work

Post by macchinetta »

Plain wine in pacman:
multilib/wine 4.9-1 [installato]
A compatibility layer for running Windows programs
Released yesterday.

Yes, I do "winetricks xact" and wine prefix is 32bit wineprefix.

But I've been try to run prototype before do winetricks xact and audio not worked.

Maybe i can retry with wine 8.x in order to see if wine 4.9 solved problem with built-in dll.
macchinetta

Re: Prototype 1 crash in cutescene and audio do not work

Post by macchinetta »

Hello.

I've try with wine 3.4 (see bug 47267 for details) and audio not work as above, then I think I can confirmed that wine 4.9 solve issue with native xaudio.

Also check in wine 4.9 log I read:

Ethan Lee (1):
xaudio2: Use new features from FAudio 19.06 (but keep compatibility for <=19.05).


and

Nikolay Sivov (50):
xaudio2: Fix 32-bit build.


Probably this commit have fixed audio problem.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Prototype 1 crash in cutescene and audio do not work

Post by Bob Wya »

macchinetta wrote:Hello.

I've try with wine 3.4 (see bug 47267 for details) and audio not work as above, then I think I can confirmed that wine 4.9 solve issue with native xaudio.

Also check in wine 4.9 log I read:

Ethan Lee (1):
xaudio2: Use new features from FAudio 19.06 (but keep compatibility for <=19.05).


Probably this commit have fixed audio problem.
I doubt that very much... Especially as it's pure speculation on your part... :roll:
As the commit only introduces backward compatibility for a, as yet unreleased, version of faudio.

You'd need to do a proper (reverse-)regression test, to determine the actual commit fixing your issue.
See: WineHQ Wiki: Regression Testing.

Bob
macchinetta

Re: Prototype 1 crash in cutescene and audio do not work

Post by macchinetta »

You doubt for first commit I've quoted, but I thought is more likely second comment I've quoted.

Anyway I'm not really interested to do a regression test in this case.

Unless I can apply that commit to wine version that have StrictDrawOrdering, but I doubt that it's possible and easy.

Probably best chance is try to run prototype in 64bit wine-prefix with wine 3.4, as commit is described as "fix 32-bit build", but steam in 64bit prefix refuse to open library in 32bit prefix. I do not understand why.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Prototype 1 crash in cutescene and audio do not work

Post by Bob Wya »

macchinetta wrote:Anyway I'm not really interested to do a regression test in this case.
It's actually very useful to track down why things stop working and start working again...
E.g. just now my wine builds aren't able to start the Windows Steam client.
Obviously that's quite a big deal to me... So it's top of my list of things to check (when I have the time).
It looks like a Steam Client update - since I have many older versions of Wine installed (to quickly test for Wine regressions).

Otherwise "things" happen to your Wine-based games...
All you can do is post online: "Oh dear all my games are broken now! Help!"

A more pro-active approach is definitely more beneficial to your sanity (and everyone else's!) :lol:
macchinetta wrote:Unless I can apply that commit to wine version that have StrictDrawOrdering, but I doubt that it's possible and easy.
I have no idea what you mean by this statement??!! :?

StrictDrawOrdering has been disabled for months now - since Wine 3.0-rc1).
The move to enable multi-threaded command stream support, by default - since Wine 3.2, means that draw calls will be ordered by default now (OTTB).
Since a single thread is responsible for queuing all draw calls. Hence why the StrictDrawOrdering setting is depreciated (i.e. because it is redundant and no longer required).

See: WineHQ Wiki: Useful Registry Keys.
macchinetta wrote: Probably best chance is try to run prototype in 64bit wine-prefix with wine 3.4, as commit is described as "fix 32-bit build", but steam in 64bit prefix refuse to open library in 32bit prefix. I do not understand why.
Que? :?

That makes no sense what-so-ever... Typing faster than the human brain can process??!! :lol:

Bob
macchinetta

Re: Prototype 1 crash in cutescene and audio do not work

Post by macchinetta »

Sorry for my bad english, I still have some problem to speak it.

But you probably don't read what I write in bug 47267 that I linked above:
  • Prototype 1 has hurt performance when csmt is enabled, max 20fps, disabling csmt performance is min 30fps and max 80fps (game is probably bad optimize) but have graphics glitches as geometry flickering, pieces draw in wrong places and animation frame missing.

    Try with wine 3.4, that is last version with StrictDrawOrdering settings and enabling it, game do not have geometry glitches in spite of csmt is disabled and have acceptable performance (30~80fps).

    Then I think is a good idea reintroduce StrictDrawOrdering settings in new wine, that is useful for game that not take profit from csmt.
That explain my statement and make sense apply commit that solve audio issue at wine 3.4 (according useful registry keys page is this the last version with strictdrawordering, not 3.0-rc1).
Probably best chance is try to run prototype in 64bit wine-prefix with wine 3.4, as commit is described as "fix 32-bit build"
I retry to explain: reading "fix 32-bit build" I understand "64-bit build is already working", and considered that I said above, I think one solution to solve both issues (audio and fps) is run prototype in wine 3.4 with 64bit prefix.

I was able to explain myself?

Only problem to do this is that I've problem to share steam library between two prefix, and I should't want re-download entire game in another wineprefix in order to preserve my ssd.
It's actually very useful to track down why things stop working and start working again...
Yes, but audio in prototype with built-in xaudio never working first 4.9, there is not a regressions, if I would founded a working version I sure did a regressions test to found bad commit.
This case there is just a good commit that fix problem never fixed before.

If audio shall stop working again, I will do regression test to found bad commit that regressing actual good commit.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Prototype 1 crash in cutescene and audio do not work

Post by Bob Wya »

macchinetta wrote:Sorry for my bad english, I still have some problem to speak it.

But you probably don't read what I write in bug 47267 that I linked above:

...
Ah right... Yup... I hadn't looked at that other bug report.

It will need a terminal log. A rough minimum being something like:

Code: Select all

export WINEDEBUG=+wgl,+d3d,+fps
Probably both with CSMT enabled and CSMT disabled, for both wine 4.9 and wine-staging 4.9.



You might also want to look at wine-pba or dvk9, as ways to increase your d3d9 performance, for this older game.

wine-pba

Github Tk-Glitch / PKGBUILDS / wine-tkg-git supports building wine-pba, but only for versions of Wine between 3.10-3.18.
I did try to rebase wine-pba past Wine 3.19, but this proved to be a major challenge.
See: Github: acomminos / wine-pba.

dvk9

See: Github: Joshua-Ashton / d9vk.
Early days yet... But rapid development!
dvk9 translates d3d9d3d11 calls. These d3d11 calls are then translated to (native Linux) Vulkan graphics calls.
It's forked directly off the popular dxvk project... Which provides a d3d10/d3d11Vulkan translation layer.

VK9

Finally there is also the VK9 project to keep an eye on... But in the longer term.
This is a slower moving project. Providing a self-encapsulated d3d9Vulkan (native Linux) translation layer.
See: Github: disks86 / VK9.


Confusing or what??!! :shock: :lol:


macchinetta wrote:Yes, but audio in prototype with built-in xaudio never working first 4.9, there is not a regressions, if I would founded a working version I sure did a regressions test to found bad commit.
This case there is just a good commit that fix problem never fixed before.

If audio shall stop working again, I will do regression test to found bad commit that regressing actual good commit.
I was suggesting for you to run a git bisection to find the first working commit.
It's just as useful to know why something has started working suddenly vs. when something stops working.
Randomness is not generally not good, when it comes to whether you games work, or not... :o

Bob
macchinetta

Re: Prototype 1 crash in cutescene and audio do not work

Post by macchinetta »

Hello. Thank for suggestions.

First I try VK9 because that's in AUR (DVK9 that's not) but that's can't work with steam because:

Code: Select all

009a:err:module:import_dll Loading library d3d9.dll (which is needed by L"G:\\steam\\bin\\cef\\cef.win7\\libcef.dll") failed (error c000035a).
009a:err:module:import_dll Library libcef.dll (which is needed by L"G:\\steam\\bin\\cef\\cef.win7\\steamwebhelper.exe") not found
009a:err:module:LdrInitializeThunk Importing dlls for L"G:\\steam\\bin\\cef\\cef.win7\\steamwebhelper.exe" failed, status c0000135
I try to override library just for prototype and not for steam, but steam start anyway, when I start prototype (and other games if d3d9 is override for all) I get that error and game not start with generic directx error.


Trying to create log with these channels, but is big more than 3gb (compressing with xz is 100mb). :shock:


And for the moment no time to do a complete regression test.
I think to it in the next days.
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Prototype 1 crash in cutescene and audio do not work

Post by Bob Wya »

macchinetta wrote:Hello. Thank for suggestions.

First I try VK9 because that's in AUR (DVK9 that's not) but that's can't work with steam because
Like I said don't expect much from vk9, it's at very immature stage at present.

Just to be clear the mingw builds of dxvk and dvk9 are available as winetricks verbs.
I keep them up to date - obviously that would require using the winetricks git master (which I'd generally recommend anyway).

Bob
macchinetta

Re: Prototype 1 crash in cutescene and audio do not work

Post by macchinetta »

Hello.

You probably means d9vk, inverted letters. 8)

Code: Select all

aur/d9vk-bin 0.11-1 (6, 4.54)
    A d3d9 to vk layer based off DXVK's codebase. Binary version  
That's not in winetricks-20190310, anyway I preferred Arch way, so I can check easy for update through AUR Helper script.

Installing, setup and try, prototype start but get infinite load screen with this error:

Code: Select all

terminate called after throwing an instance of 'std::out_of_range'
  what():  array::at: __n (which is 1188) >= _Nm (which is 17)
00c7:err:ntdll:RtlpWaitForCriticalSection section 0x3dd5280 "?" wait timed out in thread 00c7, blocked by 00b5, retrying (60 sec)
wine: Unhandled exception 0x80000003 in thread be at address 0x7bca3b74 (thread 00be), starting debugger...
Trying with another game, result in black screen with sound.

:?:
User avatar
Bob Wya
Level 12
Level 12
Posts: 3068
Joined: Sat Oct 16, 2010 7:40 pm

Re: Prototype 1 crash in cutescene and audio do not work

Post by Bob Wya »

macchinetta wrote:Hello.

You probably means d9vk, inverted letters. 8)

Code: Select all

aur/d9vk-bin 0.11-1 (6, 4.54)
    A d3d9 to vk layer based off DXVK's codebase. Binary version  
Hmm... yup! :shock:
It's a *vk* naming nightmare... With all these different Vulkan translation layers! :lol:

Yeah that package will be fine...
Since it's just pulling in the Upstream build - in a similar manner to the winetricks d9vk verbs (but in installed globally).
macchinetta wrote: That's not in winetricks-20190310, anyway I preferred Arch way, so I can check easy for update through AUR Helper script.
The winetricks way is to update (roughly) every week (which is what I do).
But we can agree to disagree on that one!
macchinetta wrote: Installing, setup and try, prototype start but get infinite load screen with this error:

Code: Select all

terminate called after throwing an instance of 'std::out_of_range'
  what():  array::at: __n (which is 1188) >= _Nm (which is 17)
00c7:err:ntdll:RtlpWaitForCriticalSection section 0x3dd5280 "?" wait timed out in thread 00c7, blocked by 00b5, retrying (60 sec)
wine: Unhandled exception 0x80000003 in thread be at address 0x7bca3b74 (thread 00be), starting debugger...
Feel free to file a new issue: Github : Joshua-Ashton / d9vk : Issues.
I've a batch of old games that I'll file Issues with, probably after the next release of d9vk...

Bob
Locked