ValveSoftware / SteamVR-for-Linux

Issue tracker for the Linux port of SteamVR
917 stars 45 forks source link

[BUG] First launch after power on doesn't work correctly. #703

Open CobaltSpace opened 3 months ago

CobaltSpace commented 3 months ago

Describe the bug When launching SteamVR, the performance graph starts with a large chunk of Display Errors before working properly, and I can not bring up the VR dashboard within the headset. The settings menu is also very limited.

On subsequent launches, SteamVR appears to be working properly. Though if I enable async reprojection it causes my system graphics driver (amdgpu) to crash (might be a separate issue, that may be related to #616)

To Reproduce Steps to reproduce the behavior:

  1. Enable Display Performance Graph in SteamVR
  2. Turn off Computer (Do not reboot)
  3. Turn on Computer (Do not reboot)
  4. Launch SteamVR
  5. Wait for SteamVR to launch

Expected behavior The VR dashboard within the headset being able to show up

System Information (please complete the following information): Please use the latest Steam beta client and SteamVR beta for your bug reports!

Screenshots Settings window on first run: 2024-05-17-210859_hyprshot

Settings window on next run: 2024-05-17-211946_hyprshot

Additional context In 1.27.5, steamVR would just report a failure after the performance graph showed a bunch of Display Errors. Also, if async reprojection was enabled, it would cause the system graphics driver to crash.

DanielGaaA commented 3 months ago

Can you also check dmesg do you also get same errors https://gitlab.freedesktop.org/drm/amd/-/issues/1856 ?

CobaltSpace commented 3 months ago

I didn't get arround to checking until now, and the gitlab is in maintence mode, so I'm just going to paste dmesg here:

[  476.206687] [drm:dm_vblank_get_counter [amdgpu]] *ERROR* dc_stream_state is NULL for crtc '5'!
[  476.206984] [drm:dm_crtc_get_scanoutpos [amdgpu]] *ERROR* dc_stream_state is NULL for crtc '5'!
[  476.207259] [drm:dm_vblank_get_counter [amdgpu]] *ERROR* dc_stream_state is NULL for crtc '5'!
[  476.207526] ------------[ cut here ]------------
[  476.207527] amdgpu 0000:0c:00.0: drm_WARN_ON_ONCE(drm_drv_uses_atomic_modeset(dev))
[  476.207534] WARNING: CPU: 4 PID: 17703 at drivers/gpu/drm/drm_vblank.c:718 drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x398/0x3b0
[  476.207540] Modules linked in: exfat rfcomm snd_hrtimer ccm xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_reject_ipv4 xt_tcpudp nft_compat nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables bridge stp llc cmac algif_hash algif_skcipher af_alg bnep iwlmvm mac80211 btusb libarc4 btrtl btintel eeepc_wmi btbcm asus_wmi btmtk iwlwifi platform_profile intel_rapl_msr i8042 nls_iso8859_1 bluetooth sparse_keymap vfat amd_atl amdgpu intel_rapl_common serio wmi_bmof cfg80211 mxm_wmi fat asus_ec_sensors ecdh_generic snd_hda_codec_realtek snd_hda_codec_generic snd_hda_scodec_component snd_hda_codec_hdmi uvcvideo amdxcp videobuf2_vmalloc drm_exec gpu_sched uvc drm_buddy videobuf2_memops videobuf2_v4l2 drm_suballoc_helper kvm_amd snd_hda_intel drm_ttm_helper videobuf2_common snd_intel_dspcfg ttm snd_intel_sdw_acpi drm_display_helper kvm snd_usb_audio snd_hda_codec ntfs3 cdc_acm snd_usbmidi_lib snd_ump snd_hda_core cec snd_rawmidi sp5100_tco snd_hwdep ledtrig_netdev video acpi_cpufreq ccp rapl pcspkr
[  476.207610]  i2c_piix4 snd_pcm zenpower(OE) crc16 joydev mousedev r8169 igb i2c_algo_bit ptp realtek rfkill mdio_devres pps_core dca libphy razerkbd(OE) wmi mac_hid v4l2loopback(OE) videodev mc snd_seq_dummy pkcs8_key_parser snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_timer snd soundcore cuse uinput i2c_dev sg crypto_user loop nfnetlink lz4 lz4_compress zram ip_tables x_tables btrfs(E) libcrc32c(E) crc32c_generic(E) xxhash_generic(E) raid6_pq(E) xor(E) uas(E) usb_storage(E) usbhid(E) aesni_intel(E) polyval_clmulni(E) ghash_clmulni_intel(E) crypto_simd(E) polyval_generic(E) cryptd(E) sha512_ssse3(E) gf128mul(E) sha256_ssse3(E) crct10dif_pclmul(E) sha1_ssse3(E) crc32c_intel(E) crc32_pclmul(E) dm_crypt(E) encrypted_keys(E) trusted(E) dm_mod(E) tee(E) cbc(E) asn1_encoder(E) xhci_pci(E) xhci_pci_renesas(E) nvme(E) nvme_core(E) nvme_auth(E) hid_generic(E)
[  476.207672] CPU: 4 PID: 17703 Comm: VulkanVblankThr Tainted: G           OE      6.9.2-zen1-1-zen #1 14404c7ad8f24e086d7631b72c6d01926c31bde3
[  476.207675] Hardware name: ASUS System Product Name/ROG CROSSHAIR VIII HERO (WI-FI), BIOS 4601 07/28/2023
[  476.207676] RIP: 0010:drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x398/0x3b0
[  476.207679] Code: 48 8b 5f 50 48 85 db 75 03 48 8b 1f e8 61 e7 ef ff 48 c7 c1 e8 b0 0c ad 48 89 da 48 c7 c7 35 81 02 ad 48 89 c6 e8 88 5f 54 ff <0f> 0b 31 db e9 3b fe ff ff e8 7a 48 4f 00 66 2e 0f 1f 84 00 00 00
[  476.207681] RSP: 0018:ffffb8cc11b67ba8 EFLAGS: 00010086
[  476.207683] RAX: 0000000000000000 RBX: ffff98b1c201f020 RCX: 0000000000000027
[  476.207685] RDX: ffff98b8ce8219c8 RSI: 0000000000000001 RDI: ffff98b8ce8219c0
[  476.207686] RBP: ffffb8cc11b67c10 R08: ffff98b8ce5fffa8 R09: 00000000ffffdfff
[  476.207688] R10: 0000000000000003 R11: 0000000000000001 R12: ffff98b24e780010
[  476.207689] R13: 0000000000000000 R14: ffffb8cc11b67c44 R15: ffff98b1cb30a698
[  476.207691] FS:  00007fba557ff6c0(0000) GS:ffff98b8ce800000(0000) knlGS:0000000000000000
[  476.207692] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  476.207694] CR2: 00007fba48001288 CR3: 0000000610310000 CR4: 0000000000350ef0
[  476.207696] Call Trace:
[  476.207698]  <TASK>
[  476.207699]  ? drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x398/0x3b0
[  476.207702]  ? __warn.cold+0x8e/0xf3
[  476.207706]  ? drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x398/0x3b0
[  476.207710]  ? report_bug+0xe7/0x200
[  476.207712]  ? srso_return_thunk+0x5/0x5f
[  476.207716]  ? handle_bug+0x3c/0x80
[  476.207718]  ? exc_invalid_op+0x19/0xc0
[  476.207721]  ? asm_exc_invalid_op+0x1a/0x20
[  476.207725]  ? drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x398/0x3b0
[  476.207728]  ? drm_crtc_vblank_helper_get_vblank_timestamp_internal+0x398/0x3b0
[  476.207732]  drm_update_vblank_count+0xd6/0x480
[  476.207737]  drm_vblank_enable+0x14c/0x180
[  476.207740]  drm_vblank_get+0x9a/0xe0
[  476.207742]  drm_crtc_queue_sequence_ioctl+0xfa/0x2d0
[  476.207745]  ? srso_return_thunk+0x5/0x5f
[  476.207747]  ? __pfx_drm_crtc_queue_sequence_ioctl+0x10/0x10
[  476.207749]  drm_ioctl_kernel+0xb3/0x100
[  476.207753]  drm_ioctl+0x27a/0x4d0
[  476.207756]  ? __pfx_drm_crtc_queue_sequence_ioctl+0x10/0x10
[  476.207761]  amdgpu_drm_ioctl+0x4e/0x90 [amdgpu 7f1196a4cc3005399642022971455a232cceb356]
[  476.207937]  __x64_sys_ioctl+0x97/0xd0
[  476.207941]  do_syscall_64+0x83/0x190
[  476.207943]  ? srso_return_thunk+0x5/0x5f
[  476.207945]  ? do_syscall_64+0x8f/0x190
[  476.207947]  ? srso_return_thunk+0x5/0x5f
[  476.207949]  ? srso_return_thunk+0x5/0x5f
[  476.207952]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
[  476.207954] RIP: 0033:0x7fba65b5c9ed
[  476.207976] Code: 04 25 28 00 00 00 48 89 45 c8 31 c0 48 8d 45 10 c7 45 b0 10 00 00 00 48 89 45 b8 48 8d 45 d0 48 89 45 c0 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 1a 48 8b 45 c8 64 48 2b 04 25 28 00 00 00
[  476.207978] RSP: 002b:00007fba557fe9f0 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[  476.207980] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fba65b5c9ed
[  476.207982] RDX: 00007fba557fea80 RSI: 00000000c018643c RDI: 0000000000000036
[  476.207983] RBP: 00007fba557fea40 R08: 0000000000000000 R09: 00007fba48000be0
[  476.207984] R10: 00007fba48000cb0 R11: 0000000000000246 R12: 00000000c018643c
[  476.207986] R13: 0000000000000036 R14: 00006464d21eba68 R15: 00006464d21eba20
[  476.207990]  </TASK>
[  476.207991] ---[ end trace 0000000000000000 ]---
[  476.207993] [drm:dm_vblank_get_counter [amdgpu]] *ERROR* dc_stream_state is NULL for crtc '5'!
[  476.208260] [drm:dm_crtc_get_scanoutpos [amdgpu]] *ERROR* dc_stream_state is NULL for crtc '5'!
[  476.208525] [drm:dm_vblank_get_counter [amdgpu]] *ERROR* dc_stream_state is NULL for crtc '5'!
[  483.523926] RenderThread[17739]: segfault at 0 ip 00006464a1a900bb sp 00007fba4fffa440 error 4 in vrcompositor[6464a1832000+4a7000] likely on CPU 10 (core 13, socket 0)
[  483.523951] Code: f8 ff ff 66 66 2e 0f 1f 84 00 00 00 00 00 90 55 48 89 e5 41 56 41 89 ce 41 55 49 89 fd 48 89 f7 41 54 49 89 d4 53 48 83 ec 30 <48> 8b 06 ff 50 18 f6 40 20 10 48 89 c3 0f 85 0a 01 00 00 48 8d 45
[  484.047792] ------------[ cut here ]------------
[  484.047797] WARNING: CPU: 23 PID: 544 at drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c:622 amdgpu_irq_put+0xf3/0x120 [amdgpu]
[  484.048221] Modules linked in: exfat rfcomm snd_hrtimer ccm xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_reject_ipv4 xt_tcpudp nft_compat nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables bridge stp llc cmac algif_hash algif_skcipher af_alg bnep iwlmvm mac80211 btusb libarc4 btrtl btintel eeepc_wmi btbcm asus_wmi btmtk iwlwifi platform_profile intel_rapl_msr i8042 nls_iso8859_1 bluetooth sparse_keymap vfat amd_atl amdgpu intel_rapl_common serio wmi_bmof cfg80211 mxm_wmi fat asus_ec_sensors ecdh_generic snd_hda_codec_realtek snd_hda_codec_generic snd_hda_scodec_component snd_hda_codec_hdmi uvcvideo amdxcp videobuf2_vmalloc drm_exec gpu_sched uvc drm_buddy videobuf2_memops videobuf2_v4l2 drm_suballoc_helper kvm_amd snd_hda_intel drm_ttm_helper videobuf2_common snd_intel_dspcfg ttm snd_intel_sdw_acpi drm_display_helper kvm snd_usb_audio snd_hda_codec ntfs3 cdc_acm snd_usbmidi_lib snd_ump snd_hda_core cec snd_rawmidi sp5100_tco snd_hwdep ledtrig_netdev video acpi_cpufreq ccp rapl pcspkr
[  484.048348]  i2c_piix4 snd_pcm zenpower(OE) crc16 joydev mousedev r8169 igb i2c_algo_bit ptp realtek rfkill mdio_devres pps_core dca libphy razerkbd(OE) wmi mac_hid v4l2loopback(OE) videodev mc snd_seq_dummy pkcs8_key_parser snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_timer snd soundcore cuse uinput i2c_dev sg crypto_user loop nfnetlink lz4 lz4_compress zram ip_tables x_tables btrfs(E) libcrc32c(E) crc32c_generic(E) xxhash_generic(E) raid6_pq(E) xor(E) uas(E) usb_storage(E) usbhid(E) aesni_intel(E) polyval_clmulni(E) ghash_clmulni_intel(E) crypto_simd(E) polyval_generic(E) cryptd(E) sha512_ssse3(E) gf128mul(E) sha256_ssse3(E) crct10dif_pclmul(E) sha1_ssse3(E) crc32c_intel(E) crc32_pclmul(E) dm_crypt(E) encrypted_keys(E) trusted(E) dm_mod(E) tee(E) cbc(E) asn1_encoder(E) xhci_pci(E) xhci_pci_renesas(E) nvme(E) nvme_core(E) nvme_auth(E) hid_generic(E)
[  484.048461] CPU: 23 PID: 544 Comm: kworker/23:2 Tainted: G        W  OE      6.9.2-zen1-1-zen #1 14404c7ad8f24e086d7631b72c6d01926c31bde3
[  484.048466] Hardware name: ASUS System Product Name/ROG CROSSHAIR VIII HERO (WI-FI), BIOS 4601 07/28/2023
[  484.048469] Workqueue: events drm_mode_rmfb_work_fn
[  484.048477] RIP: 0010:amdgpu_irq_put+0xf3/0x120 [amdgpu]
[  484.048878] Code: 89 ff e8 30 d4 0a eb 4c 89 ee 4c 89 f7 89 04 24 e8 e2 c0 0a eb 8b 04 24 48 83 c4 08 5d 41 5c 41 5d 41 5e 41 5f e9 6d da 0a eb <0f> 0b b8 ea ff ff ff e9 67 ff ff ff b8 ea ff ff ff e9 5d ff ff ff
[  484.048882] RSP: 0018:ffffb8cc0106ba58 EFLAGS: 00010046
[  484.048887] RAX: ffff98b1fb338b74 RBX: ffff98b259cf0000 RCX: 0000000000000005
[  484.048890] RDX: 0000000000000000 RSI: ffff98b24e790128 RDI: ffff98b24e780000
[  484.048893] RBP: 0000000000000005 R08: ffffffffc216aed1 R09: 0000000000000000
[  484.048895] R10: 0000000000000058 R11: ffffb8cc0106b95c R12: 0000000000000014
[  484.048898] R13: ffff98b71d190200 R14: ffff98b24e780158 R15: ffff98b24e780010
[  484.048901] FS:  0000000000000000(0000) GS:ffff98b8cf180000(0000) knlGS:0000000000000000
[  484.048904] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  484.048907] CR2: 000018a55920b000 CR3: 000000077f220000 CR4: 0000000000350ef0
[  484.048911] Call Trace:
[  484.048915]  <TASK>
[  484.048918]  ? amdgpu_irq_put+0xf3/0x120 [amdgpu 7f1196a4cc3005399642022971455a232cceb356]
[  484.049314]  ? __warn.cold+0x8e/0xf3
[  484.049322]  ? amdgpu_irq_put+0xf3/0x120 [amdgpu 7f1196a4cc3005399642022971455a232cceb356]
[  484.049715]  ? report_bug+0xe7/0x200
[  484.049722]  ? handle_bug+0x3c/0x80
[  484.049727]  ? exc_invalid_op+0x19/0xc0
[  484.049732]  ? asm_exc_invalid_op+0x1a/0x20
[  484.049742]  ? amdgpu_irq_put+0xf3/0x120 [amdgpu 7f1196a4cc3005399642022971455a232cceb356]
[  484.050136]  ? srso_return_thunk+0x5/0x5f
[  484.050143]  amdgpu_dm_crtc_disable_vblank+0x7c/0x170 [amdgpu 7f1196a4cc3005399642022971455a232cceb356]
[  484.050675]  drm_vblank_disable_and_save+0xba/0xf0
[  484.050682]  drm_crtc_vblank_off+0xd3/0x350
[  484.050686]  ? amdgpu_dm_set_pflip_irq_state+0x5d/0x90 [amdgpu 7f1196a4cc3005399642022971455a232cceb356]
[  484.051217]  amdgpu_dm_atomic_commit_tail+0x24c/0x23e0 [amdgpu 7f1196a4cc3005399642022971455a232cceb356]
[  484.051745]  ? drm_atomic_helper_setup_commit+0x1d8/0xb80
[  484.051757]  ? srso_return_thunk+0x5/0x5f
[  484.051761]  ? wait_for_completion_timeout+0x130/0x180
[  484.051770]  commit_tail+0x94/0x130
[  484.051776]  drm_atomic_helper_commit+0x11a/0x140
[  484.051782]  drm_atomic_commit+0xa0/0xd0
[  484.051786]  ? __pfx___drm_printfn_info+0x10/0x10
[  484.051793]  drm_framebuffer_remove+0x563/0x860
[  484.051803]  drm_mode_rmfb_work_fn+0x81/0xa0
[  484.051809]  process_one_work+0x18e/0x350
[  484.051816]  worker_thread+0x2fa/0x490
[  484.051821]  ? __pfx_worker_thread+0x10/0x10
[  484.051825]  kthread+0xd2/0x100
[  484.051830]  ? __pfx_kthread+0x10/0x10
[  484.051835]  ret_from_fork+0x34/0x50
[  484.051840]  ? __pfx_kthread+0x10/0x10
[  484.051844]  ret_from_fork_asm+0x1a/0x30
[  484.051854]  </TASK>
[  484.051856] ---[ end trace 0000000000000000 ]---
[  484.932880] traps: vrwebhelper[18109] trap int3 ip:755fbafd88a4 sp:7fffdf623b70 error:0 in libcef.so[755fb86ec000+7770000]
[  509.212155] vrwebhelper[18942]: segfault at 39 ip 000074d535803824 sp 00007ffe28c5e600 error 6 in libcef.so[74d5356ec000+7770000] likely on CPU 14 (core 2, socket 0)
[  509.212170] Code: 00 00 00 48 01 df 31 f6 4c 89 f2 e8 b6 27 65 07 49 01 de 4d 89 b7 88 17 00 00 eb 82 cc cc cc cc cc cc cc cc cc cc 55 48 89 e5 <c6> 04 25 39 00 00 00 21 5d c3 cc cc 55 48 89 e5 53 50 48 89 fb 48
[  510.261468] vrwebhelper[19147]: segfault at 39 ip 000074d535803824 sp 00007ffe28c5e720 error 6 in libcef.so[74d5356ec000+7770000] likely on CPU 7 (core 9, socket 0)
[  510.261480] Code: 00 00 00 48 01 df 31 f6 4c 89 f2 e8 b6 27 65 07 49 01 de 4d 89 b7 88 17 00 00 eb 82 cc cc cc cc cc cc cc cc cc cc 55 48 89 e5 <c6> 04 25 39 00 00 00 21 5d c3 cc cc 55 48 89 e5 53 50 48 89 fb 48
[  511.124604] vrwebhelper[19257]: segfault at 39 ip 000074d535803824 sp 00007ffe28c5e720 error 6 in libcef.so[74d5356ec000+7770000] likely on CPU 20 (core 10, socket 0)
[  511.124618] Code: 00 00 00 48 01 df 31 f6 4c 89 f2 e8 b6 27 65 07 49 01 de 4d 89 b7 88 17 00 00 eb 82 cc cc cc cc cc cc cc cc cc cc 55 48 89 e5 <c6> 04 25 39 00 00 00 21 5d c3 cc cc 55 48 89 e5 53 50 48 89 fb 48

Thinking about it, I think I have looked at that issue before, so it probably has to do with that.

I also need to recheck how broken first launch is with the new beta, if it will still full crash my graphics with async reprojection turned on, if it will give me that degraded state with no ui, or it can make a full recovery. But subsequent launches with async reprojection enabled are working, so thats great.

CobaltSpace commented 3 months ago

So I checked. it appears having async reprojection enabled on first launch does not cause the crash. But the first launch is still in a degraded state.