mirror of
https://github.com/lhns/steam-frame-nix.git
synced 2026-10-06 05:00:24 +02:00
- firefox: the prefs.js patterns built once; the extension link condition without the redundant desktopFix (it implies a pref). - install.sh steamvr-debugger-arm: no second copy of the old-marker migration (cleanup, run on every switch before the arm unit exists, already does it). - steam-ui-patches: shorter state option description; lib's description mentions extraArgs. - README: uiPatches.patches fields in the options table (moved from docs/ui-patches.md); docs/ui-patches.md: the finder helpers; docs/steamvr-debugger.md: repeated sentences removed.
50 lines
2.1 KiB
Markdown
50 lines
2.1 KiB
Markdown
# SteamVR debugger
|
|
|
|
`steamvrDebugger.enable`, module `steamvr-debugger`. Automatic; nothing to
|
|
set. Options: [README, Options](../README.md#options).
|
|
|
|
## Problem
|
|
|
|
The [dashboard patches](ui-patches.md#steamvr-dashboard-patches) (and the
|
|
[VR keyboard](keyboard.md#swipe-and-suggestions)'s strip below/above the
|
|
keyboard) need SteamVR's DevTools port, which SteamVR opens only with its
|
|
setting `VRWebHelper/DebuggerEnabled`. That setting lives in
|
|
`~/.config/openvr/config/steamvr.vrsettings`, which SteamVR rewrites from
|
|
memory, so it can't be a Nix link and can't be edited while SteamVR runs.
|
|
|
|
## What you get
|
|
|
|
The port, enabled automatically when any patch in
|
|
`steamFrame.uiPatches.patches` has an `endpoint` on port 8087. The setting
|
|
is **set only while SteamVR runs**: set before every SteamVR start, put back
|
|
to its previous value when SteamVR stops, also after a rollback or uninstall
|
|
(without Nix). A value you set to `true` yourself is never touched.
|
|
|
|
**The first time, restart SteamVR once** (e.g. reboot); until then the
|
|
dashboard patches wait. Turned off, the setting is restored at the switch
|
|
(or when SteamVR stops, if it runs).
|
|
|
|
## Security
|
|
|
|
The port listens on `127.0.0.1` only; keep Developer Mode off (see
|
|
[DevTools on the LAN](ui-patches.md#devtools-on-the-lan)).
|
|
|
|
## How it works
|
|
|
|
Port: `VRWebHelper/DebuggerPort`, default 8087.
|
|
|
|
- before every SteamVR start, the `steamvr-webhelper-debugger` oneshot
|
|
(a drop-in on `steamvr.service`, running `install.sh steamvr-debugger-arm`)
|
|
stores the key's value in
|
|
`~/.local/state/steam-frame-nix/steamvr-debugger.armed`, sets the key
|
|
(with `jq`) and writes a runtime drop-in,
|
|
`/run/user/1000/systemd/user/steamvr.service.d/50-steam-frame-nix-debugger.conf`,
|
|
whose `ExecStopPost=` runs a restore script next to it
|
|
(`/run/user/1000/steam-frame-nix/`, `/usr/bin` tools only);
|
|
- when SteamVR stops, the key goes back to its previous value (removed if
|
|
it wasn't there) and `.armed` is removed.
|
|
|
|
The runtime files need no Nix (rollback, uninstall) and are gone at reboot;
|
|
`.armed`, the only trace after a power loss, is resolved by the next
|
|
SteamVR start or `steam-frame-nix-cleanup`.
|