protonscr

Resident Evil 4 Chainsaw Demo: CACAO causes striped patterns on some objects

vkd3dclosed
HansKristian-Work/vkd3d-proton#1460 · opened 2023-03-10 by mbriar · updated 2023-03-13 · 4 comments · github
Mmbriar 2023-03-10 github

Software information

Resident Evil 4 Chainsaw Demo, High settings 1440p, Fidelity FX CACAO enabled.

System information

  • GPU: RX 6700 XT
  • Driver: Mesa 23.1.0-devel (git-98cb7e0108)
  • Wine version: Proton Hotfix
  • VKD3D-Proton version: from Proton Hotfix

Enabling Fidelity FX CACAO causes some striped patterns on some objects that I don't see on windows.

Screenshot linux

re4_cacao_liux

Screenshot windows

re4_cacao_windows

Look at the top of the wooden plank, it's more obvious in motion. To reproduce, start a new game and just run forward a bit until you see the cart with the wooden planks to the left of it.

HHansKristian-Work maintainer 2023-03-10 github

Known game bug. Workaround is also known. (Game assumes Wave32 is used when Wave64 is used). It's a modified CACAO shader it seems.

Mmbriar 2023-03-10 github

Thanks, I assume the known workaround is nothing users can apply themselves for now? I tried to throw RADV_PERFTEST=pswave32,cswave32 at it and it doesn't seem to help.

HHansKristian-Work maintainer 2023-03-10 github

The workaround will likely be to tell shader that wave size is 1, which makes it ignore the broken code path and enter the code path written by AMD.

Kkodatarule 2023-03-12 github

Alright this doesn't seem to affect NVIDIA, but there's this random hang just like in RE2 and RE3(it was also reported for RE8 as well) https://github.com/HansKristian-Work/vkd3d-proton/issues/1357
I'm pretty sure it can't be a VRAM issue as I have 24GB of VRAM, I switched to an RTX 3090. Problem is this hang is extremely random and it just freezes up the game.
I managed to get a log of RE3 when I still had the 3070, which I did attach here on this report: https://github.com/ValveSoftware/Proton/issues/3719#issuecomment-1406919590

EDIT: Forgot to mention that this random hang/crash happens only with RE games and it is not affected whether you use Ray Tracing or not(even lowest settings still caused it), sometimes it can hang immediately upon load, other times it would let you play for a very long time.

Operating System: EndeavourOS
KDE Plasma Version: 5.27.2
KDE Frameworks Version: 5.103.0
Qt Version: 5.15.8
Kernel Version: 6.2.2-zen2-1-zen (64-bit)
Graphics Platform: X11
Processors: 16 × AMD Ryzen 7 5800X3D 8-Core Processor
Memory: 31,3 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 3090/PCIe/SSE2

EDIT2: It seems like Resizable BAR is affecting it, with it off I don't see the crash though even on maximum settings I see some artifacts(could be some features not implemented on VKD3D, just using ray tracing preset doesn't introduce bugs).

EDIT3: but the performance went into single digits after a while...

EDIT4: It seems this was able to fix it PROTON_HIDE_NVIDIA_GPU=1 VKD3D_FEATURE_LEVEL=12_2 VKD3D_CONFIG=dxr11 %command%