SpecialKO / SpecialK

Lovingly referred to as the Swiss Army Knife of PC gaming, Special K does a bit of everything.
https://www.special-k.info/
GNU General Public License v3.0
718 stars 45 forks source link

Far Cry 5 (with Proton + DXVK) has alternating swapchain pointers during SK_D3D11_RenderCtx::init, causing init release loop #168

Closed Kethen closed 2 months ago

Kethen commented 2 months ago

Continuation of https://github.com/SpecialKO/SpecialK/issues/167

Two alternating swapchain pointers were being fed to SK_D3D11_RenderCtx::init by Far Cry 5 with Proton + DXVK, causing init release loop and causes high pcie bandwidth usage

This issue was initially observed in Far Cry 5 + Proton + DXVK, however while narrowing down the issue, I found that it does not happen in Combat Master + Proton + DXVK

Below attaches log from Far Cry 5 + Proton + DXVK (on SK https://github.com/Kethen/SpecialK/commit/53aa50f41f6a2333899cdc1a4225b3ed78d73a37)

dxgi.log

Would be interesting to see if this happens on windows as well, and if it does, does it produce as big of a performance hit over there as well

Kaldaien commented 2 months ago

Jeeze, it seems they're going out of their way to break software compatibility :(

Yeah, this is the same bug that makes SK not perform well on Steam Deck since several releases of Proton agao.

It's another thing I can't fix, but maybe you'll have some luck getting them to fix this, as well as their weird Present -> Present1 code.

Kethen commented 2 months ago

Jeeze, it seems they're going out of their way to break software compatibility :(

Yeah, this is the same bug that makes SK not perform well on Steam Deck since several releases of Proton agao.

It's another thing I can't fix, but maybe you'll have some luck getting them to fix this, as well as their weird Present -> Present1 code.

For now, I'll dust off my windows vm to see if this Far Cry 5 thing happens on windows 11 d3d11 as well, since out of two games I've tested with Proton it only happened on one; it might as well be the game creating two swap chains, or the disabled ubisoft overlay thing, then actually frequently send it into Present

As for the Present -> Present1 issue, as mentioned in the closed issue, if nothing breaks on DXVK side and gets https://github.com/doitsujin/dxvk/pull/3966 reverted, it should be fixed on Proton when that lands

Kethen commented 2 months ago

closing for now, should be fixed as of https://github.com/doitsujin/dxvk/pull/3968