The README is the complete user documentation again: features, install, two sessions, usage, the full options table (and renamed options), every feature with problem, usage, limitations, security and "remove when", UI patches at user level (DevTools on the LAN, after a Steam update), changes outside Nix, rollback and uninstall. docs/ keeps only the technical side (how the patches work, writing patches, signatures and the update procedure, the SteamVR debugger mechanics, cleanup and installer internals), linked from each feature. docs/options.md, two-sessions.md and desktop-integration.md are gone (their content is in the README).
1.8 KiB
SteamVR debugger: how it works
steamvrDebugger.enable (module steamvr-debugger). What it is for and
what you need to do: README,
SteamVR debugger.
Enabled automatically when any patch in steamFrame.uiPatches.patches has
an endpoint on port 8087 (all dashboard patches and the VR
keyboard's strip below/above the keyboard).
SteamVR opens its DevTools port only with VRWebHelper/DebuggerEnabled
(port VRWebHelper/DebuggerPort, default 8087). SteamVR rewrites
~/.config/openvr/config/steamvr.vrsettings from memory, so the key can't
be a link and can't be edited while SteamVR runs. It is set only while
SteamVR runs:
- before every SteamVR start, the
steamvr-webhelper-debuggeroneshot (a drop-in onsteamvr.service, runninginstall.sh steamvr-debugger-arm) stores the key's value in~/.local/state/steam-frame-nix/steamvr-debugger.armed, sets the key (withjq) and writes a runtime drop-in,/run/user/1000/systemd/user/steamvr.service.d/50-steam-frame-nix-debugger.conf, whoseExecStopPost=runs a restore script next to it (/run/user/1000/steam-frame-nix/,/usr/bintools only); - when SteamVR stops, the key goes back to its previous value (removed if
it wasn't there) and
.armedis removed.
The runtime files don't need Nix, so this also works after a rollback or
uninstall; they are gone at reboot, and .armed (the only trace after a
power loss) is resolved by the next SteamVR start or
steam-frame-nix-cleanup. A key set to true by the user is never touched.
Disabled, there is no unit; the switch (cleanup) restores the key if SteamVR
is stopped, otherwise the runtime drop-in does when it stops.
Until SteamVR has been restarted once with the drop-in, the port is closed
and steam-ui-patches keeps polling it.