Desktop on the Steam Frame: SteamVR dashboard → Launch a program → Desktop, then System → Konsole (the Steam Deck's Power → Switch to Desktop doesn't apply) — README, INSTALL, setup wizard, CLI, bootstrap

This commit is contained in:
spoopyghosty0 committed 2026-10-03 18:12:12 -04:00
1 parent 6ed95684dc
commit 0141bad259
6 files changed
+17 -13

No files matched your search

+4 -3
View File
@@ -36,11 +36,12 @@ Install games that target the Meta Quest, Android, or general PCVR onto your **V
2. **Connect the Frame** (once):
1. In FramePort click **Steam Frame → Show setup command**. Keep FramePort open; the Frame and your computer must
be on the same Wi-Fi.
2. On the Frame press the **Steam button → Power → Switch to Desktop**.
3. Open the app menu (bottom-left corner), search for **Konsole** and open it.
2. On the Frame open the **SteamVR dashboard → Launch a program → Desktop**: the Linux desktop opens on a virtual
screen.
3. Open the app menu (bottom-left corner of that desktop) → **System → Konsole** (or search for Konsole).
4. Type the command FramePort shows exactly as shown (on-screen keyboard or any USB/Bluetooth keyboard) and press
**Enter**. This will run the following [bash setup script](bootstrap/bootstrap.sh).
5. After a few seconds the desktop closes by itself and the Frame returns to its normal view; that's expected. If
5. After a few seconds the desktop closes by itself (Steam restarts once); that's expected. If
Steam asks to install **Lepton**, confirm it. FramePort shows the Frame as connected within a minute. No
password needed.
3. **Add games → Scan a folder** with your game backups (APK + OBB, or PC VR game folders).
+3 -2
View File
@@ -1,5 +1,6 @@
#!/usr/bin/env bash
# FramePort one-time Steam Frame setup. Run in the Frame's Desktop Mode terminal (Konsole):
# FramePort one-time Steam Frame setup. Run in the Frame's desktop terminal (SteamVR dashboard -> Launch a program
# -> Desktop, then System -> Konsole):
# curl -fsS <pc-ip>:<port>/<code> | bash
# (the FramePort app shows the exact line and serves this script while its Setup page is open).
#
@@ -128,6 +129,6 @@ if [[ ! -x "$DEVKIT_HELPER" || ! -f "$STEAM_CONFIG" ]] || \
echo "Couldn't turn it on automatically. Turn it on in Settings > System > Developer, then run this command again."
exit 1
fi
echo "Steam restarts to turn it on. That closes Desktop Mode in a few seconds and the Frame returns to its"
echo "Steam restarts to turn it on. That closes the desktop in a few seconds and the Frame returns to its"
echo "normal view; setup finishes on its own. If Steam asks to install Lepton, confirm it."
echo "Then return to FramePort on your PC: the Frame appears as connected within a minute."
+3 -3
View File
@@ -31,12 +31,12 @@ The Frame and the computer must be on the same network.
1. In FramePort open **Steam Frame** and click **Show setup command**.
2. First time only, on the Frame:
1. Press the **Steam button → Power → Switch to Desktop**.
2. Open the app menu (bottom-left corner), search for **Konsole** and open it.
1. Open the **SteamVR dashboard → Launch a program → Desktop**: the Linux desktop opens on a virtual screen.
2. Open the app menu (bottom-left corner of that desktop) → **System → Konsole** (or search for Konsole).
3. Type the command FramePort shows exactly as shown (on-screen keyboard or any USB/Bluetooth keyboard) and press
**Enter**. It looks like `curl -fsS 192.168.1.20:8765/1a2b3c4d | bash`: your computer's address, then a
one-time code.
4. After a few seconds the desktop closes by itself and the Frame returns to its normal view; that's expected. If
4. After a few seconds the desktop closes by itself (Steam restarts once); that's expected. If
Steam asks to install **Lepton** (Valve's Android runtime), confirm it.
FramePort connects by itself within a minute. No password is needed. The command lets FramePort in and turns on
+2 -1
View File
@@ -405,7 +405,8 @@ def frame_pair(timeout: float = typer.Option(600, help="seconds to wait for the
from .frame.pairing import PairingServer
srv = PairingServer().start()
typer.echo("On the Frame, open Desktop Mode → Konsole and run:\n\n " + srv.one_liner + "\n")
typer.echo("On the Frame, open the SteamVR dashboard → Launch a program → Desktop, then System → Konsole, and "
"run:\n\n " + srv.one_liner + "\n")
end = time.time() + timeout
while time.time() < end and not srv.paired:
time.sleep(1)
+2 -2
View File
@@ -403,7 +403,7 @@
"It has a known blocker on the Steam Frame.": "",
"It has issues: share…": "",
"it stopped at '{value}'": "",
"It trusts this app, turns on Developer Mode and installs Lepton if needed. Turning on Developer Mode closes Desktop Mode; the setup finishes on its own and FramePort connects by itself. You only do this once.": "",
"It trusts this app, turns on Developer Mode and installs Lepton if needed. Turning on Developer Mode closes the desktop; the setup finishes on its own and FramePort connects by itself. You only do this once.": "",
"It was removed from the library.": "",
"It works: share…": "",
"Java runtime": "",
@@ -528,7 +528,7 @@
"Older workaround for upside-down quads: rotates them 180° (quads are single-sided; prefer flip_emul).": "",
"On Frame": "",
"On the Frame, place Revive's runtime (FramePort's Revive, or the repack's bundled LibRevive) where the game's Oculus SDK looks for LibOVRRT so it can load a VR runtime (pure runtime substitution — what Revive's LoadLibrary hook does on Windows; that hook doesn't work under Proton on the Frame). It does NOT bypass the Oculus runtime signature check: a game that verifies the runtime's signature will still refuse it. Ignored on this PC (Revive's hook handles it there).": "",
"On the Frame: Steam button → Power → Switch to Desktop, open Konsole and run:": "",
"On the Frame: SteamVR dashboard → Launch a program → Desktop, then app menu → System → Konsole, and run:": "",
"On this PC": "",
"On this PC, launch the game through Revive's OpenVR backend, which talks straight to SteamVR — the original, most reliable Revive path. On by default for PC installs. Turn it off to use Revive's newer OpenXR backend instead. Ignored on the Frame (which always uses OpenXR).": "",
"On this PC, runs Revive through SteamVR (works with more headsets).": "",
+3 -2
View File
@@ -215,7 +215,8 @@ class FrameView:
discovery), which used to close it."""
line = app.pairing.one_liner
pair_box.controls = [
C.body(tr("On the Frame: Steam button → Power → Switch to Desktop, open Konsole and run:"), T.TEXT),
C.body(tr("On the Frame: SteamVR dashboard → Launch a program → Desktop, then app menu → System → "
"Konsole, and run:"), T.TEXT),
ft.Container(ft.Row([ft.Text(line, font_family="monospace", selectable=True, size=T.px(12),
color=T.TEXT, expand=True),
C.icon_btn(ft.Icons.CONTENT_COPY_ROUNDED, tr("Copy"), lambda e: app.copy(line))]),
@@ -225,7 +226,7 @@ class FrameView:
C.meta(tr("Waiting for your Frame… (code {code})").format(code=app.pairing.code))],
spacing=T.S2),
C.meta(tr("It trusts this app, turns on Developer Mode and installs Lepton if needed. Turning on "
"Developer Mode closes Desktop Mode; the setup finishes on its own and FramePort connects "
"Developer Mode closes the desktop; the setup finishes on its own and FramePort connects "
"by itself. You only do this once.")),
]
hint = getattr(app.pairing, "hint", "")