[BUG] vrmonitor gives up on vrcompositor after ~5s while a cold first compositor start takes ~10s
まだ誰も着手していません。
評価
調査の方向性
Start by tracing the vrmonitor-to-vrserver compositor startup path around VRMsg_StartVRCompositor and the five-second timeout described in the issue; the payload does not name source files or tests. Compare the timeout behavior with the logged 10.2-second cold start through vrcompositor-launcher.sh and identify where startup is treated as a hard failure. Done means cold starts can complete without vrmonitor giving up and leaving the session in the legacy scene; the issue does not specify a test or the desired timeout or response design.
索引モデルが issue の本文から書いたものです。
説明
Describe the bug
Cold-starting SteamVR 2.19.2 on Linux, vrmonitor asks vrserver to start vrcompositor and gives up after ~5 seconds (Failed to start vrcompositor. Giving up), but on this machine that first compositor start takes 10.2 s, because vrcompositor-launcher.sh re-execs the compositor into the Legacy runtime to gain CAP_SYS_NICE. The compositor does come up 5 s later and works fine - but the session is already broken: vrmonitor logs SteamVR Fail (-201) once a second and the headset shows the legacy grid environment instead of the normal one.
To Reproduce
- Make sure SteamVR is not running at all (so the compositor has to do its first-start Legacy-runtime escape).
- Start SteamVR from Steam with a Quest 3 connected over Steam Link (the built-in
vrlinkdriver). - Watch vrmonitor time out on the compositor while vrserver is still inside the blocking
VRMsg_StartVRCompositorcall.
Expected behavior
The compositor wait should either be long enough for a cold first start, or the client should get a "still starting" answer instead of a hard failure - and after the failure the session should not silently half-load the legacy scene, which makes it look like a corrupt install rather than a startup timeout.
Versions
- SteamVR 2.19.2 (v1794004177), launched as tool AppID 250820 from Steam client buildid 1792618285 (Sniper runtime)
- Distro/kernel: CachyOS, 7.3.1-1-cachyos, Wayland/GNOME
- GPU: NVIDIA RTX 5080, driver 615.78.08
- HMD: Meta Quest 3, wireless, via
vrlink
Log dump
Timeline plus the relevant excerpts from vrserver.txt, vrclient_vrmonitor.txt, vrmonitor.txt, vrcompositor.txt, vrstartup-linux.txt and driver_vrlink.txt: https://gist.github.com/ackalker/a93aa0930da3e43b2bb6a2c6a5b99367
The short version:
vrclient_vrmonitor.txt 14:00:17.769 CIPCPipe::ConnectPipe(VR_CompositorPipe_277692) ... Unable to connect to pipe errno=111
vrclient_vrmonitor.txt 14:00:22.774 Timeout while waiting for message of type 136 on pipe VR_ServerPipe_277692
vrclient_vrmonitor.txt 14:00:22.774 Failed to start vrcompositor. Giving up
vrserver.txt 14:00:28 VRMsg_StartVRCompositor from 277716: vrmonitor took 10.2132 seconds (also from vrwebhelper_main, vrwebhelper_pairing, vrwebhelper_settings_desktop, steam, vrdashboard)
vrcompositor.txt 14:00:28.081 vrcompositor 2.19.2 startup with PID=278110
vrstartup-linux.txt 14:00:27.852 vrcompositor-launcher.sh[278110]: Relaunching under Legacy runtime (to allow us to gain the CAP_SYS_NICE bit)
vrmonitor.txt 14:00:28.085 [Status Alert] SteamVR Fail (-201) (88 of these, one per second)
Additional context
- VRAM pressure is not the reason for the 10 s. Right after the compositor came up,
VRMsg_CreateSwapTextureSettook 0.006-0.019 s, while an unrelated process held ~14.7 of 16 GiB. The time goes into the Pressure Vessel bootstrap (steam-runtime-launch-client --alongside-steam, scout/Legacy runtime detection). - At shutdown this session also produced 51
SharedResourceManager: detected possible leaklines in vrcompositor.txt and 36Error: Failed to unref VRCompositor resourcelines in vrserver.txt - looks related to #990. - Knock-on effect outside SteamVR: one process of the SteamVR launch chain (the vrserver supervisor, PID 277953) survived its own server child (which had logged
[vrserver] Graceful exit), sat infutex_waitfor ~20 minutes ignoring SIGTERM, and kept the Steam-side launch chain alive, so Steam could not finish quitting. Filed separately against the Steam client: https://github.com/ValveSoftware/steam-for-linux/issues/13853
- 主要言語
- Shell
- スター
- 1.1k
- フォーク
- 56
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ValveSoftware/SteamVR-for-Linux のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
ValveSoftware/SteamVR-for-Linux#981 · コメント 4 件 · リアクション 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 43/100
ValveSoftware/SteamVR-for-Linux#1055 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
ValveSoftware/SteamVR-for-Linux#1054 ·
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
ValveSoftware/SteamVR-for-Linux#1051 ·
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
ValveSoftware/SteamVR-for-Linux#1050 · コメント 1 件 ·
ValveSoftware/SteamVR-for-Linux の issue をすべて見る
似ている issue
-
ready-for-pr
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
kunchenguid/firstmate#8332 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
fullsend-ai/agents#1932 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
status: ready
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
melodic-software/claude-code-plugins#15008 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 60/100