Prototype 1 crash in cutescene and audio do not work

Questions about Wine on Linux
macchinetta

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

Post by macchinetta »

I managed to control the use of the vram during the execution of the game: just before it freezes is about 460mb. :?:

Tried with and without csmt, tried setting __PBA_CB_HEAP = 1536, it always freezes.
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 managed to control the use of the vram during the execution of the game: just before it freezes is about 460mb. :?:

Tried with and without csmt, tried setting __PBA_CB_HEAP = 1536, it always freezes.
I can comment that you don't want to set __PBA_CB_HEAP (constant buffer heap) above 128 Mbytes, on an Nvidia card.
My variant of the wine-pba patchset automatically sets __PBA_CB_HEAP to 0 Mb - for DirectX 9.0c titles.

Otherwise I'm not sure what is going wrong, with wine-pba, on your system.

Bob
macchinetta

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

Post by macchinetta »

Nothing. Even setting __PBA_CB_HEAP=0 does not change anything.

Have you read the posts 49 and 50?
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:...
Have you read the posts 49 and 50?
Erm... Probably :?

Bob
macchinetta

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

Post by macchinetta »

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:post 49: viewtopic.php?f=2&t=32421&start=25#p122881
post 50: viewtopic.php?f=2&t=32421&start=25#p122885

Especially the last log I posted.
I'm not entirely convinced by that Lutris thread (which yes, I had already read through)...
If wine-pba exhausts your entire VRAM - I can't see you being in a happy place... :|

I've certainly had issues with VRAM exhaustion before - when I was using a 768 Mb Geforce 8800 GTX.
Essentially you aren't suggesting, politely that wine-pba can use 2048 Mb of VRAM.
You are telling wine-pba to pre-allocate 2048 Mb of VRAM.
This is bound to be problematic on modern Desktop Environments...

I would suggest lowering in-game, Prototype graphics settings and resolution, to work around exhaustion of the wine-pba global buffers.
I have to presume the game is buggy / doing something dubious - to require so much VRAM for a D3D9 title.

Recent logs are showing nothing of great note. Otherwise I would of commented on them...

Bob
macchinetta

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

Post by macchinetta »

Anyway I'm not so convinced about the game uses the whole vram.

Controlling the use through the nVidia panel vRam usage does not exceed 500mb.

Prototype settings are already lowest.

And "decreasing" and "out of range" errors sounds like wine ends up setting the wrong value regardless:

Code: Select all

0080:fixme:d3d_perf:create_buffer_heap geo_heap_size set automatically to: 1536 Mb
0080:fixme:d3d_perf:create_buffer_heap cb_heap_size set automatically to: 128 Mb
0080:err:d3d:wined3d_debug_callback 0x1870b0: "GL_OUT_OF_MEMORY error generated. Failed to allocate memory for buffer data.".
0080:err:d3d:wined3d_debug_callback 0x1870b0: "GL_INVALID_VALUE error generated. Offset and/or length are out of range.".
0080:err:d3d:wined3d_buffer_heap_create Couldn't map persistent buffer.
0080:err:d3d:create_buffer_heap Automatically descreasing geo_heap_size to: 1207959552, due to heap creation failure.
0080:err:d3d:wined3d_debug_callback 0x1870b0: "GL_OUT_OF_MEMORY error generated. Failed to allocate memory for buffer data.".
0080:err:d3d:wined3d_debug_callback 0x1870b0: "GL_INVALID_VALUE error generated. Offset and/or length are out of range.".
0080:err:d3d:wined3d_buffer_heap_create Couldn't map persistent buffer.
0080:err:d3d:create_buffer_heap Automatically descreasing geo_heap_size to: 905969664, due to heap creation failure.
0080:err:d3d:wined3d_debug_callback 0x1870b0: "GL_OUT_OF_MEMORY error generated. Failed to allocate memory for buffer data.".
0080:err:d3d:wined3d_debug_callback 0x1870b0: "GL_INVALID_VALUE error generated. Offset and/or length are out of range.".
0080:err:d3d:wined3d_buffer_heap_create Couldn't map persistent buffer.
0080:err:d3d:create_buffer_heap Automatically descreasing geo_heap_size to: 679477248, due to heap creation failure.
0080:err:d3d:wined3d_debug_callback 0x1870b0: "GL_OUT_OF_MEMORY error generated. Failed to allocate memory for buffer data.".
0080:err:d3d:wined3d_debug_callback 0x1870b0: "GL_INVALID_VALUE error generated. Offset and/or length are out of range.".
0080:err:d3d:wined3d_buffer_heap_create Couldn't map persistent buffer.
0080:err:d3d:create_buffer_heap Automatically descreasing geo_heap_size to: 509607936, due to heap creation failure.
0080:fixme:d3d:create_buffer_heap Initialized PBA (geo_heap_size: 509607936, cb_heap_size: 134217728, ub_align: 256)
And anyway with pba and csmt disabled the game reaches 90fps without crashing (in moments with few elements drawn on the screen, I mean, and has the already said graphics glitch).

