ValveSoftware / SteamOS

SteamOS community tracker
1.6k stars 70 forks source link

OLED crashes loading Hogwarts Legacy #1281

Open agacek opened 11 months ago

agacek commented 11 months ago

Your system information

Please describe your issue in as much detail as possible:

Game shows epilepsy warning, then copyright screen, then crashes the entire steam deck (1TB OLED). All other games run fine (Neon White, Outer Wilds, Superhot).

Steps for reproducing this issue:

  1. Buy a 1 TB OLED Steam Deck
  2. Install Hogwarts Legacy
  3. Launch Hogwarts Legacy
  4. Observe Hogwarts Legacy crashing during loading

steam-990080.log

RodoMa92 commented 11 months ago

It's probably either a compositor crash or a gpu driver crash, the application logs doesn't tell much unfortunately. A dmesg from the system would tell far more (you can get it after a reboot with journalctl -k -b -1 > kern.log) and then post the kern.log file here.

These are the GPU suspected crash traces:

2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0208:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0210:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0210:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
2131.605:0140:0210:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
X connection to :1 broken (explicit kill or server shutdown).
X connection to :1 broken (explicit kill or server shutdown).
X connection to :1 broken (explicit kill or server shutdown).
XIO:  fatal IO error 110 (Connection timed out) on X server ":1"
X connection to :1 broken (explicit kill or server shutdown).
      after 968 requests (968 known processed) with 0 events remaining.
2171.632:00d4:00d8:trace:seh:handle_syscall_fault code=c0000005 flags=0 addr=0x7f49181e1f83 ip=7f49181e1f83 tid=00d8
2171.632:00d4:00d8:trace:seh:handle_syscall_fault  info[0]=0000000000000000
2171.632:00d4:00d8:trace:seh:handle_syscall_fault  info[1]=000000104d03e460
2171.632:00d4:00d8:trace:seh:handle_syscall_fault  rax=000000104d03e450 rbx=00007f4918383108 rcx=00007f491822a0fb rdx=0000000000000002
2171.632:00d4:00d8:trace:seh:handle_syscall_fault  rsi=0000000000000080 rdi=00007f4918383108 rbp=0000000000000b70 rsp=000000000031f650
2171.632:00d4:00d8:trace:seh:handle_syscall_fault   r8=00007f49130b34e0  r9=0000000000000001 r10=0000000000000000 r11=0000000000000246
2171.632:00d4:00d8:trace:seh:handle_syscall_fault  r12=0000000000000000 r13=0000000000000001 r14=00007f4918381660 r15=000000007e748670
2171.632:00d4:00d8:warn:seh:handle_syscall_fault backtrace: --- Exception 0xc0000005 at 0x7f49181e1f83: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libc.so.6 + 0x3bf83.
2171.632:00d4:00d8:trace:unwind:dwarf_virtual_unwind function 7f49181e1f83 base 0x7f49181e1f10 cie 0x7f49183524b0 len 14 id 0 version 1 aug 'zR' code_align 1 data_align -8 retaddr %rip
2171.632:00d4:00d8:warn:seh:dwarf_virtual_unwind backtrace: 0x7f49181e1f83: /usr/lib/pressure-vessel/overrides/lib/x86_64-linux-gnu/libc.so.6 + 0x3bf83.
agacek commented 11 months ago

Thanks. Here's the kern.log after a crash.

kern.log

RodoMa92 commented 11 months ago

Thanks. Here's the kern.log after a crash.

kern.log

Yep, the GPU driver died:

Dec 06 05:47:54 steamdeck kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx_0.0.0 timeout, but soft recovered

You might want to post a full journal log with journalctl -b -1 > journal.log, since it seems that besides the mentioned crash, there are no more details in it.

It's either an amdgpu or a MESA bug. Odd since other people seems to be able to run it fine AFAIK.

agacek commented 11 months ago

Here's the full journal log

journal.log

RodoMa92 commented 11 months ago

Here's the full journal log

journal.log

Yep, it's a game scope crash plus a GPU error, here is the relevant log:

