Skip to content

lboklin/Simula

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

./doc/TEMP_LOGO.png

Simula is a 3D window manager for Linux that runs on top of Godot.

./doc/SimulaDesktop.png

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

Installation

./doc/GitterBadge.png

Simula is in alpha phase, and can be difficult to get working on many setups. For help with installation, please visit our chat room.

Ubuntu/Debian

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).

  1. 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.
        
  2. 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"
        
  3. 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.
    
    
        

Other Distros

Pending.

Contributing

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 protected].

Donations

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. [email protected]

Plans & Monthly Updates

See Simula’s Wiki for our Master Plan and list of Monthly Updates.

About

3D Window Manager for Linux

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haskell 89.0%
  • Shell 8.7%
  • Makefile 1.6%
  • C 0.7%