mirror of
https://github.com/Toastconcern/FrameStudio.git
synced 2026-10-28 20:03:07 +01:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ba332a16d8 | ||
|
|
0601a8a436 |
@@ -1,48 +1,80 @@
|
|||||||
# Frame Studio and Frame Home
|
# Frame Studio and Frame Home
|
||||||
|
|
||||||
**Frame Home** makes your homes the Steam Frame's environment. Meta Quest homes (HSL, Clay `.opa`, glTF) and models
|
Turn Meta Quest homes and 3D models into native environments for the Steam Frame.
|
||||||
become Frame-native `.fenv` environments, drawn in SteamVR's compositor in place of its own environment: at boot,
|
|
||||||
behind the Steam menu and while games load. **Frame Studio** is the desktop editor for them, on Windows, Linux and
|
|
||||||
macOS. It opens Meta homes, `.fenv` environments and models (glTF, FBX, OBJ), shows them with the same renderer the
|
|
||||||
headset runs, and lets you edit, save and send them to the headset.
|
|
||||||
|
|
||||||
**Discord:** [join the Frame Studio server](https://discord.gg/yJDn59ErgK) for help, bug reports, feature requests,
|
| | Runs on | What it does |
|
||||||
|
|---|---|---|
|
||||||
|
| **Frame Home** | The Steam Frame | Draws your environment in SteamVR's compositor in place of its own: at boot, behind the Steam menu and while games load |
|
||||||
|
| **Frame Studio** | Windows, Linux, macOS, the Steam Frame | Opens Meta homes (HSL, Clay `.opa`, glTF), `.fenv` environments and models (glTF, FBX, OBJ), shows them with the same renderer the headset runs, and lets you edit, save and send them to the headset |
|
||||||
|
|
||||||
|
**Help and news:** the [Frame Studio Discord](https://discord.gg/yJDn59ErgK) for help, bug reports, feature requests,
|
||||||
new releases and environments people have made. What changed in each version: [CHANGELOG.md](CHANGELOG.md).
|
new releases and environments people have made. What changed in each version: [CHANGELOG.md](CHANGELOG.md).
|
||||||
|
|
||||||
|
## Contents
|
||||||
|
|
||||||
|
- [Quick start](#quick-start)
|
||||||
|
- [Install only Frame Home](#install-only-frame-home)
|
||||||
|
- [Downloads](#downloads)
|
||||||
|
- [Features](#features)
|
||||||
|
- [Guides](#guides)
|
||||||
|
- [Building from source](#building-from-source)
|
||||||
|
- [License](#license)
|
||||||
|
|
||||||
## Quick start
|
## Quick start
|
||||||
|
|
||||||
1. **Download** Frame Studio for your computer from the Releases page (**Latest build**, or a version release) and
|
1. **Download** Frame Studio for your computer from the Releases page and unpack it.
|
||||||
unpack it. See [Getting started](docs/getting-started.md).
|
See [Getting started](docs/getting-started.md).
|
||||||
2. **Prepare the headset** once: developer mode, SSH and a key. See [Preparing the Steam Frame](docs/headset-setup.md).
|
2. **Prepare the headset** once: developer mode, SSH and a key. See [Preparing the Steam Frame](docs/headset-setup.md).
|
||||||
3. **Install Frame Home**: in Studio, **Headset > Install on Steam Frame...**, then **Install Frame Home**.
|
3. **Install Frame Home**: in Studio, **Headset > Install on Steam Frame...**, then **Install Frame Home**.
|
||||||
See [Installing Frame Home](docs/install-frame-home.md).
|
See [Installing Frame Home](docs/install-frame-home.md).
|
||||||
4. **Open a home**: **File > Open...** and pick a Meta home `.apk`, a `.fenv` or a model.
|
4. **Open a home**: **File > Open...** and pick a Meta home `.apk`, a `.fenv` or a model.
|
||||||
5. **Send it**: **Headset > Send to Frame**. Put the headset on: you are standing in it.
|
5. **Send it**: **Headset > Send to Frame**. Put the headset on: you are standing in it.
|
||||||
|
|
||||||
|
## Install only Frame Home
|
||||||
|
|
||||||
|
You don't need Frame Studio to run Frame Home. On the Steam Frame:
|
||||||
|
|
||||||
|
1. Switch to **Desktop Mode** and open **Konsole**.
|
||||||
|
2. Run:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -fsSL https://raw.githubusercontent.com/Toastconcern/FrameStudio/main/frame/install-frame-home-online.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
This downloads Frame Home from the **Latest build** release, checks it and installs it. No SSH or computer needed.
|
||||||
|
3. Put your `.fenv` environments in `~/frame-home/envs`.
|
||||||
|
4. Switch back to Game Mode. Your environment shows at boot and behind the Steam menu; switch between environments
|
||||||
|
in the **Environments** panel.
|
||||||
|
|
||||||
|
To install from a computer instead, download `FrameHome-installer.zip` and run **Install Frame Home.bat** (Windows)
|
||||||
|
or `install-frame-home.sh` (Linux, macOS). That way needs SSH on the headset. Every method, plus updating and
|
||||||
|
uninstalling: [Installing Frame Home](docs/install-frame-home.md).
|
||||||
|
|
||||||
## Downloads
|
## Downloads
|
||||||
|
|
||||||
Every push builds Frame Studio and its matching Frame Home payload. The **Latest build** release contains both Studio
|
Every release on the Releases page (**Latest build**, or a numbered `v*` version) contains Frame Studio for each
|
||||||
packages and `FrameHome-installer.zip`; each `v*` version release contains both products too. Studio updates from its
|
computer below and the matching Frame Home payload.
|
||||||
top bar, and Frame Home updates from the Environments panel on the headset. Both use the same release channel.
|
|
||||||
|
|
||||||
| Computer | Frame Studio |
|
| Computer | File |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Windows, 64-bit PCs | `FrameStudio-windows-x64.zip` |
|
| Windows, 64-bit PCs | `FrameStudio-windows-x64.zip` |
|
||||||
| Windows on ARM (Snapdragon, Surface Pro X...) | `FrameStudio-windows-arm64.zip` |
|
| Windows on ARM (Snapdragon, Surface Pro X...) | `FrameStudio-windows-arm64.zip` |
|
||||||
| Linux, 64-bit PCs | `FrameStudio-linux-x64.tar.gz` |
|
| Linux, 64-bit PCs | `FrameStudio-linux-x64.tar.gz` |
|
||||||
| Linux on ARM (Raspberry Pi 5, ARM laptops, the Steam Frame's desktop) | `FrameStudio-linux-arm64.tar.gz` |
|
| Linux on ARM (Raspberry Pi 5, ARM laptops) | `FrameStudio-linux-arm64.tar.gz` |
|
||||||
|
| Steam Frame (SteamOS ARM64) | `FrameStudio-linux-arm64.tar.gz` |
|
||||||
| Mac with Apple Silicon (M1 and later) | `FrameStudio-macos-arm64.zip` |
|
| Mac with Apple Silicon (M1 and later) | `FrameStudio-macos-arm64.zip` |
|
||||||
| Frame Home only, installed from any computer | `FrameHome-installer.zip` |
|
| Frame Home only, installed from any computer | `FrameHome-installer.zip` |
|
||||||
|
|
||||||
Studio needs a GPU with Vulkan 1.2: any recent NVIDIA, AMD or Intel driver on Windows and Linux. On a Mac, Vulkan
|
**Requirements.** Studio needs a GPU with Vulkan 1.2: any recent NVIDIA, AMD or Intel driver on Windows and Linux.
|
||||||
runs on Metal through MoltenVK, which comes inside the app. 32-bit Windows and Linux and Intel Macs have no ready-made
|
On a Mac, Vulkan runs on Metal through MoltenVK, which comes inside the app. 32-bit Windows and Linux and Intel Macs
|
||||||
download; Studio can still be built for them from source ([docs/building.md](docs/building.md)).
|
have no ready-made download, but Studio can still be [built from source](docs/building.md) for them.
|
||||||
|
|
||||||
See [Installing Frame Home](docs/install-frame-home.md) for how to install the runtime on a Steam Frame.
|
**Updates.** Studio updates from its top bar, and Frame Home from the Environments panel on the headset. Both follow
|
||||||
|
the same release channel.
|
||||||
|
|
||||||
## Highlights
|
## Features
|
||||||
|
|
||||||
**Frame Home (on the headset)**
|
### Frame Home, on the headset
|
||||||
|
|
||||||
- Takes SteamVR's environment slot natively: no app, no library entry, controllers and passthrough still work.
|
- Takes SteamVR's environment slot natively: no app, no library entry, controllers and passthrough still work.
|
||||||
- An **Environments** panel in the Steam menu: switch homes live, delete them, change settings, debug views.
|
- An **Environments** panel in the Steam menu: switch homes live, delete them, change settings, debug views.
|
||||||
@@ -51,18 +83,18 @@ See [Installing Frame Home](docs/install-frame-home.md) for how to install the r
|
|||||||
thermal governor that keeps the headset cool.
|
thermal governor that keeps the headset cool.
|
||||||
- Safe: a compositor layer that steps aside if Frame Home stops, and a one-file off switch.
|
- Safe: a compositor layer that steps aside if Frame Home stops, and a one-file off switch.
|
||||||
|
|
||||||
**Frame Studio (on your computer)**
|
### Frame Studio, on your computer
|
||||||
|
|
||||||
- Opens Meta homes (HSL, Clay, glTF), `.fenv` environments and Blender or Unity models; pairs rooms with vistas.
|
- **Open** Meta homes (HSL, Clay, glTF), `.fenv` environments and Blender or Unity models; pair rooms with vistas.
|
||||||
- Move, rotate, scale, hide and delete objects, with undo and auto-saved versions.
|
- **Edit**: move, rotate, scale, hide and delete objects, with undo and auto-saved versions. A navigation gizmo in
|
||||||
- Shape the walkable area: auto-generated surfaces, drawn floors, spawns, seats, hotspots, gravity zones.
|
the viewport corner orbits the view or snaps it to an axis.
|
||||||
- Add a background sound and a picture; set and calculate per-world settings.
|
- **Shape the walkable area**: auto-generated surfaces, drawn floors, spawns, seats, hotspots, gravity zones.
|
||||||
- Saves baked `.fenv` files and leaves out what can't be seen; sends them to the headset in one click.
|
- **Set the mood**: a background sound, a picture, and per-world settings you can set or calculate.
|
||||||
- Packs several environments into one `.fbundle` to share or install together ([bundles](docs/bundles.md)).
|
- **Save and send**: baked `.fenv` files that leave out what can't be seen, sent to the headset in one click, or
|
||||||
- Debug views (wireframe, meshes, GPU cost, overdraw), a home report, and the headset's settings and debug page
|
packed with others into one `.fbundle` to share or install together ([bundles](docs/bundles.md)).
|
||||||
from your desk.
|
- **Check it**: debug views (wireframe, meshes, GPU cost, overdraw), a home report, and the headset's settings and
|
||||||
- A navigation gizmo in the viewport corner: drag it to orbit, click an axis to snap to that view.
|
debug page from your desk.
|
||||||
- Themes, from dark to light, drawn from the MetaDB palette (**Window > Theme**).
|
- Themes, from dark to light (**Window > Theme**).
|
||||||
|
|
||||||
## Guides
|
## Guides
|
||||||
|
|
||||||
@@ -72,26 +104,26 @@ See [Installing Frame Home](docs/install-frame-home.md) for how to install the r
|
|||||||
| [Preparing the Steam Frame](docs/headset-setup.md) | Developer mode, SSH, keys, the `frame` address |
|
| [Preparing the Steam Frame](docs/headset-setup.md) | Developer mode, SSH, keys, the `frame` address |
|
||||||
| [Installing Frame Home](docs/install-frame-home.md) | Three ways to install, updating, uninstalling, the off switch |
|
| [Installing Frame Home](docs/install-frame-home.md) | Three ways to install, updating, uninstalling, the off switch |
|
||||||
| [Using Frame Home](docs/using-frame-home.md) | The Environments panel, moving around, every setting |
|
| [Using Frame Home](docs/using-frame-home.md) | The Environments panel, moving around, every setting |
|
||||||
| [Environments and .fenv](docs/environments-and-fenv.md) | The format, `fenv-tool`, per-world settings and tuning |
|
|
||||||
| [Performance](docs/performance.md) | Reaching 120 fps, checking it, fixing stutter |
|
|
||||||
| [Frame Studio guide](docs/studio-guide.md) | The Studio window, tools and panels |
|
| [Frame Studio guide](docs/studio-guide.md) | The Studio window, tools and panels |
|
||||||
|
| [Environments and .fenv](docs/environments-and-fenv.md) | The format, `fenv-tool`, per-world settings and tuning |
|
||||||
| [Bundles](docs/bundles.md) | Several environments in one `.fbundle` |
|
| [Bundles](docs/bundles.md) | Several environments in one `.fbundle` |
|
||||||
| [Building from source](docs/building.md) | Building on each system, CI, and Frame Home payload builds |
|
| [Performance](docs/performance.md) | Reaching 120 fps, checking it, fixing stutter |
|
||||||
| [Troubleshooting](docs/troubleshooting.md) | Symptoms and fixes, logs, the self-test |
|
| [Troubleshooting](docs/troubleshooting.md) | Symptoms and fixes, logs, the self-test |
|
||||||
|
| [Building from source](docs/building.md) | Building on each system, CI, and Frame Home payload builds |
|
||||||
|
|
||||||
## Building from source
|
## Building from source
|
||||||
|
|
||||||
Everything Studio needs is in `third_party/`; you need CMake 3.16+ and Ninja. In short:
|
Everything Studio needs is in `third_party/`; you need CMake 3.16+ and Ninja.
|
||||||
|
|
||||||
| On | Command |
|
| On | Command |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Windows (Visual Studio 2022 with C++) | `studio\build_windows.bat x64` (or `x86`, `arm64`) |
|
| Windows (Visual Studio 2022 with C++) | `studio\build_windows.bat x64` (or `x86`, `arm64`) |
|
||||||
| Linux, macOS | `scripts/build-studio.sh <target>...` or `scripts/build-studio.sh all` |
|
| Linux, macOS | `scripts/build-studio.sh <target>...` or `scripts/build-studio.sh all` |
|
||||||
|
|
||||||
Frame Home binaries are built in GitHub Actions and are not checked into `frame/payload/`. Full details, prerequisites
|
Frame Home binaries are built in GitHub Actions and are not checked into `frame/payload/`. Prerequisites, CI and the
|
||||||
and CI: [docs/building.md](docs/building.md).
|
headset side: [docs/building.md](docs/building.md).
|
||||||
|
|
||||||
## Repository layout
|
### Repository layout
|
||||||
|
|
||||||
| Path | What it holds |
|
| Path | What it holds |
|
||||||
|---|---|
|
|---|---|
|
||||||
@@ -111,9 +143,8 @@ You may use, study, change and share them; if you share a changed version, or ru
|
|||||||
its source must be available under the same license.
|
its source must be available under the same license.
|
||||||
|
|
||||||
Vendored libraries in `third_party/` keep their own licenses (in each folder); Studio's interface font, Inter, is under
|
Vendored libraries in `third_party/` keep their own licenses (in each folder); Studio's interface font, Inter, is under
|
||||||
the SIL Open Font License (`third_party/inter/LICENSE.txt`). The home loaders in `third_party/qhe`
|
the SIL Open Font License (`third_party/inter/LICENSE.txt`). The home loaders in `third_party/qhe` started from Quest
|
||||||
started from Quest Home Editor and keep its MIT license for the original code; see
|
Home Editor and keep its MIT license for the original code; see [third_party/qhe/LICENSE.md](third_party/qhe/LICENSE.md).
|
||||||
[third_party/qhe/LICENSE.md](third_party/qhe/LICENSE.md).
|
|
||||||
|
|
||||||
Neither license covers Meta's homes or other assets: Frame Studio only works with files you already have, and no
|
Neither license covers Meta's homes or other assets: Frame Studio only works with files you already have, and no
|
||||||
Meta content is included in this repository or its downloads.
|
Meta content is included in this repository or its downloads.
|
||||||
Reference in new issue
Block a user