Dec 06 06:17:17 steamdeck systemd-coredump[2876]: Process 996 (gamescope-wl) of user 1000 dumped core.

                                                  Stack trace of thread 1043:
                                                  #0  0x00007fe421db226c n/a (libc.so.6 + 0x8926c)
                                                  #1  0x00007fe421d62a08 raise (libc.so.6 + 0x39a08)
                                                  #2  0x00007fe421d4b538 abort (libc.so.6 + 0x22538)
                                                  #3  0x00007fe421d4b45c n/a (libc.so.6 + 0x2245c)
                                                  #4  0x00007fe421d5b3d6 __assert_fail (libc.so.6 + 0x323d6)
                                                  #5  0x0000558ff56a7647 n/a (gamescope + 0x7d647)
                                                  #6  0x0000558ff56a859f n/a (gamescope + 0x7e59f)
                                                  #7  0x0000558ff567be75 n/a (gamescope + 0x51e75)
                                                  #8  0x0000558ff5685403 n/a (gamescope + 0x5b403)
                                                  #9  0x0000558ff5698501 n/a (gamescope + 0x6e501)
                                                  #10 0x0000558ff5699b7f n/a (gamescope + 0x6fb7f)
                                                  #11 0x00007fe4220e1943 execute_native_thread_routine (libstdc++.so.6 + 0xe1943)
                                                  #12 0x00007fe421db044b n/a (libc.so.6 + 0x8744b)
                                                  #13 0x00007fe421e33e40 n/a (libc.so.6 + 0x10ae40)

                                                  Stack trace of thread 1028:
                                                  #0  0x00007fe421e34266 epoll_wait (libc.so.6 + 0x10b266)
                                                  #1  0x00007fe418df5579 n/a (libspa-support.so + 0x13579)
                                                  #2  0x00007fe418de8be3 n/a (libspa-support.so + 0x6be3)
                                                  #3  0x00007fe42235626f n/a (libpipewire-0.3.so.0 + 0x4126f)
                                                  #4  0x00007fe421db044b n/a (libc.so.6 + 0x8744b)
                                                  #5  0x00007fe421e33e40 n/a (libc.so.6 + 0x10ae40)

                                                  Stack trace of thread 1046:
                                                  #0  0x00007fe421dacf0e n/a (libc.so.6 + 0x83f0e)
                                                  #1  0x00007fe421daf7a0 pthread_cond_wait (libc.so.6 + 0x867a0)
                                                  #2  0x00007fe4220d9e11 __gthread_cond_wait (libstdc++.so.6 + 0xd9e11)
                                                  #3  0x0000558ff567aee5 n/a (gamescope + 0x50ee5)
                                                  #4  0x00007fe4220e1943 execute_native_thread_routine (libstdc++.so.6 + 0xe1943)
                                                  #5  0x00007fe421db044b n/a (libc.so.6 + 0x8744b)
                                                  #6  0x00007fe421e33e40 n/a (libc.so.6 + 0x10ae40)

                                                  Stack trace of thread 999:
                                                  #0  0x00007fe421dacf0e n/a (libc.so.6 + 0x83f0e)
                                                  #1  0x00007fe421daf7a0 pthread_cond_wait (libc.so.6 + 0x867a0)
                                                  #2  0x00007fe420e5c41e n/a (libvulkan_radeon.so + 0x25c41e)
                                                  #3  0x00007fe420e3998c n/a (libvulkan_radeon.so + 0x23998c)
                                                  #4  0x00007fe420e5c34c n/a (libvulkan_radeon.so + 0x25c34c)
                                                  #5  0x00007fe421db044b n/a (libc.so.6 + 0x8744b)
                                                  #6  0x00007fe421e33e40 n/a (libc.so.6 + 0x10ae40)

                                                  Stack trace of thread 998:
                                                  #0  0x00007fe421e26c0f __poll (libc.so.6 + 0xfdc0f)
                                                  #1  0x0000558ff569fa17 n/a (gamescope + 0x75a17)
                                                  #2  0x00007fe4220e1943 execute_native_thread_routine (libstdc++.so.6 + 0xe1943)
                                                  #3  0x00007fe421db044b n/a (libc.so.6 + 0x8744b)
                                                  #4  0x00007fe421e33e40 n/a (libc.so.6 + 0x10ae40)

                                                  Stack trace of thread 1045:
                                                  #0  0x00007fe421df89e5 clock_nanosleep (libc.so.6 + 0xcf9e5)
                                                  #1  0x00007fe421dfd5e7 __nanosleep (libc.so.6 + 0xd45e7)
                                                  #2  0x0000558ff56a003f n/a (gamescope + 0x7603f)
                                                  #3  0x00007fe4220e1943 execute_native_thread_routine (libstdc++.so.6 + 0xe1943)
                                                  #4  0x00007fe421db044b n/a (libc.so.6 + 0x8744b)
                                                  #5  0x00007fe421e33e40 n/a (libc.so.6 + 0x10ae40)

                                                  Stack trace of thread 1000:
                                                  #0  0x00007fe421df89e5 clock_nanosleep (libc.so.6 + 0xcf9e5)
                                                  #1  0x00007fe421dfd5e7 __nanosleep (libc.so.6 + 0xd45e7)
                                                  #2  0x00007fe420d00455 n/a (libvulkan_radeon.so + 0x100455)
                                                  #3  0x00007fe420e5c34c n/a (libvulkan_radeon.so + 0x25c34c)
                                                  #4  0x00007fe421db044b n/a (libc.so.6 + 0x8744b)
                                                  #5  0x00007fe421e33e40 n/a (libc.so.6 + 0x10ae40)

                                                  Stack trace of thread 996:
                                                  #0  0x00007fe421e26c0f __poll (libc.so.6 + 0xfdc0f)
                                                  #1  0x0000558ff56a05ff n/a (gamescope + 0x765ff)
                                                  #2  0x0000558ff564c353 n/a (gamescope + 0x22353)
                                                  #3  0x00007fe421d4c850 n/a (libc.so.6 + 0x23850)
                                                  #4  0x00007fe421d4c90a __libc_start_main (libc.so.6 + 0x2390a)
                                                  #5  0x0000558ff566e2c5 n/a (gamescope + 0x442c5)

                                                  Stack trace of thread 1042:
                                                  #0  0x00007fe421e26c0f __poll (libc.so.6 + 0xfdc0f)
                                                  #1  0x0000558ff56c4512 n/a (gamescope + 0x9a512)
                                                  #2  0x00007fe4220e1943 execute_native_thread_routine (libstdc++.so.6 + 0xe1943)
                                                  #3  0x00007fe421db044b n/a (libc.so.6 + 0x8744b)
                                                  #4  0x00007fe421e33e40 n/a (libc.so.6 + 0x10ae40)

                                                  Stack trace of thread 1044:
                                                  #0  0x00007fe421e22900 __open64 (libc.so.6 + 0xf9900)
                                                  #1  0x0000558ff567a2d5 n/a (gamescope + 0x502d5)
                                                  #2  0x00007fe4220e1943 execute_native_thread_routine (libstdc++.so.6 + 0xe1943)
                                                  #3  0x00007fe421db044b n/a (libc.so.6 + 0x8744b)
                                                  #4  0x00007fe421e33e40 n/a (libc.so.6 + 0x10ae40)
                                                  ELF object binary architecture: AMD x86-64

It might be worth to report this here https://github.com/ValveSoftware/gamescope just in case it's a compositor issue rather then an AMD GPU/mesa bug instead.

agacek commented 11 months ago

Thanks. I've reported this on the gamescope repository. Any recommendations for remediation? Or should I try to RMA the device?

RodoMa92 commented 11 months ago

Thanks. I've reported this on the gamescope repository. Any recommendations for remediation? Or should I try to RMA the device?

Hard to say, but to me this looks just another software bug in MESA. I would not RMA the device unless you can get the same behavior on other software titles. As for solutions the only thing you can do now is wait and hope that someone from Valve will triage this. Might be worth to try different proton builds like proton-ge to seen if a different DXVK build will help you play it. If you search on the web you should find quite a bit of guides to follow through.