Changes

Jump to navigation Jump to search

Installation on other distributions

2,490 bytes added, 03:57, 7 May 2021
==== Installing Build Dependencies ====
* binutils-devThese required libraries and tools should be installed first. ===== Required Dependencies ===== 
* cmake
* gcc | clang
* fonts-freefont-ttf
* libegl-dev
* libgl-dev
* libfontconfig1-dev
* libgmp-dev
* libsdl2-dev
* libsdl2-ttf-dev
* libspice-protocol-dev
* libfontconfig1-dev* libx11-devmake
* nettle-dev
* pkg-config
 
====== May be disabled ======
 
These dependencies are required by default, but may be omitted if their feature is disabled when running [[#Building|cmake]].
* Disable with <code>cmake -DENABLE_BACKTRACE=no</code>
** binutils-dev
* Disable with <code>cmake -DENABLE_X11=no</code>
** libx11-dev
** libxfixes-dev
** libxi-dev
** libxss-dev
* Disable with <code>cmake -DENABLE_WAYLAND=no</code>
** libwayland-bin
** libwayland-dev
** wayland-protocols
===== Debian (and maybe Ubuntu) =====
<syntaxhighlight lang=bash>
apt-get install binutils-dev cmake fonts-freefont-ttf libfontconfig1-dev libsdl2-dev libsdl2-ttf-dev libspice-protocol-dev libfontconfig1-dev libx11-dev nettle-devwayland-protocols
</syntaxhighlight >
===== Fedora 29+ =====
<!-- Dependencies must match Debian's order, and extra dependencies must be on another line, with a consistent order -->
<syntaxhighlight lang=bash>
dnf install make binutils-devel cmake binutilstexlive-gnu-freefont fontconfig-devel SDL2-devel SDL2_ttf-devel nettle-devel spice-protocol fontconfig-devel libX11-devel egl-wayland-devel waylandnettle-devel wayland-protocols-devel mesa-libGLU\ gcc libXScrnSaver-devel mesa-libGLESlibXfixes-devel mesa-libGLlibXi-devel mesa-libEGL-devel libXfixes-devel libXiwayland-devel
</syntaxhighlight >
===== OpenSuSE Leap 15.0+ =====
<!-- Dependencies must match Debian's order, and extra dependencies must be on another line, with a consistent order -->
<syntaxhighlight lang=bash>
zypper install libXssbinutils-devel make cmake binutilsfontconfig-devel libSDL2-devel libSDL2_ttf-devel spice-protocol-devel libX11-devel libnettle-devel nettle spicewayland-protocolprotocols-devel fontconfig\ libconfig-devel libX11libXi-devel libconfiglibXss-devel libwayland-egl-devel libXi-develnettle
</syntaxhighlight >
===== Arch Linux / Manjaro =====
<!-- Dependencies must match Debian's order, and extra dependencies must be on another line, with a consistent order -->
<syntaxhighlight lang=bash>
pacman -Syu binutils sdl2 sdl2_ttf libx11 nettle fontconfig cmake spice-protocol gnu-free-fonts glu pkgconf fontconfig sdl2 sdl2_ttf spice-protocol libx11 nettle \ gcc makepkgconf glu
</syntaxhighlight>
===== Void Linux =====
<!-- Dependencies must match Debian's order, and extra dependencies must be on another line, with a consistent order -->
<syntaxhighlight lang=bash>
xbps-install -Syu make gcc pkg-config binutils-devel cmake freefont-ttf fontconfig-devel SDL2-devel SDL2_ttf-devel spice-protocol fontconfig-devel libX11-devel nettle-devel\ gcc make pkg-config
</syntaxhighlight>
</syntaxhighlight>
Then fetch the packages:
<!-- Dependencies must match Debian's order, and extra dependencies must be on another line, with a consistent order -->
<syntaxhighlight lang=bash>
emerge sys-devel/binutils mediadev-libsutil/libsdl2 cmake media-libsfonts/sdl2-ttf devfreefonts media-libs/nettle libsdl2 media-libs/fontconfig devsdl2-util/cmake ttf app-emulation/spice-protocol \ media-fontslibs/fontconfig dev-libs/freefonts nettle \ media-libs/glu
</syntaxhighlight>
This list can also be placed into a setfile in /etc/portage/sets/ so that they can be updated with
----
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.'''
</syntaxhighlight>
The memory size (show as 32 in the example above) may need to be adjusted as per [[Installation#Determining_Memory|Determining Memory]] section.
==== Spice Server ====If you would like to use Spice to give you keyboard and mouse input along with clipboard sync support be , make sure to also do the followingyou have a <code><graphics type='spice'></code> device, then:
* Add a QXL Find your <code><video ></code> device, but in the type field and set <code><model type `='none` (on '/></code>** If you can't find it, make sure you have a <code><graphics></code> device, save and edit again** On older libvirt versions , just disable the device in Windows Device Manager)* Be sure to remove Remove the virtual <code><input type='tablet pointing '/></code> device., if you have one* Be sure to add the virtual PSCreate an <code><input type='mouse'/></2 Mouse code> device, and the Virtio if you don't already have one* Create an <code><input type='keyboard ' bus='virtio'/></code> device.to improve keyboard usage* Be sure that there is also a Spice Display configured (* This requires the ''vioinput'' driver from [https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/ virtio-win] to be installed in addition to the video device)guest
If you want clipboard synchronization please see [[FAQ#How to enable clipboard synchronization via SPICE]]
=== Qemu Commands ===
----
'''If you are using virt manager /libvirt then this does not apply to you.'''
Add the following to the commands to your QEMU command line, adjusting the bus to suit your particular configuration:
</syntaxhighlight>
The memory size (show as 32 in the example above) may need to be adjusted as per [[Installation#Determining_Memory|Determining Memory]] section.
=== Determining Memory ===
<code>
width x height x 4 x 2 = total bytes
</code>
 
<code>
total bytes / 1024 / 1024 = total megabytes + 2
</code>
<code>
1920 x 1080 x 4 x 2 = 16,588,800 bytes
</code>
 
<code>
16,588,800 / 1024 / 1024 = 15.82 MB + 2 = 17.82
</code>
You must round this value up to the nearest power of two, which with the above example would be 32MB
It is suggested that you Note: This formula may be out of date. A 1440p display requires 64mb shared memory. The shared memory file will be located in /dev/shm/looking-glass and will need to be created on every boot otherwise it will have incorrect permissions. Looking glass will not be able to run unless it has permissions to this file. You can create the shared memory file before starting automatically by adding the VM with following config file: <code>touch /etc/tmpfiles.d/10-looking-glass.conf</code> Add the appropriate permissions for your system, this only needs following content to be done once at boot time, for example (this is a sample script only, do not use this without altering it for your requirements)the file:
<code>
touch <nowiki>#</nowiki>Type Path Mode UID GID Age Argument  f /dev/shm/looking-glass && chown 0660 user: kvm /dev/shm/looking-glass && chmod 660 /dev/shm/looking -glass
</code>
 
Be sure to set the UID to your local user. (Replace "user" with your user name)
== Looking Glass Service (Windows) ==
You must first run the Windows VM with the changes noted above in either the [[Installation#libvirt_Configuration|libvirt]] or [[Installation#Qemu_Commands|Qemu]] sections.
=== Installing the IVSHMEM Driver ===
Please note that you must obtain version 0.1.161 or later
 
If the installation of the driver results in warnings or errors about driver signatures, ensure secure boot is turned off for the virtual machine bios/uefi.
==== A note about IVSHMEM and Scream Audio ====
Start by downloading the correct version for your release from https://looking-glass.io/downloads. You can either choose between '''Official Releases''' which is is stable or '''Release Candidates''' that tries to be stable but has new features. '''Note:''' If your '''looking-glass-client''' was created by building from the '''master branch''' you have to pick the '''Bleeding Edge''' version.
Next, use 7Zip to extract the zip archiveusing the commit hash for the password. Then, run the "looking-glass-host-setup.exe" installer and click through it. By default, the installer will install a service that automatically starts the host application at boot. The installer can also be installed in silent mode with the "/S" switch. Other command line options for the installer are documented by running it with the "/h" switch. There is also an unofficial Chocolatey package available, install with "choco install looking-glass-host --pre"
The windows host application captures the windows desktop and stuffs the frames into the shared memory via the shared memory virtual device, without this Looking Glass will not function. It is critical that the version of the host application matches the version of the client application, as differing versions can be, and usually are, incompatible.
Anonymous user

Navigation menu