Skip to content

SimulaVR/Simula

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

./doc/SimulaLogoHorizontal.png

Simula is a VR window manager for Linux that runs on top of Godot. It takes less than 1 minute to install.

For the past few years we’ve been focused primarily on our custom VR computer hardware. Please check our website for details.

http://img.youtube.com/vi/FWLuwG91HnI/0.jpg

Video: Demonstration.

Compatibility: Simula is only compatible with headsets equipped with monado-compatible drivers (e.g. HTC Vive, HTC Vive Pro, Valve Index, & Rokid Max). We’re working on the Simula One headset to to add to this list.

Simula One Headset: We’re developing a portable VR headset which will come with this compositor pre-installed. If you’re interested, check out our website to preorder or receive periodic updates on its development.

Our Mission: Allow you to work productively in AR/VR.

Origins: Simula is a reimplementation fork of motorcar. To read about motorcar, see Toward General Purpose 3D User Interfaces: Extending Windowing Systems to Three Dimensions

Text Quality

A common objection to the viability of VR Desktop is that it exhibits poor text quality; however, with our low pass filter, Simula has taken special care to make text quality as clear as possible:

./doc/TextQuality2.gif

The left image is a VR terminal without our filter applied; the right is the same image with our filter applied. Compared to other VR Desktops, Simula allows for longer sessions without uncomfortable eye strain.

Installation & Launching

To install Simula on all Linux distros, run:

nix profile install github:SimulaVR/Simula # install

# NOTE: When installing for the first time, you'll be prompted:
#
# > "do you want to allow configuration setting 'extra-substituters'
# > to be set to 'https://simula.cachix.org' (y/N)?"
#
# Answering "y" to this (and the other messages) will allow nix to just
# download the Simula binaries onto your machine, saving you the time of
# compiling everything locally (which can take awhile)

and then launch it via

simula-monado-service & # Launch Simula's monado backend first, which runs in the background to detect Linux-compatible headsets and sync them up with Simula
simula # Launch Simula

# Be careful when launching Simula though(!), as it will grab your mouse & keyboard from your host window manager
# You can press `Super + z` to escape Simula after launching

If you don’t have nix

Installing Simula requires the nix package manager. If you don’t have it, you can install it via

curl -L https://nixos.org/nix/install | sh
. $HOME/.nix-profile/etc/profile.d/nix.sh

If you want to build Simula locally

git clone --recursive https://github.com/SimulaVR/Simula # You need --recursive to get all of our git submodules
nix develop # Enter a nix shell with all of our dependencies in place
just build  # Compiles everything locally

Usage

Simula Mouse & Keyboard Controls

In Simula, VR Windows become “active” once you look at them. Active windows receive (i) typing events from the keyboard and (ii) cursor events from any mouse movement. In addition, the following window-manipulation shortcuts are provided by default into Simula (these can be adjusted by changing /.config/Simula/config.dhall):

Key binding.Action
Super + Shift + EscapeTerminate Simula
Super + zToggle Simula’s mouse & keyboard grab from your host OS (see below)
Super + /Quick launch terminal
Super + ApostropheSend window cursor to gaze point (hold down to make cursor follow gaze)
Super + EnterLeft click surface cursor at gaze point
Super + Shift + EnterRight click surface cursor at gaze point
Super + AltGrab surface for movement (release to let go)
Super + mGrab all surfaces for movement (release to let go)
Super + Shift + mGrab all surfaces in all workspaces at once for movement (release to let go)
Super + aLaunch Simula’s app launcher (synapse)
Super + eCycle Simula’s background environment
Super + fOrient window towards user gaze
Super + 9Scale window to smaller size
Super + 0Scale window to larger size
Super + <number between 1 and 8>Switch to workspace <num>
Super + Shift + <number between 1 and 8>Move window to workspace <num>
Super + Shift + 0Pin window to all workspaces
Super + -Increase window resolution (“zoom out”)
Super + =Increase window resolution (“zoom in”)
Super + <right>Extend window horizontally
Super + <left>Contract window horizontally
Super + <down>Extend window vertically
Super + <up>Contract window vertically
Super + Alt + <down>Decrease window transparency
Super + Alt + <up>Increase window transparency
Super + sResize window to take its default (typically square) dimensions
Super + CommaMove window towards you
Super + PeriodMove window away from you
Super + BackspaceKill surface being looked at
Super + kQuick launch firefox (requires firefox to not already be launched on host)
Super + gQuick launch google-chrome (requires chrome to not already be launched on host)
Super + wLaunch headset webcam view
PrtScToggle “screenshot” mode (drag a selection on the current window to generate a ./media/*.png and copy it to the X clipboard).
Shift + PrtScTake global screenshot (saved to ./media/*.png)
Super + Shift + PrtScToggle video recording (saved to ./media/*.mkv); useful for sending bug reports.
Super + rReload Simula’s configuration (./config.dhall)

NOTE: In order to prevent Simula’s keyboard shortcuts from conflicting with your existing window manager’s shortcuts, Simula “grabs” the system keyboard and cursor from your host OS to prevent input events from propagating past Simula. This has a side effect: it’s impossible for you to escape Simula once you launch it! In order to get around this, press Super + z to “ungrab” Simula which will restore mouse & keyboard control to your normal window manager.

Mouse & Keyboard View

https://www.wolframcloud.com/obj/george.w.singer/1063512563850488463045946458923996976334308262441.png

Simula has a headset webcam view (binded presently to Super + w) that allows you to see your mouse and keyboard from VR. This will be deprecated once the Simula One releases (since it’ll have full-blown “AR Mode”).

Configuration

  • Many things are configurable in Simula. See /.config/Simula/config.dhall for a self-documenting list of things to adjust.

Simula One Headset

We’re developing portable VR headsets which will come with this compositor pre-installed. If you’re interested, check out our website to preorder or receive periodic updates on its development.

Community

For troubleshooting and discussion, join our community at https://discordapp.com/invite/a4PnP7n.

About

Linux VR Desktop

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published