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 site at `Looking Glass Download Page `_ Or pull the lastest **bleeding-edge version** using the **git** command. .. note:: If you are using the latest bleeding-edge from the master branch you MUST download/use the corresponding host application .. code:: bash git clone --recursive https://github.com/gnif/LookingGlass.git .. _client_building: Building ^^^^^^^^ If you downloaded the file via the web link then you should have a 'zip' file. Simply unzip and cd into the new directory. If you used '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 should be left with the file **looking-glass-client**. Before you run the client you will first need to configure either Libvirt or Qemu (whichever you prefer) and then set up the Windows side service. You can call the client from the build directory; or, you can make it callable generally by adding the directory to your path or issuing .. 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 VM with PCI Passthrough working on a dedicated monitor. If you do not please ensure this is configured before you proceed. If you use virt-manager, this guide also applies to you, since it uses libvirt. **If you are using QEMU directly, this does not apply to you.** Add the following to the libvirt machine configuration inside the 'devices' section by running "virsh edit VM" where VM 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 ``