mirror of
https://github.com/Toastconcern/FrameStudio.git
synced 2026-10-29 04:02:56 +01:00
Frame Home on a PC with SteamVR (Windows, Linux); thumbnails from the spawn
- src/home_platform.h: what Frame Home and the panel need from the system (paths, finding and stopping each other, running a tool, restarting, priorities) for SteamOS, Windows and Linux PCs. On a PC the environments are Frame Studio's My Environments; Frame Home's own files in %LOCALAPPDATA%\Frame Home (Windows). - src/openvr_loader.cpp: a PC build finds SteamVR's own OpenVR library at run time (openvrpaths.vrpath), so it runs on any PC with SteamVR; Vulkan through volk. CMake: FRAME_HOME_PC (default on Windows and x86-64 Linux); the Steam Frame build is unchanged. - Windows: Frame Home is SteamVR's home app; SteamVR's classic environment shows a 360-degree picture of the current home from its spawn (frame-home --panorama --spawn, made by the panel when the home changes) instead of Aurora while Frame Home starts. Linux PCs: the Steam Frame's compositor layer, as on the headset. - frame/pc: install-frame-home-pc.ps1 (+ .bat): online through SteamVR's API or offline in its config files; the SteamVR settings it changes are saved and restored exactly on -Uninstall (tested in a sandbox both ways). frame-switcher --uninstall. Studio: Properties > Headset > This PC installs it from pc/ beside Studio. - Packaging and CI: pc/ in the Windows x64 and Linux x64 Studio downloads; FrameHome-PC-windows-x64.zip. - Thumbnails come from where Frame Home starts you (the first spawn, eyes 1.6 m up): Studio's saves and the panel's (frame-home --snapshot --spawn). - docs/pc-steamvr.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
b0609d3664
commit
3469b77ca3
21 files changed
+1296
-257
No files matched your search
@@ -10,5 +10,6 @@
|
||||
| [Performance](performance.md) | How Frame Home reaches 120 fps, checking it, fixing stutter, Studio's own pacing |
|
||||
| [Frame Studio guide](studio-guide.md) | The Studio window, tools and panels |
|
||||
| [Bundles](bundles.md) | Several environments in one `.fbundle` file |
|
||||
| [Frame Home on a PC](pc-steamvr.md) | Your homes as SteamVR's environment on a Windows or Linux PC |
|
||||
| [Building from source](building.md) | Building on each system, the CI, the headset side, the repository layout |
|
||||
| [Troubleshooting](troubleshooting.md) | Symptoms and fixes, logs, the self-test |
|
||||
@@ -0,0 +1,58 @@
|
||||
# Frame Home on a PC (SteamVR)
|
||||
|
||||
Frame Home also runs on a PC with SteamVR: the same renderer, homes and settings as on the Steam Frame, as SteamVR's
|
||||
environment whenever no game is open. The **Environments** panel in the Steam menu switches homes, as on the headset.
|
||||
It works with any headset SteamVR drives, including a Steam Frame streaming from the PC.
|
||||
|
||||
On a PC, Frame Home shows the environments in Frame Studio's **My Environments** (`Documents\Frame Studio\Environments`):
|
||||
save something in Studio and it's in VR straight away. Bundles (`.fbundle`) dropped there are unpacked by the panel.
|
||||
|
||||
## Install
|
||||
|
||||
**From Frame Studio:** **Properties > Headset**, section **This PC**: **Install Frame Home on This PC**. The same button
|
||||
updates it after you update Studio; **Remove from This PC** takes it off.
|
||||
|
||||
**Without Studio (Windows):** download `FrameHome-PC-windows-x64.zip` from the
|
||||
[latest build](https://github.com/Toastconcern/FrameStudio/releases), unzip it, and double-click
|
||||
**Install Frame Home on this PC.bat** (or **Remove Frame Home from this PC.bat**). From a terminal:
|
||||
|
||||
```powershell
|
||||
powershell -ExecutionPolicy Bypass -File install-frame-home-pc.ps1 # install or update
|
||||
powershell -ExecutionPolicy Bypass -File install-frame-home-pc.ps1 -Uninstall # SteamVR's own environment back
|
||||
```
|
||||
|
||||
SteamVR can be running or not: running, the change happens at once; not running, it's written to SteamVR's settings
|
||||
and takes effect when SteamVR starts.
|
||||
|
||||
## How it works
|
||||
|
||||
**Windows.** Frame Home becomes SteamVR's *home app*: SteamVR starts it whenever no game is open, and brings it back
|
||||
when a game quits. For the moments before it draws (SteamVR starting, a game closing) SteamVR shows its classic
|
||||
environment instead of Aurora, with its background set to a 360-degree picture of your current home taken from its
|
||||
spawn. So you see your home, not Aurora. The panel makes a new picture whenever you switch homes.
|
||||
|
||||
**Linux.** Exactly the Steam Frame's way: a small Vulkan layer in SteamVR's compositor draws Frame Home in Aurora's
|
||||
place, and `frame-home --system` renders it. (Linux PCs are supported but haven't been tested on a desktop yet.)
|
||||
|
||||
The installer saves the SteamVR settings it changes (`enableHomeApp`, `environmentMode`, `background` and its
|
||||
projection) and puts them back exactly when you remove Frame Home.
|
||||
|
||||
## Files
|
||||
|
||||
| Where | What |
|
||||
|---|---|
|
||||
| `%LOCALAPPDATA%\Frame Home\bin` | `frame-home.exe`, `frame-switcher.exe` |
|
||||
| `%LOCALAPPDATA%\Frame Home\current` | the environment shown |
|
||||
| `%LOCALAPPDATA%\Frame Home\settings.json` | Frame Home's settings (the panel's Settings page) |
|
||||
| `%LOCALAPPDATA%\Frame Home\logs` | logs |
|
||||
| `%LOCALAPPDATA%\Frame Home\background` | the picture SteamVR shows while Frame Home starts |
|
||||
| `Documents\Frame Studio\Environments` | the environments |
|
||||
|
||||
On Linux everything is in `~/frame-home`, as on the headset.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- **Aurora still shows after installing:** SteamVR was running with its settings window open; restart SteamVR.
|
||||
- **Nothing in the Steam menu:** the panel starts with SteamVR. In SteamVR's settings, **Startup / Shutdown > Choose
|
||||
Startup Overlay Apps** should list **Environments** switched on.
|
||||
- **Black world:** Frame Home needs a GPU with Vulkan 1.2. Its log is `%LOCALAPPDATA%\Frame Home\logs\frame-home.log`.
|
||||
@@ -160,6 +160,8 @@ The **Headset** tab (or the **Headset** menu):
|
||||
- **Send to Frame** makes the open environment the headset's current one, saved or not.
|
||||
- **Install Frame Home** puts Frame Home itself on the headset, with the environments and bundles you list under
|
||||
**Environments to install**. **Restore SteamVR's Environment** takes it off again.
|
||||
- **This PC** (Windows and Linux): **Install Frame Home on This PC** makes your environments SteamVR's environment on
|
||||
the computer Studio runs on. See [pc-steamvr.md](pc-steamvr.md).
|
||||
- The **Headset** field is the headset's address: an SSH alias such as `frame`, or `steamos@<address>`.
|
||||
See [headset-setup.md](headset-setup.md) and [install-frame-home.md](install-frame-home.md).
|
||||
|
||||
|
||||
Reference in new issue
Block a user