mirror of
https://github.com/saphid/frame-control.git
synced 2026-10-06 06:00:33 +02:00
Mac in the headset: use the Frame's USB-C network when plugged in; Steam streaming findings
- Plugged into the Mac, the Frame is a USB network device ("Steam Frame",
usb0 at ~0.9 ms). The tunnel uses it when the Frame's usb0 answers,
with the usual host key; otherwise the normal path. Interleaved runs:
content p50 7 vs 10 ms, click to drawn 17 vs 27 ms, scroll p95 23 vs
31-37 ms. FRAME_MACVIEW_USB=0 turns it off; the card says "over USB-C".
- Bench: --usb, and the route is recorded per run.
- Docs: Steam's own streaming (no SteamVR host on macOS; Remote Play pairs
but streams games, not windows; test blocked); the Frame's USB network;
the 2026-09-28 health-check boot-loop recurrence.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
1d05f57fbf
commit
4fae62ba14
10 files changed
+2853
-6
No files matched your search
@@ -377,6 +377,7 @@ def run_scenario(args, scenario, agent_port, token, frame_ssh):
|
||||
tunnel_port = relay.port
|
||||
tunnel_ssh = list(frame_ssh[:-1]) + args.ssh_opt
|
||||
mv = LabView(tunnel_ssh, ssh_runner(frame_ssh), frame_ssh[-1], agent_port, token, tunnel_port)
|
||||
mv.prefer_usb = args.usb # otherwise the path is --host's (or ssh's default)
|
||||
if args.browser_flag is not None:
|
||||
mv.browser_flags = [f for f in args.browser_flag if f]
|
||||
chrome = None
|
||||
@@ -456,6 +457,7 @@ def run_scenario(args, scenario, agent_port, token, frame_ssh):
|
||||
result["show_s"] = show_s
|
||||
result["panel"] = shown.get("panel")
|
||||
result["src"] = src
|
||||
result["route"] = mv.route
|
||||
return result
|
||||
finally:
|
||||
try:
|
||||
@@ -677,6 +679,7 @@ def add_run_args(r):
|
||||
r.add_argument("--buffer", type=float, default=250, help="bottleneck queue, ms at the current rate")
|
||||
r.add_argument("--frame", default="frame", help="ssh host of the Frame")
|
||||
r.add_argument("--host", default="", help="connect to this address instead (e.g. the Frame's LAN IP)")
|
||||
r.add_argument("--usb", action="store_true", help="use the Frame's USB-C network when plugged in, as Frame Control does")
|
||||
r.add_argument("--ssh-opt", action="append", default=[], help="extra ssh option for the tunnel, e.g. -oIPQoS=ef")
|
||||
r.add_argument("--browser-flag", action="append", default=None,
|
||||
help="Chromium flag for the viewer (replaces Frame Control's defaults; '' for none)")
|
||||
@@ -742,7 +745,7 @@ def document(args, frame_ssh, results, **extra):
|
||||
return {
|
||||
"label": args.label or args.cmd, "date": datetime.datetime.now().isoformat(timespec="seconds"), "commit": commit,
|
||||
"config": {"quality": args.quality, "mode": args.mode, "net": args.net or "none", "delay_ms": args.delay,
|
||||
"buffer_ms": args.buffer, "host": args.host or args.frame, "ssh_opts": args.ssh_opt,
|
||||
"buffer_ms": args.buffer, "host": args.host or args.frame, "usb": args.usb, "ssh_opts": args.ssh_opt,
|
||||
"encoder": os.environ.get("FRAME_MAC_VIEW_ENCODER", ""), "duration_s": args.duration,
|
||||
"browser_flags": args.browser_flag if args.browser_flag is not None else frame_macview.BROWSER_FLAGS},
|
||||
"frame_build": build.strip().partition("=")[2], "mac": platform.mac_ver()[0], "headset": standby[-40:],
|
||||
|
||||
Reference in new issue
Block a user