SteamVR version: 2.16.7, BuildID 23791826 (public branch) OS: Bazzite (Fedora Atomic), kernel via rpm-ostree image 44.20260608 GPU: AMD RX 9070 XT, Mesa 26.1.0, amdgpu/RADV Headset: Meta Quest 2 via ALVR v20.14.1 (unchanged install since Nov 2025)
Summary
SteamVR + ALVR worked reliably for months. It broke completely the moment a
server-side update landed on 2026-06-22, confirmed via Steam's own content_log.txt:
The Steam Linux Runtime sniper container (AppID 1628350) updated at the same
moment (19:41) to BuildID 23629198 and has not changed since.
ALVR's driver files have an unchanged mtime of Nov 2025 — ruling out an
ALVR-side regression.
Bug 1: vrlink driver binds sockets to all interfaces, including VPN tunnels
vrserver.txt shows the built-in vrlink driver binding its UDP data link and the embedded Mongoose web server (port 27062, used by the dashboard)
to every network interface present on the host, including a Tailscale VPN
tunnel:
vrlink: SVLDataLinkTransferUDP::Init 192.168.1.98 dev eno1 10400 ...
vrlink: SVLDataLinkTransferUDP::Init fe80::... dev tailscale0 10400 ...
A transient Tailscale relay connectivity issue (unrelated to the headset)
produced:
...which 5 seconds later killed the master vrmonitor process, triggering
SteamVR's own failsafe:
[Warning] - Lost master process 14745 due to restart hint. Quitting all in 10 seconds if it
doesn't reconnect.
[Info] - Quitting all OpenVR processes because master process 14745 disconnected
Full SteamVR teardown, every component killed. vrlink has no business
binding to a VPN interface that has nothing to do with the HMD.
Workaround: disabling the (UI-hidden) vrlink driver via steamvr.vrsettings: "driver_vrlink": {"enable": false}
Bug 2: ExpectWirelessHeadset read race kills every session, even with vrlink disabled
With vrlink disabled, every single connection attempt (5/5 reproduced)
still fails identically:
[Info] - Tracked device activated: 0
[Info] - CheckHmdDriverName: ActualTrackingSystemName: alvr_server (0)
[Info] - ExpectWirelessHeadset: 0
[Info] - [System] Transition from 'SteamVRSystemState_NotReady' to
'SteamVRSystemState_Restart'.
...
[Info] - [System] Transition from 'SteamVRSystemState_Restart' to
'SteamVRSystemState_Shutdown'.
vrmonitor queries ExpectWirelessHeadset ~2.6ms after the tracked device
activates — seemingly before the ALVR driver (driver_alvr_server.so,
emulation_mode: Quest2) has finished setting that property — reads false,
and treats the wireless HMD as a wired display that just got plugged in.
That triggers the internal "reload display properties" restart sequence,
which never recovers and shuts the whole session down instead. Black screen
in headset, then disconnect.
User-facing error originally reported: SteamVR failed to initialize for unknown reasons. (Error: vrclient Shared Lib Not Found (102)(1023))
Repro
Connect Meta Quest 2 or pico 4
via ALVR v20.14.1 (default Quest2 emulation mode)
Launch SteamVR via Steam (no custom launch options needed to reproduce)
Connect headset client
Observe ExpectWirelessHeadset: 0 in vrmonitor.txt immediately after
device activation, followed by failed Restart→Shutdown transition
Happy to attach full vrserver.txt/vrmonitor.txt logs on request.
Bulk of data is
SteamVR version: 2.16.7, BuildID 23791826 (public branch)
OS: Bazzite (Fedora Atomic), kernel via rpm-ostree image 44.20260608
GPU: AMD RX 9070 XT, Mesa 26.1.0, amdgpu/RADV
Headset: Meta Quest 2 via ALVR v20.14.1 (unchanged install since Nov 2025)
Summary
SteamVR + ALVR worked reliably for months. It broke completely the moment a
server-side update landed on 2026-06-22, confirmed via Steam's own
content_log.txt:2026-06-22 19:41 - AppID 250820 finished update, BuildID 23791826
2026-06-23 22:53 - AppID 250820 finished update, BuildID 22542555 (rollback)
2026-06-23 23:13 - AppID 250820 finished update, BuildID 23791826 (re-pushed)
The Steam Linux Runtime sniper container (AppID 1628350) updated at the same
moment (19:41) to BuildID 23629198 and has not changed since.
ALVR's driver files have an unchanged mtime of Nov 2025 — ruling out an
ALVR-side regression.
Bug 1:
vrlinkdriver binds sockets to all interfaces, including VPN tunnelsvrserver.txtshows the built-invrlinkdriver binding its UDP data linkand the embedded Mongoose web server (port 27062, used by the dashboard)
to every network interface present on the host, including a Tailscale VPN
tunnel:
vrlink: SVLDataLinkTransferUDP::Init 192.168.1.98 dev eno1 10400 ...
vrlink: SVLDataLinkTransferUDP::Init fe80::... dev tailscale0 10400 ...
A transient Tailscale relay connectivity issue (unrelated to the headset)
produced:
[Error] - Mongoose mongoose.c:783:mg_error : 4 216 socket error
[Info] - vrlink: Performing shutdown.
...which 5 seconds later killed the master
vrmonitorprocess, triggeringSteamVR's own failsafe:
[Warning] - Lost master process 14745 due to restart hint. Quitting all in 10 seconds if it
doesn't reconnect.
[Info] - Quitting all OpenVR processes because master process 14745 disconnected
Full SteamVR teardown, every component killed.
vrlinkhas no businessbinding to a VPN interface that has nothing to do with the HMD.
Workaround: disabling the (UI-hidden)
vrlinkdriver viasteamvr.vrsettings:"driver_vrlink": {"enable": false}Bug 2:
ExpectWirelessHeadsetread race kills every session, even with vrlink disabledWith
vrlinkdisabled, every single connection attempt (5/5 reproduced)still fails identically:
[Info] - Tracked device activated: 0
[Info] - CheckHmdDriverName: ActualTrackingSystemName: alvr_server (0)
[Info] - ExpectWirelessHeadset: 0
[Info] - [System] Transition from 'SteamVRSystemState_NotReady' to
'SteamVRSystemState_Restart'.
...
[Info] - [System] Transition from 'SteamVRSystemState_Restart' to
'SteamVRSystemState_Shutdown'.
vrmonitorqueriesExpectWirelessHeadset~2.6ms after the tracked deviceactivates — seemingly before the ALVR driver (
driver_alvr_server.so,emulation_mode: Quest2) has finished setting that property — reads
false,and treats the wireless HMD as a wired display that just got plugged in.
That triggers the internal "reload display properties" restart sequence,
which never recovers and shuts the whole session down instead. Black screen
in headset, then disconnect.
User-facing error originally reported:
SteamVR failed to initialize for unknown reasons. (Error: vrclient Shared Lib Not Found (102)(1023))Repro
via ALVR v20.14.1 (default Quest2 emulation mode)
ExpectWirelessHeadset: 0in vrmonitor.txt immediately afterdevice activation, followed by failed Restart→Shutdown transition
Happy to attach full
vrserver.txt/vrmonitor.txtlogs on request.Bulk of data is
steamvr_bug_report.zip