Skip to content

FrameMover v1.0.0

Choose a tag to compare

@NotZoeyDev NotZoeyDev released this 16 Oct 17:48
· 13 commits to main since this release

Frame Mover is a playspace mover for the Steam Frame, in the style of OVR Advanced Settings. It runs natively on the headset (Linux ARM64) against the SteamVR installed on it, and it also works when streaming through Steam Link.

Features

  • Grab and move the world with a controller button.
  • Grab and turn the world around your head.
  • Snap turn, and raise / lower yourself.
  • Reset to original puts back exactly the playspace and chaperone you had saved. Frame Mover never commits anything to SteamVR's chaperone, so Reset, Quit, a crash or SteamVR shutting down all restore your saved playspace.
  • Bindings are SteamVR Input bindings. Rebind them in SteamVR's own binding editor, from the dashboard tab.
  • Dashboard tab and quick-launch tile. Settings are grab speed, snap angle, raise speed, lock height, per-hand enable, haptics, and double-press-to-grab. They are stored in ~/.config/frame-mover/config.ini.
  • Optional chaperone handling while moved: a huge chaperone (on by default) or no chaperone at all (off by default), so the real play-area edge doesn't show up in your moved world.
  • Chaperone backups are kept in ~/.local/share/frame-mover/backup/ (newest 10).

Default controls

Action Binding
Grab and move Bumper (either hand), double-press and hold
Grab and turn Thumbstick click (either hand), double-press and hold
Snap turn left / right Left D-pad left / right
Raise / lower Left D-pad up / down
Reset to original Hold left View button for 1.5 s

Install

Download FrameMover-installer-aarch64.AppImage, make it executable and run it on the Frame, then pick Install (or Uninstall).

From a terminal:

./FrameMover-installer-aarch64.AppImage install
./FrameMover-installer-aarch64.AppImage uninstall

Install copies Frame Mover to ~/.local, registers it with SteamVR (quick-launch bar) and starts it with SteamVR. Have SteamVR running when you install or uninstall so it can register or unregister the app. Uninstall keeps your settings and chaperone backups. You can also build from source; see the README.

Known issues

  • In rare cases SteamVR still replaces the live playspace with the saved one and the move snaps back. Frame Mover detects this and re-applies the move.
  • Killing the program with kill -9 or a crash while the dashboard tab is open can crash vrcompositor, and SteamVR then restarts. A normal exit (dashboard Close, SIGTERM) is safe.
  • Moves are not remembered across restarts.