protonscr

Possible regression in dxvk 2.2 with Deus Ex: Human Revolution and Dissidia NT

dxvkclosed
doitsujin/dxvk#3584 · opened 2023-07-27 by Wedge009 · updated 2023-07-28 · 7 comments · github
1 matching comments, n / p to jump
WWedge009 2023-07-27 github

Software information

Cross-reporting from https://github.com/ValveSoftware/Proton/issues/585 and https://github.com/ValveSoftware/Proton/issues/2410. Running unmodified Steam and unmodified Proton on Ubuntu/X11:

  • Deus Ex: Human Revolution - Director's Cut
  • Dissidia NT - Free Edition

Neither of these games start with the dxvk bundled with Proton 8.0-3, but run okay with Proton 8.0-2.

System information

  • GPU: AMD Radeon VII (Vega 20)
  • Driver: Mesa 23.1.4 - kisak-mesa PPA
  • Wine version: Proton 8.0-3c (regression from Proton 8.0-2d)
  • DXVK version: 4d254b13bee632e3f5c274e0a7d1aa919238d6a1 dxvk (v2.2-34-g4d254b13) - regression from caf31033d711460e86781b16a4d9b0f41fa9e817 dxvk (v2.1-4-gcaf31033)

Apitrace file(s)

Not sure how to apply Apitrace to running via Proton. Instructions seem to be specific to Wine. Please advise if these are required.

Log files

https://github.com/ValveSoftware/Proton/files/12161004/steam-238010-proton-8.0-2d.log
https://github.com/ValveSoftware/Proton/files/12161005/steam-238010-proton-8.0-3.log

https://github.com/ValveSoftware/Proton/files/12160951/steam-921590-proton-8.0-2d.log
https://github.com/ValveSoftware/Proton/files/12160952/steam-921590-proton-8.0-3.log

As mentioned in my Proton reports, it's possible it's specific to the Radeon VII as apparently no-one else has encountered the same regression yet.

Also mentioned there, replacing the dxvk bundled with Proton 8.0-3 with the one from Proton 8.0-2 allows these two games to play normally again.

WWedge009 2023-07-27 github

Reporting further testing from https://github.com/ValveSoftware/Proton/issues/585.

PC1: AMD Threadripper CPU (Castle Peak), Radeon VII GPU (Vega 20)
PC2: Intel Core i7 CPU (Ivy Bridge E), Radeon VII GPU (Vega 20)
PC3: Intel Core i7 CPU (Ivy Bridge E), Vega 64 GPU (Vega 10)

All same OS, same mesa, same Steam, same Proton 8.0-3. On PCs 2 and 3, no issue. Only on PC1 do I get a failure to start. I wouldn't expect it's a hardware problem, else older Protons wouldn't work for me either, nor would the failures be so deterministic. Is there anything about the Threadripper that dxvk might disagree with?

Edit: Could dual monitor set-up be a problem?

BBlisto91 2023-07-27 github

Ye the reason I asked for the WINE_CPU_TOPOLOGY=4:0,1,2,3 %command% test in one of the proton issues (it didn't help) was cuz i was eye balling your threadripper which i was thinking could cause wierdnes that others couldn't reproduce.

Would you be able to try and bisect the exact commit the issue starts with?

WWedge009 2023-07-27 github

A few hours ago I was thinking to try just that - bisecting. I'll have to work out how to build dxvk first, though.

I even read through the commit messages - aside from something about a better method for enumerating monitors I didn't see anything that stood out as a possible candidate. I tried playing around with different monitor set-ups, didn't appear to make any difference. So without any other clear signs, it might be an issue with what dxvk expects of the CPU.

Ddoitsujin maintainer 2023-07-27 github

Does DXVK work for you at all in other games?

We don't really do anything special with the CPU, the only thing that's somewhat dependent on the number of CPU cores available is the worker thread count for pipeline compiles, and the formula hasn't really changed since 2.0. If the logs are anything to go by, we're crashing way before that anyway.

WWedge009 2023-07-27 github

Yes. It's bizarre because Proton has normally been very good for me, this is the first time I recall encountering a serious regression. And it's only for these two games, all other games in my library (that need Proton) seem to work fine with current stable Proton 8.0-3.

WWedge009 2023-07-28 github

So after fussing around with the posix alternatives to get the compiler to recognise std::cv_status I ran into #3328. Moving off Ubuntu 22.04 is not a reasonable option for my set-up so I manually installed the mingw packages from Ubuntu 22.10 to work around the missing headers problem.

With that out of the way, I set about looking for the problem. But strangely enough, compiling current master (4ed147403007fa6e1ffc944ad7cad4d7013272ce) and dropping the DLLs into my Proton 8.0-3 installation, DXHR ran just fine! So I went back to 4d254b13bee632e3f5c274e0a7d1aa919238d6a1, which is what the bundled dxvk in Proton 8.0-3 claims to be. But using my compiled DLLs, I also didn't run into any problem.

To re-confirm the original issue, I purged Proton 8.0-3 and let it rebuild itself. What? The game now runs okay? I also retried Dissidia NT and no issues there.

Thinking on this, I realise what might have changed is that I installed a new SSD last night and moved my Steam library to it - including Proton. So it might have been a hardware issue after all - just with storage instead of CPU or GPU. If nothing else, I've learned how to compile dxvk, so... yay, I suppose? Sorry for wasting everyone's time.

WWinterSnowfall 2023-07-28 github

So after fussing around with the posix alternatives to get the compiler to recognise std::cv_status I ran into #3328. Moving off Ubuntu 22.04 is not a reasonable option for my set-up so I manually installed the mingw packages from Ubuntu 22.10 to work around the missing headers problem.

On a side note, I'm in a similar situation (albeit running Mint), and what I've done is replicated what the GitHub CI flows are doing and made myself an Arch-based docker image with mingw that calls the packaging script. It's a lot more straight forward than it sounds and far less finicky than manual package installs or using PPAs.

P.S.: My scripts are here, in case anyone is interested: https://github.com/WinterSnowfall/dxvk-build-tools

Proton versions

Launch options

Launch lines

Upstream links