Simula is a 3D window manager for Linux that runs on top of Godot.
Video: See here.
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. Currently, Simula is aiming to be compatible with the HTC Vive.
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
Simula is in alpha phase, and can be difficult to get working on many setups. For help with installation, please visit our chat room.
Simula has only been tested on Ubuntu bionic beaver (18.04), but the instructions below should in principle work on older versions of Ubuntu and other distros that use apt~/~apt-get
(i.e., Debian).
- Clone the repo and run the helper commands.
git clone --recursive https://github.com/SimulaVR/Simula cd Simula source utils/UbuntuHelpers.sh installNvidiaDrivers # this will update you to nvidia-396 if you don't have it already # If you run AMD, ensure that mesa is updated to at least mesa-17.3 installUbuntuDependencies installSteam # if you haven't already installGodot # Installs Godot 3.1 master branch; this will probably take a while.
- Ensure udev rules are up to date. Ensure that
/lib/udev/rules.d/60-HTC-Vive-perms.rules
exists and contains the following:# HTC Vive HID Sensor naming and permissioning KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2c87", TAG+="uaccess" KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2101", TAG+="uaccess" KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2000", TAG+="uaccess" KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1043", TAG+="uaccess" KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2050", TAG+="uaccess" KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2011", TAG+="uaccess" KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2012", TAG+="uaccess" SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2c87", TAG+="uaccess" # HTC Camera USB Node SUBSYSTEM=="usb", ATTRS{idVendor}=="114d", ATTRS{idProduct}=="8328", TAG+="uaccess" # HTC Mass Storage Node SUBSYSTEM=="usb", ATTRS{idVendor}=="114d", ATTRS{idProduct}=="8200", TAG+="uaccess" SUBSYSTEM=="usb", ATTRS{idVendor}=="114d", ATTRS{idProduct}=="8a12", TAG+="uaccess"
- Compile & launch Simula.
# Ensure that SteamVR is launched. cd /path/to/simula make run # this should take a while also # Once Simula starts, launch some Wayland apps to interact with: weston-terminal # Wayland terminal epiphany # Wayland web browser # You can also launch X apps: DISPLAY=:1 firefox # You have to tell X apps that Simula is located on DISPLAY 1 # NOTE: This assumes Simula is launched on DISPLAY 1. # Unless you have an unusual setup, this is usually the case by default; # check Simula console output to check for sure.
Pending.
We’re looking for open-source contributors. If you’re interested in using Haskell to bring VR and Linux together, drop by our chat room, or email georgewsinger@gmail.com.
If you’re interested in a future where Linux and VR co-exist, you can donate to the following addresses:
Bitcoin. 17YLp6kJswxa8gGKwXqLrNtnM9Fgye6dfQ
Ethereum. 0x373227b43Fe1eFe8da9d30ED1Ee45E7488F6cab3
PayPal. george.w.singer@gmail.com
See Simula’s Wiki for our Master Plan and list of Monthly Updates.