Also another strange thing, if I do alt + tab or change desktop before the game freezes the game freezes at that time, but logs another error:

Code: Select all

008a:err:ntdll:RtlpWaitForCriticalSection section 0x2055dc "?" wait timed out in thread 008a, blocked by 0000, retrying (60 sec)
and this only happens with pba enabled too.
macchinetta

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

Post by macchinetta »

Update:

I realized that the game freezes although pba is disabled, I have misled myself sometimes it freezes during the intro screen, sometimes in the menu and sometimes when the game starts, so at first I saw that it no longer froze in the menu and I thought it worked.

So I start to think that the problem is not pba but a bug in wine 3.18 or in my tgk-build and maybe the gl out of memory errors have nothing to do with it.
(And we were hunting the ghosts :oops: ).
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:...

So I start to think that the problem is not pba but a bug in wine 3.18 or in my tgk-build and maybe the gl out of memory errors have nothing to do with it.
(And we were hunting the ghosts :oops: ).
Sure it's a minefield. There are known issues with gcc 9.1.0 - but Arch is still shipping gcc 8.3.0.
The tk-glitch wine-tkg-git package is also built with standard optimisation, by default - so also not an issue...
So nothing is leaping out at me.

Wine is a tricky beast. I had a compiler optimisation set globally: -falign-functions=32 ...
I was building my Wine packages with this and it broke Steam...
Basically because Steam relies on a specific sequence of bytes, at the prolog (start) of a dynamic link library, which it re-writes to hook into it's "own" libraries initally.
Obviously forcing 4 byte alignment was breaking this. :oops:

Interestingly, by coincidence, wine-pba came up on the wine-devel mailing list this week!
I remember speaking to Matteo, about wine-pba, at last years Wineconf...
He did seem quite keen on this specific approach, to improving wined3d's performance!

dxvk is not popular with Wine D3D's developers (by contrast) - because the long-term plan is to re-implement this translation layer, in C, as builtin Wine functionality...
I.e. to extend vkd3d "backwards". Very laudable aims... But how many (Wine) years is that going to take... :lol:

Bob
macchinetta

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

Post by macchinetta »

I have (almost) good news:
with wine 3.19* PBA without staging patch I get a small performance gain, about 30fps with CSMT enabled against about 13fps without PBA.
(*read below)

But still we are not out of the minefield, because there seems to be no difference between PBA enabled and not enabled, and the game freezes after a few minutes with strange error in log (see attachment below) and if I try to disable csmt the game crashes at startup in d3d9 and wined3d (only the backtrace is displayed, no errors in the plain log).
wine-pba-without-staging-prototype-log.tar.gz
In summary:
  • Wine 3.18 plain binary from arch archive at archive.org -> WORK both with CSMT enabled and disabled.
  • Wine 3.19 PBA compiled from AUR -> random FREEZE ad described in the post above.
  • Wine 3.18 staging and 3.19 staging binary from arch archive at archive.org -> random FREEZE as described in the posts above.
  • Wine 3.19 PBA compiled from AUR disabling staging by editing pkgbuild -> WORK then FREEZE as above.
*In these tests I tried pba from aur because I wanted to see if there were differences with tgk (if maybe the problem was in tgk), but AUR users say that the last version working with PBA is 3.19, do you think the situation could be different trying tgk-pba with staging disabled?
macchinetta

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

Post by macchinetta »

Hello. I tried to run prototype with dgvoodoo2 layer and the game manages to run at 40 fps on average, the best result so far, too bad that all the characters appear as pink-orange shadows ... :-(

d9vk no longer has the black screen but now it crashes completely after the first screen.
macchinetta

[SOLVED] Prototype 1 crash in cutescene and audio do not wor

Post by macchinetta »

Hello. d9vk have solved issues with last version.
Now game work as 45-60 fps with max settings and CSMT enabled.

SOLVED.

(I've submit an updated appdb test)
Locked