Building
The following instructions will help you build Looking Glass from source code. Before attempting this, you should have a basic understanding of how to use the shell.
Downloading
Visit the Looking Glass Download Page, and download the stable version (Recommended). You can also download a bleeding-edge version, or the latest RC version during a Release Candidate cycle.
Developers can clone the source code repo with git.
git clone --recursive https://github.com/gnif/LookingGlass.git
Warning
Please only clone from Git if you’re a developer, and know what you’re doing. Looking Glass requires git submodules that must be setup and updated when building. Source code downloads from the website come bundled with the necessary submodules.
Note
When using the latest bleeding-edge client version, you MUST download and install the corresponding host application.
Client
Installing build dependencies
These required libraries and tools should be installed first.
Note
The below list of dependencies is for Debian. A community maintained list of dependencies for other distributions for the current stable version of Looking Glass is maintained on the wiki at: https://looking-glass.io/wiki/Installation_on_other_distributions
Required dependencies
cmakegcc,g++|clanglibegl-devlibgl-devlibgles-devlibfontconfig-devlibgmp-devlibspice-protocol-devmakenettle-devpkg-config
May be disabled
These dependencies are required by default, but may be omitted if their feature is disabled when running cmake.
Disable with
cmake -DENABLE_BACKTRACE=no ..binutils-dev
Disable with
cmake -DENABLE_X11=no ..libx11-devlibxfixes-devlibxi-devlibxinerama-devlibxss-devlibxcursor-devlibxpresent-dev
Disable with
cmake -DENABLE_WAYLAND=no ..libxkbcommon-devlibwayland-binlibwayland-devwayland-protocols
Disable with
cmake -DENABLE_PIPEWIRE=no ..libpipewire-0.3-devlibsamplerate0-dev
Disable with
cmake -DENABLE_PULSEAUDIO=no ..libpulse-devlibsamplerate0-dev
Recommended
fonts-dejavu-core(This is the default UI font, but a random font will be chosen if not available).
Fetching with APT
You can fetch these dependencies with the following command:
Warning
Do not just blindly install the list below, check if you are using PipeWire or PulseAudio and adjust the list accordingly. Installing PipeWire libraries on a PulseAudio system will result in a broken partial PipeWire install.
If you are not already using PipeWire we highly recommend you upgrade, Looking Glass does not support audio input (microphone) with PulseAudio.
apt-get install binutils-dev cmake fonts-dejavu-core libfontconfig-dev \
gcc g++ pkg-config libegl-dev libgl-dev libgles-dev libspice-protocol-dev \
nettle-dev libx11-dev libxcursor-dev libxi-dev libxinerama-dev \
libxpresent-dev libxss-dev libxkbcommon-dev libwayland-dev wayland-protocols \
libpipewire-0.3-dev libpulse-dev libsamplerate0-dev
You may omit some dependencies if you disable the feature which requires them when running cmake. (See May be disabled)
Building
If you’ve downloaded the source code as a zip file, simply unzip and cd
into the new directory. If you’ve cloned the repo with git, then cd
into the LookingGlass directory.
mkdir client/build
cd client/build
cmake ../
make
This will build the looking-glass-client binary, which is used to display
frames from the guest.
You can then continue installing Looking Glass, or run it directly from the build directory:
./looking-glass-client
See also
Note
For users running GNOME on Wayland, you may want to enable libdecor when
building.
cmake -DENABLE_LIBDECOR=ON ../
For details, see the FAQ.
Note
The most common compile error is related to backtrace support. Try disabling this when building:
cmake -DENABLE_BACKTRACE=0 ../
If you disable this and need support for a crash, use gdb to obtain a
backtrace manually.
Host
These instructions help you build the host yourself from the downloaded source code.
Warning
Building the host from source code is not recommended for most purposes, and should only be attempted by users who are prepared to handle issues on their own. Please download the pre-built binary installers from https://looking-glass.io/downloads for stability, and increased support.
Note
The pre-built binaries also include NvFBC support built in, which is only available to current Nvidia SDK license holders, and cannot be enabled when building the host without also having a license.
(link)
For Windows on Windows
Download and install msys2 x86_64 from http://www.msys2.org/ following the setup instructions provided
Run the MSYS2 shell
Download build dependencies with pacman
pacman -Fy
pacman -Sy git make mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake
Change directory to the source tree with
cdConfigure the project and build it
mkdir host/build
cd host/build
cmake -G "MSYS Makefiles" ..
make
For Linux on Linux
Make a host/build directory, then run cmake
mkdir host/build
cd host/build
cmake ..
make
For Windows cross compiling on Linux
Like For Linux on Linux, but using the mingw64 toolchain to
cross-compile a Windows .exe file.
mkdir host/build
cd host/build
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain-mingw64.cmake ..
make
Building the Windows installer
Build the host on Linux.
Install
nsis
apt-get install nsis
Use
makensisto build the installer.
cd host/build/platform/Windows
makensis installer.nsi
This will build looking-glass-host-setup.exe under
host/build/platform/Windows/looking-glass-host-setup.exe
See also