Friday , May 29 2020

SimulaVR / Simula, Hacker News




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

Video: Demonstration.

Compatibility: Currently, Simula is only compatible with SteamVR headsets (eg HTC Vive, HTC Vive Pro, & Valve Index).

Mission: Facilitate a Linux future for VR & AR Desktop. In the short-run, this means allowing people to run 2D Linux apps with current generation headsets. In the long-run, this means allowing people to run Linux in standalone AR & VR HMDs. 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

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:

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 significantly longer sessions without uncomfortable eye strain.

To install Simula on all Linux distros, run:

./doc/TextQuality2.gif # (Clone) git clone –recursive cd Simula # Download (or build, if downloading fails) source ./utils/ ./doc/TextQuality2.gif && installSimula #

 Launch   ./result/bin/simula ./doc/TextQuality2.gif (# ./doc/TextQuality2.gif Needs SteamVR to be running

Installing Simula should take less than 1 minute: this script does not actually compile anything on your system, but instead downloads the appropriate binaries from our cache in a way that is system and driver agnostic. Under the hood, we (i) check whether you have nix and

cachix installed (and, if not, install them); (ii) check which graphics drivers you have and (iii) download Simula via (cachix with the appropriate driver flags, falling back to a nix build if downloading fails.

On NixOS systems, you must ensure

nix.trustedUsers=[ “root” ““];

is added to your configuration.nix , or the install command above will be unable to download Simula from our cache, instead falling back to a manual build ( which takes 1hr ).

Mouse & Keyboard Controls

Windows become “active” once you look at them. Active windows receive typing events from the keyboard, and cursor events from mouse movement. In addition, the following window-manipulation shortcuts are hard-coded into Simula (we’re going to make this customizable in the near future): key binding.



Super / (Quick launch terminal) (terminator) ) Super Apostr ophe Send window cursor to gaze point (hold down to make cursor follow gaze) Super Enter Left click surface cursor at gaze point Super Alt Grab surface for movement (release to let go)

(Super f) Orient window towards user gaze ( (Super 9) Scale window to smaller size (Super 0) Scale window to larger size

(Super -)

Increase window resolution (“zoom out”) (Super =)

(Super g) (Quick launch google-chrome)

(Super w) Launch headset webcam view (requires ffplay )

(Increase window resolution (“zoom in”)) (Super Comma) (Move window). Move window towards you (Super Period) (Move window away from you Super Backspace (Kill surface being looked at Super k) (Quick launch firefox) Left-clicking. Use (7) gently (you don't have to go all the way down to click).   

    Right-clicking. (Use (1).)   

      Scrolling. Scroll up and down via (2).

    •   Text dragging.
    • Hold (7) down and drag.

    •   Window manipulation. Point at a window and, while holding (8), move your controller around. The windows should “levitate” in the direction of your movement.   

 Window rescaling. Point at a window, hold (8 ) down, and then scroll up and down on (2).
    • Simula has a headset (webcam view ) (binded presently to (Super w) ) that allows you to see your mouse and keyboard from VR.

      For troubleshooting and discussion, join our community at .

      ./doc/TextQuality2.gif    Brave Browser     

About admin

Leave a Reply

Your email address will not be published. Required fields are marked *