The Legend of Heroes: Trails from Zero (1668510)
Compatibility Report
- Name of the game with compatibility issues: The Legend of Heroes: Trails From Zero
- Steam AppID of the game: 1668510
System Information
- GPU: AMD RX 480
- Driver/LLVM version: 4.6 (Compatibility Profile) Mesa 22.2.5-0ubuntu0.1~22.04.3
- Kernel version: 5.15.0-76-generic
- Link to full system information report as Gist: https://gist.github.com/RobertTheSable/84c852da3bab18dd5cab39efc95991af
- Proton version: 7.0-6, 8.0-2, Experimental
I confirm:
- [X] that I haven't found an existing compatibility report for this game.
- [X] that I have checked whether there are updates for my system available.
Symptoms
Viewing the minimap in certain places or moving in certain locations causes my whole system to freeze. My whole desktop becomes unresponsive and I have to restart my computer.
The freeze does not occur on my Steam Deck in the same conditions.
Reproduction
The most reliable way to trigger it is on Mainz mountain path.
Here is a save folder which is near where the freeze occurs: data0031.zip
- Exit Rosenberg Studio to the south.
- Run southeast down the mountain path.
- The crash occurs between when I pass the Humming Gator but just before I reach the second Nepenthes enemy.
Hello @RobertTheSable, can you test how the game behaves with a newer build of mesa from a PPA like oibaf or kisak-mesa?
Tried kisak-mesa, the crash occurs in the same place on the mountain path.
Updated driver info: Driver: AMD AMD Radeon RX 480 Graphics (polaris10, LLVM 15.0.7, DRM 3.42, 5.15.0-76-generic) Driver Version: 4.6 (Compatibility Profile) Mesa 23.1.3 - kisak-mesa PPA OpenGL Version: 4.6
Proton log using the updated driver: steam-1668510.zip
I did not test with the oibaf PPA, because I have a negative experience with this PPA in the past.
Some additional details from further testing:
- The bug DOES occur in 7.0-6. Sorry for the confusion. (I was probably fooled by the flakiness mentioned below.)
- The bug in this location seems to depend on following a specific path. The most reliable way I've seen is this: After passing the Humming Gator, hug the south of the mountain path. If I don't see it at first, I can run back and forth while obscured by the trees, and the crash will occur eventually.
I need to do some additional verification after removing the updated Mesa drivers, just for consistency.
Did some further testing after downgrading to the 22.04 provided mesa drivers.
- The issue occurs in 7.0-6, 8.0-2, and Experimental.
- The crash is less likely to occur in 720p windowed mode, but I can still trigger a crash by running back and forth against the south of the path.
I continued playing the game with the environment variable PROTON_USE_WINED3D=1 and didn't observe any crashes.
@RobertTheSable Do you still experience this issue with dxvk and latest radv drivers?
I can still reproduce this on RX 470 and Mesa main 97efa575, so it's still there. I tested with RADV_DEBUG=hang, but that works around the issue, so I couldn't get a UMR dump. RADV_DEBUG=syncshaders also works around it.
[drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx timeout, signaled seq=176237, emitted seq=176239
[drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process zero.exe pid 115957 thread dxvk-submit pid 116082
amdgpu 0000:01:00.0: amdgpu: GPU reset begin!
amdgpu: cp is busy, skip halt cp
amdgpu: rlc is busy, skip halt rlc
amdgpu 0000:01:00.0: amdgpu: BACO reset
amdgpu 0000:01:00.0: amdgpu: GPU reset succeeded, trying to resume
[drm] PCIE GART of 256M enabled (table at 0x000000F4FFF80000).
[drm] VRAM is lost due to GPU reset!
amdgpu 0000:01:00.0: [drm:amdgpu_ring_test_helper [amdgpu]] *ERROR* ring comp_1.2.0 test failed (-110)
amdgpu 0000:01:00.0: [drm:amdgpu_ring_test_helper [amdgpu]] *ERROR* ring comp_1.3.0 test failed (-110)
[drm] UVD and UVD ENC initialized successfully.
[drm] VCE initialized successfully.
amdgpu 0000:01:00.0: amdgpu: recover vram bo from shadow start
amdgpu 0000:01:00.0: amdgpu: recover vram bo from shadow done
amdgpu 0000:01:00.0: amdgpu: GPU reset(2) succeeded!
[drm] Skip scheduling IBs!
...
[drm] Skip scheduling IBs!
[drm:amdgpu_cs_ioctl [amdgpu]] *ERROR* Failed to initialize parser -125!
The comp ring error messages shown above seem to be unrelated as they've been appearing regularly in the log before launching this game.
I haven't been able to get any more info out of this. I tried to get an apitrace, but the tracing ran too slowly on Windows to reproduce there, and it would crash shortly after I started tracing via WineD3D on Linux. I also tried to get an UMR dump manually without RADV_DEBUG=hang, after double checking that I could get waves dumped with a test program, but I got no active waves from this hang.
It doesn't seem like RADV_DEBUG=syncshaders affects performance much, so that's a workaround for now, at least.