Installation ############ .. _looking_glass_client: Looking Glass Client -------------------- This guide will step you through building the looking glass client from source, before you attempt to do this you should have a basic understanding of how to use the shell. .. _building_the_application: Building the Application ~~~~~~~~~~~~~~~~~~~~~~~~ .. _installing_build_dependencies: Installing Build Dependencies ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ These required libraries and tools should be installed first. .. _required_dependencies: Required Dependencies ''''''''''''''''''''' - cmake - gcc \| clang - fonts-freefont-ttf - libegl-dev - libgl-dev - libfontconfig1-dev - libgmp-dev - libsdl2-dev - libsdl2-ttf-dev - libspice-protocol-dev - make - nettle-dev - pkg-config .. _may_be_disabled: May be disabled <<<<<<<<<<<<<<< These dependencies are required by default, but may be omitted if their feature is disabled when running :ref:`cmake `. - Disable with ``cmake -DENABLE_BACKTRACE=no`` - binutils-dev - Disable with ``cmake -DENABLE_X11=no`` - libx11-dev - libxfixes-dev - libxi-dev - libxss-dev - Disable with ``cmake -DENABLE_WAYLAND=no`` - libwayland-bin - libwayland-dev - wayland-protocols You can fetch these dependencies on Debian systems with the following command: ``apt-get install binutils-dev cmake fonts-freefont-ttf libfontconfig1-dev libsdl2-dev libsdl2-ttf-dev libspice-protocol-dev libx11-dev nettle-dev wayland-protocols`` Downloading ^^^^^^^^^^^ Either visit the Looking Glass website's `Download Page `_, or pull the lastest **bleeding-edge version** with ``git``. .. code:: bash git clone --recursive https://github.com/gnif/LookingGlass.git .. note:: When using the latest bleeding-edge client version, you *MUST* download and install the corresponding host application. .. _client_building: 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. .. code:: bash mkdir client/build cd client/build cmake ../ make .. note:: The most common compile error is related to backtrace support. This can be disabled by adding the following option to the cmake command: **-DENABLE_BACKTRACE=0**, however, if you disable this and need support for a crash please be sure to use gdb to obtain a backtrace manually or there is nothing that can be done to help you. Should this all go well, you will build the **looking-glass-client**. Before you run the client, you will first need to configure either libvirt, or QEMU (whichever you prefer) then set up the **looking-glass-host** service in your VM. You can run the client from the build directory, add the build directory to your path to call it from anywhere, or run this command .. code:: bash ln -s $(pwd)/looking-glass-client /usr/local/bin/ from the build directory. .. _libvirt_configuration: libvirt Configuration ~~~~~~~~~~~~~~~~~~~~~ This article assumes you already have a fully functional libvirt domain with PCI passthrough working on a dedicated monitor. If you use virt-manager, this guide also applies to you, since virt-manager uses libvirt as its back-end. **If you are using QEMU directly, this does not apply to you.** Add the following to your libvirt machine configuration inside the 'devices' section by running ``virsh edit `` where ```` is the name of your virtual machine. .. code:: xml 32 The memory size (show as 32 in the example above) may need to be adjusted as per the :ref:`Determining Memory ` section. .. _spice_server: Spice Server ^^^^^^^^^^^^ If you would like to use Spice to give you keyboard and mouse input along with clipboard sync support, make sure you have a ```` device, then: - Find your ``