You might want to compile LÖVR from source so you can use LÖVR on other operating systems or create a custom build. Below is a guide for setting up all the dependencies and compiling the code on various operating systems.
lovr.headset
)lovr.physics
)These can be found as submodules in the deps
directory of the repository. To initialize the
submodules, clone LÖVR with the --recursive
option or run this command in an existing repo:
git submodule update --init
From the lovr folder, run these commands to create a build folder and compile the project using CMake:
mkdir build
cd build
cmake ..
cmake --build .
The executable will then exist at /path/to/lovr/build/Debug/lovr.exe
. A LÖVR project (a folder
containing a main.lua
script) can then be dropped onto lovr.exe
to run it, or it can be run
via the command line as lovr.exe path/to/project
.
Install the dependencies using your package manager of choice:
brew install assimp glfw3 luajit physfs freetype openal-soft ode
You may need to set the PKG_CONFIG_PATH
environment variable for OpenAL to be located properly.
If you run into this, see Troubleshooting below for more info.
Next, build using CMake, as above:
mkdir build
cd build
cmake ..
cmake --build .
The lovr executable should exist in lovr/build
now. It's recommended to set up an alias or
symlink so that this executable exists on your path. Once that's done, you can run a game like this:
lovr /path/to/myGame
First, install the dependencies using your package manager of choice.
pacman -S assimp glfw-x11 luajit physfs freetype2 openal ode
sudo apt-get install build-essential cmake libassimp-dev libglfw3-dev libluajit-5.1-dev libphysfs-dev libfreetype6-dev libopenal-dev libode-dev
Then, build with CMake:
mkdir build
cd build
cmake ..
cmake --build .
On Linux, LÖVR needs to run within the Steam Runtime. To do this, first install Steam. Next, install the Steam udev rules. Then, run LÖVR within the Steam runtime:
~/.steam/steam/ubuntu12_32/steam-runtime/run.sh lovr
If you receive errors related to libstdc++
, set the LD_PRELOAD
environment variable when running
the command:
LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1' ~/.steam/steam/ubuntu12_32/steam-runtime/run.sh lovr
Currently, there are performance issues between SteamVR and OpenGL apps. These are being rapidly resolved with newer versions of graphics drivers and SteamVR.
First, install the Emscripten SDK. Make sure you're running this branch of Emscripten.
Unix:
mkdir build
cd build
emcmake cmake -DCMAKE_BUILD_TYPE=Release ..
emmake make -j2
Windows (from a Visual Studio Command Prompt, make sure the Emscripten SDK is on PATH):
mkdir build
cd build
emcmake cmake -G "NMake Makefiles" ..
emmake nmake
The above commands will output lovr.html
, lovr.js
, and lovr.js.mem
. To package a game, run:
python /path/to/emscripten/tools/file_packager.py game.data --preload /path/to/game@/ --js-output=game.js
Which will output game.js
and game.data
. The lovr.html
file will need to be modified to
include game.js
in a script tag.
/usr/local/opt/openal-soft/lib/pkgconfig
) to your PKG_CONFIG_PATH
environment variable.
Installing openal-soft with brew will print out a message telling you how to do this.