protonscr

Monster Hunter Rise Sunbreak - Extremely situational amdgpu crash

vkd3dclosed
HansKristian-Work/vkd3d-proton#1203 · opened 2022-08-30 by DonKatsu · updated 2022-09-01 · 3 comments · github
DDonKatsu 2022-08-30 github

So far I have only experienced this issue in one specific area of the game.
When entering the main zone of Coral Palace to fight Ibushi, the camera turns as you land and then the UI appears.
While using Proton GE 7-30 or 7-31, I've encountered a rare crash where at the end of that camera turn, the system freezes but the BGM continues to play. It seems to happen on about the same frame every time.
Pressing any key or input on my controller makes the screen go black. Trying to switch TTYs doesn't work. I am forced to hard reset the system.

The first time I had this happen was a week ago on GE 7-30. I have forced this to happen twice since it happened again today with GE 7-31.
I tried with stock Proton 7.0-4 but after half an hour of attempts, I didn't get a single amdgpu crash which is why I'm starting here Rise is a DX12 title and GE uses the latest dxvk/vkd3d/wine versions.

I haven't experienced this in any other area of the game.

System Info:
Distro: Fedora 36 KDE
Display Server: kwin Wayland 5.25.4
Kernel: 5.19.4-201.fsync.fc36.x86_64, happened with kernel-5.18.18-201.fsync.fc36.x86_64 as well
Mesa: 22.1.7
CPU: Ryzen 5900X
GPU: 6700 XT (rebar enabled)
Memory: 32GB DDR4 3600

Logs:
steam-1446780 GE 7-31.log
A few journal outputs: journal1 journal2 journal3

Well, I got one on Proton 7.0-4. Perhaps I should make a mesa report then?
journal4.txt steam-1446780 7.0-4.log

HHansKristian-Work maintainer 2022-08-31 github

How would you reproduce this exactly? Is there at least a save game? Assume that the reproducer attempting this has never played the game and does not know what "When entering the main zone of Coral Palace to fight Ibushi" means.

DDonKatsu 2022-08-31 github

Here's a clip of how I was going about reproducing the crash. At 24 seconds is where the crash happens, when it does. But it can take a while to get one.

Unfortunately, it seems this game will refuse to load a save if it's not using the same Steam account that created it.
There's a high rank event quest that should work as well, but just getting to high rank takes quite a bit of time.

DDonKatsu 2022-09-01 github

I went overboard with more testing using different settings after thinking about how CoreCtrl was crashing with amdgpu according to some of the journal logs, and it seems like it was due to some tweaks I made to my GPU just after I put this PC together around the end of June.

I turned the GPU maximum clock down slightly to 2600MHz. Bumped memory up 50MHz, still short of the +75 it caps at. Gave it -50mV offset which seemed conservative from what I've seen around. I tested with a few GPU benchmarks and other games as well and everything seemed fine.

I got and started Rise+Sunbreak July 1st. Since then I have played almost 300 hours and hadn't had any visual glitches. Only one actual game crash that opened Capcom's problem reporter early on but that seemed like a fluke.

To rule out anything else, I removed the amdgpu related kernel flags I had set, radeon.si_support=0 amdgpu.si_support=1 amdgpu.ppfeaturemask=0xffffffff, and removed CoreCtrl from autostart.
I also removed my Rise launch options which were: obs-gamecapture gamemoderun mangohud WINEDLLOVERRIDES="dinput8=n,b" %command%.
The DLL override is for REFramework, which enables mods in this game. The mods I have are a UI scaler, two plugins that export gear to txt, and one that removes the FPS cap on some in-engine cutscenes.

I did about an hour of attempts, no crash, Added those launch options back and tried another hour, no crash.
Then I put amdgpu.ppfeaturemask=0xffffffff back and reset CoreCtrl to default settings. With it set to Advanced using default values, still no crash after another hour.
I then turned maximum GPU clock back to 2600MHz and did another hour, no crash. Haven't tried with memory and/or undervolt again yet, but by now it seems I was on the edge of stability before with one of those?

I don't understand why it is that a specific point of a camera pan in this one area would cause otherwise seemingly stable GPU settings to rarely crash the driver in a consistent way, but that's what it seems to have been. And that camera pan plays whenever you fast travel in other maps, yet hadn't crashed on me anywhere else in those near 300 hours.

The only other thing I can think of was that I still had radeon.si_support=0 amdgpu.si_support=1 from when I was using my old PC, just in case I had to fall back on my old GPU for whatever reason.
I assumed those would only matter if I was actually using a Southern Islands card, but I still left them out this time.

Really sorry about this. Going to close this since that testing seems conclusive enough.