Simula is a 3D window manager for Linux that runs on top of Godot.
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 only compatible with the HTC Vive and HTC Vive Pro.
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. Note that Simula has only been tested on Ubuntu 19.04 (Disco Dingo), but the instructions below should in principle work on (i) older versions of Ubuntu and/or other distros that use
apt (i.e., Debian) or (ii) Arch Linux (or distros that use
- Clone Simula and install its dependencies. Depending upon your distro, you’ll need to run some combination of
git clone --recursive https://github.com/SimulaVR/Simula cd Simula make ubuntu # Installs needed packages via apt-get # make arch # Installs needed packages via pacman
- Compile Simula. Warning: this can take a while.
- Launch Simula. You must first launch SteamVR before you can run Simula.
steam & # First launch SteamVR from steam make run # ..then launch Simula
- Launch some apps. Once Simula starts, launch some Wayland apps to interact with (at this point Simula only supports Wayland apps). Apps must be launched with
WAYLAND_DISPLAY=simula-0 sakura # Wayland-based terminal WAYLAND_DISPLAY=simula-0 epiphany # Wayland-based web browser
- Left-clicking. Use (7) gently (you don’t have to go all the way down to click).
- Right-clicking. Not yet implemented.
- Scrolling. Scroll up and down via (2).
- Text dragging. Hold (7) down and drag.
- Window manipulation. Point at a window and, while holding (7) + (8), move your controller around. The windows should “levitate” in the direction of your movement.
- Window resizing. Point at a window, hold (8) down, and then scroll up and down on (2).
Any errors can be immediately helped with in Simula’s chatroom. Here are some helpers though:
- Driver errors. If you get driver related errors, try running
make amdto try to upgrade to the latest drivers for your respective video card. These helpers only work on Ubuntu/Arch:
make nvidia # If needed: installs nvidia-driver-418 (via apt-get) make amd # If needed: installs mesa-vulkan-drivers and other packages for SteamVR on AMD (via apt-get)
- Godot errors. If you get godot related errors, trying rebuilding
- Wlroots errors. If you get wrloots related errors (i.e., any error that complains about missing
wlr_*references), try rebuilding wlroots from scratch:
make wlroots # If you have trouble launching Simula, try recompiling Godot via this command.
- Unable to launch a particular app. Many Linux apps don’t work right now in Simula (technically: any app that doesn’t implement the XDG Wayland protocol). We’re working on fixing this ASAP so that all Linux apps are compatible with Simula. This should be done by end of month (June 2019).
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 email@example.com.