protonscr

Extreme amount of visual artifacts in Helldivers 2

vkd3dclosed
HansKristian-Work/vkd3d-proton#2223 · opened 2024-11-24 by obj-obj · updated 2025-02-21 · 7 comments · github
Oobj-obj 2024-11-24 github

Most of the time when launching Helldivers 2, there are a ton of visual artifacts. What's weird is that these artifacts are different every time the game is launched, and sometimes the game will launch without any visual artifacts at all.

image
image
image
image
image

System information

  • GPU: 7900 GRE
  • Driver: AMDGPU / Mesa
  • Wine version: Proton Experimental
  • VKD3D-Proton version: Whatever is in experimental right now (don't know the exact version)

Log files

steam-553850.log

HHansKristian-Work maintainer 2024-12-04 github

This seems to be a kernel bug. Which kernel version are you on? EDIT: 6.11 from the log.

HHansKristian-Work maintainer 2024-12-04 github

Do you have a PRIME setup somehow? Is there an iGPU in your system as well? It doesn't look like it from the log at least ...

Oobj-obj 2024-12-04 github

This seems to be a kernel bug. Which kernel version are you on? EDIT: 6.11 from the log.

Just tested after updating to 6.12.1, and the issue seems to be gone. Maybe it was fixed in the kernel?

HHansKristian-Work maintainer 2024-12-05 github

No, we just implemented a workaround. The kernel bug doesn't always reproduce.

GGrabbenD 2024-12-07 github

Workaround bugged zerovram code on AMDGPU

Is Clear Page Tracking regression being tracked anywhere?

GGrabbenD 2025-02-21 github

Patch for upstream VRAM cleaning regression is available but needs testing:

https://gitlab.freedesktop.org/drm/amd/-/issues/3812#note_2792626

Note when testing this, make sure to use either the stable release of vkd3d or rollback the current -git workaround from: vkd3d-proton#3b94153

#3b94153 6.10 amdgpu kernel changes the clear vram code to do background clears instead of on-demand clearing. This seems to have bugs, and we have been able to observe non-zeroed VRAM coming from the affected kernels. This workaround needs to be in place until we have confirmed a fix in upstream kernel.

Proton versions