Deploy: --pipe trim -- named-pipe serials to vRIO/vPLASMA for every mode

Dev-rig policy (2026-07-17): everything on the dev machine runs named pipes
to vRIO until Real-RIO testing -- no com0com. pod-launch --pipe selects the
<mode>_pipe conf (serial1=namedpipe pipe:vrio, serial2=namedpipe
pipe:vplasma); pipe variants of all three deploy templates (auto-staged/
rendered) + a dev-tree net_loop_pipe.conf beside the existing RP one.
Requires the vRIO dist >= 20260716-68e3d1f (VRioPipeService/
VPlasmaPipeService landed there). Arcade cockpits with the physical RIO
keep the plain COM-port confs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-07-17 21:54:23 -05:00
co-authored by Claude Fable 5
parent 38dd84f5ec
commit e18a5c8454
6 changed files with 259 additions and 4 deletions
+12 -4
View File
@@ -26,6 +26,7 @@ namespace VwePod
public bool NoBridge;
public bool NoSound;
public bool Pipe;
public bool Mipmap;
public bool NoFocus;
public bool DryRun;
@@ -76,6 +77,7 @@ namespace VwePod
case "--dosbox-xy": ParseWH(Next(a), out o.DosBoxX, out o.DosBoxY); dosboxXySet = true; break;
case "--no-bridge": o.NoBridge = true; break;
case "--no-sound": o.NoSound = true; break;
case "--pipe": o.Pipe = true; break;
case "--mipmap": o.Mipmap = true; break;
case "--no-focus": o.NoFocus = true; break;
case "--dry-run": o.DryRun = true; break;
@@ -103,17 +105,20 @@ namespace VwePod
?? throw new ArgumentException("dosbox-x.exe not found under root; pass --dosbox");
o.DosBoxDir = Path.GetDirectoryName(o.DosBox);
o.Conf = confArg ?? FirstExisting(Path.Combine(o.Root, o.Mode.ConfBase + ".conf"));
// --pipe: the <mode>_pipe conf variant (serials as named pipes to
// vRIO/vPLASMA -- the dev-rig trim; real cockpits keep COM ports).
string confBase = o.Mode.ConfBase + (o.Pipe ? "_pipe" : "");
o.Conf = confArg ?? FirstExisting(Path.Combine(o.Root, confBase + ".conf"));
if (o.Conf == null)
{
// A .tmpl sitting there means the install was extracted but never
// configured -- point at the real fix, not at --conf.
bool unrendered = File.Exists(Path.Combine(o.Root, o.Mode.ConfBase + ".conf.tmpl"));
bool unrendered = File.Exists(Path.Combine(o.Root, confBase + ".conf.tmpl"));
throw new ArgumentException(unrendered
? o.Mode.ConfBase + ".conf not rendered yet: this install hasn't been configured.\n" +
? confBase + ".conf not rendered yet: this install hasn't been configured.\n" +
"Run postinstall.bat (elevated) from the extracted zip root, or:\n" +
" powershell -File <install>\\deploy\\configure.ps1 -Root <install>"
: o.Mode.ConfBase + ".conf not found under root; pass --conf");
: confBase + ".conf not found under root; pass --conf");
}
o.RendererExe = rendererArg ?? FirstExisting(
@@ -182,6 +187,9 @@ namespace VwePod
--no-sound skip the ~4-min SoundFont upload. WARNING: no AWE32 =
no SOS ticks; bt/rp FREEZE at RIO init on the default
FAST-clock confs (only safe with a SLOW-clock conf)
--pipe use the <mode>_pipe conf: serial1/2 as named pipes to
vRIO (pipe:vrio) + vPLASMA (pipe:vplasma). Dev-rig
default trim; arcade cockpits keep real COM ports
--mipmap VRVIEW_MIPMAP=1 (RP floor shimmer fix; non-authentic)
--no-focus skip the window layout/focus pass
--dry-run resolve paths + print the launch plan, then exit");
+1
View File
@@ -70,6 +70,7 @@ see `../CAMERA-REVIEW-NOTES.md`. Default mode: `bt`.
| `--layout cockpit\|explode` | `cockpit` = borderless VDB head windows (default); `explode` = 7-window debug |
| `--no-bridge` | pod only, no GL render window |
| `--no-focus` | skip the renderer-topmost / DOSBox-focus pass |
| `--pipe` | use the `<mode>_pipe` conf: serials as named pipes to vRIO (`pipe:vrio`) + vPLASMA (`pipe:vplasma`), no com0com. **Dev-rig policy (2026-07-17): always `--pipe` on the dev machine** — vRIO dist ≥ `20260716-68e3d1f` speaks the pipe; the plain confs (real COM ports) are for cockpits with the physical RIO/plasma |
### Window placement (per-rig; normally fixed, overridable per-launch)