doitsujin / dxvk

Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine
zlib License
13.02k stars 835 forks source link

Eschatos: Debug runtime popup #3951

Closed waspennator closed 6 months ago

waspennator commented 6 months ago

Game seems to work fine, but testing on deck, if I run it with dxvk, this box pops up before launch, if I force wined3d it launches without the box. Same on my windows laptop running normally

320141813-79036bb2-aaef-41cd-b104-effec9f4a01b

Software information

Eschatos

System information

Apitrace file(s)

For instructions on how to use apitrace, see: https://github.com/doitsujin/dxvk/wiki/Using-Apitrace

Log files

Please attach Proton or Wine logs as a text file:

steam-378770.log

Blisto91 commented 6 months ago

Can confirm it shows the popup when dxvk is used on Windows also. dgVoodoo2 is fine. Game uses d3d9Ex if that matters

WinterSnowfall commented 6 months ago

Could you try with this build: dxvk-devel.zip, and see if that does anything?

waspennator commented 6 months ago

Testing on my windows laptop, tried with both regular DXVK and the build you provided, still results in the same pop up.

Update: Also providing a trace file incase that helps. ESCHATOS.zip

WinterSnowfall commented 6 months ago

Thanks for trying it out. Is the trace captured with dxvk, WineD3D or native Windows?

waspennator commented 6 months ago

I'm guessing native windows, unsure cause I just downloaded the api trace files, slapped in the d3d9 one into the Eschatos game folder and ran it.

I can get the pop up to show up on both windows and Deck as long as i'm using DXVK

WinterSnowfall commented 6 months ago

I don't see anything out of the ordinary in the trace, except an early call to: IDirect3DDevice9Ex::CreateQuery(this = 0xa5f5dc0, Type = D3DQUERYTYPE_VERTEXSTATS, ppQuery = ?) = D3DERR_NOTAVAILABLE, which apparently fails on native, but should work fine with dxvk.

Here's a dxvk build that returns D3DERR_NOTAVAILABLE for that call to test with: dxvk-devel-2.zip

waspennator commented 6 months ago

Tried out that Devel-2 build and yep, that seems to fix it, Eschatos launched without that debug pop up box now.

WinterSnowfall commented 6 months ago

Yeah, thought so. According to official specs VERTEXSTATS is only available in debug runtimes: https://learn.microsoft.com/en-us/windows/win32/direct3d9/queries , so it sort of makes sense.

Still, a very silly check for a game to implement. I'll PR something to remove it, but I'm not sure if Josh or others need those queries for debugging/perf. testing or anything else, so we'll see how it goes.

K0bin commented 6 months ago

but I'm not sure if Josh or others need those queries for debugging/perf

Would be news to me and if Josh says so, we can still put it behind an environment variable.

WinterSnowfall commented 6 months ago

but I'm not sure if Josh or others need those queries for debugging/perf

Would be news to me and if Josh says so, we can still put it behind an environment variable.

I wouldn't bother if it's not explicitly needed then, since native doesn't support it.