Installation on other distributions

From Looking Glass
Jump to navigation Jump to search

The Official Documentation contains installation instructions for Debian-based distributions and should work fine on derivatives. The following are supplemental guides for other distributions, which do not work using the Debian instructions.


Fedora 35+

Installing Dependencies for Client Build

dnf install cmake gcc gcc-c++ libglvnd-devel fontconfig-devel spice-protocol make nettle-devel \
            pkgconf-pkg-config binutils-devel libXi-devel libXinerama-devel libXcursor-devel \
            libXpresent-devel libxkbcommon-x11-devel wayland-devel wayland-protocols-devel \
            libXScrnSaver-devel libXrandr-devel dejavu-sans-mono-fonts

For audio support in Bleeding Edge, the following packages should also be installed:

PipeWire users:

dnf install pipewire-devel libsamplerate-devel

PulseAudio users:

dnf install pulseaudio-libs-devel libsamplerate-devel

Installing Additional Dependencies for Kernel Module Build

dnf install dkms kernel-devel kernel-headers

OpenSuSE Leap 15.0+

Installing Dependencies

zypper install binutils-devel make cmake fontconfig-devel libSDL2-devel libSDL2_ttf-devel spice-protocol-devel libX11-devel libnettle-devel wayland-protocols-devel \
               libconfig-devel libXi-devel libXss-devel libwayland-egl-devel nettle

Arch Linux / Manjaro

Installing Dependencies for Client Build

pacman -Syu cmake gcc libgl libegl fontconfig spice-protocol make nettle pkgconf binutils \
            libxi libxinerama libxss libxcursor libxpresent libxkbcommon wayland-protocols \
            ttf-dejavu

Installing Additional Dependencies for Kernel Module Build

pacman -Syu dkms linux-headers

Void Linux

Installing Dependencies

xbps-install -Syu binutils-devel cmake freefont-ttf fontconfig-devel SDL2-devel SDL2_ttf-devel spice-protocol libX11-devel nettle-devel \
                  gcc make pkg-config

Gentoo

Installing Dependencies

First set up the necessary USE flags if needed:

echo "media-libs/libsdl2 gles2" >> /etc/portage/package.use/libsdl2
echo "media-libs/nettle gmp" >> /etc/portage/package.use/nettle

Then fetch the packages:

emerge sys-devel/binutils dev-util/cmake media-fonts/freefonts media-libs/libsdl2 media-libs/sdl2-ttf app-emulation/spice-protocol \
       media-libs/fontconfig dev-libs/nettle \
       media-libs/glu

This list can also be placed into a setfile in /etc/portage/sets/ so that they can be updated with

emerge @setfile

Proxmox

Prerequisites

  • A working Proxmox install on a computer with 2 GPU's (Tested with 7.1-6)
  • A Windows VM with GPU pass-through working (Tested with Win 10)
  • A Linux VM with GPU pass-through working (Tested With Ubuntu 21.10)
  • Proxmox Host Installed and running on the Windows VM

Windows VM setup

Using the Proxmox GUI, Set the Windows VM Display to "none"

Then in a shell to the Proxmox host edit the Windows VM Config:

nano /etc/pve/qemu-server/**YOUR-WINDOWS-VM-ID**.conf

And add the following arguments to the args: line. If the args: line doesn't exist, create it at the top of the config.

-device ivshmem-plain,memdev=ivshmem,bus=pcie.0 -object memory-backend-file,id=ivshmem,share=on,mem-path=/dev/shm/looking-glass,size=32M -device virtio-mouse-pci -device virtio-keyboard-pci -spice 'addr=0.0.0.0,port=[spice port],disable-ticketing=on' -device virtio-serial-pci -chardev spicevmc,id=vdagent,name=vdagent -device virtserialport,chardev=vdagent,name=com.redhat.spice.0

The -device virtio-mouse-pci -device virtio-keyboard-pci are not strictly necessary but should reduce input latency.

[spice port] should be replaced by a tcp port not in use.

Boot the Windows VM

Linux VM setup

In a shell to the Proxmox host edit the Linux VM Config:

nano /etc/pve/qemu-server/**YOUR-LINUX-VM-ID**.conf

And add the arguments to the args: line. If the args: line doesn't exist, create it at the top of the config.

-device ivshmem-plain,memdev=ivshmem,bus=pcie.0 -object memory-backend-file,id=ivshmem,share=on,mem-path=/dev/shm/looking-glass,size=32M

Then boot the Linux VM, and download the latest Looking-glass source from https://looking-glass.io/downloads (Tested with version B5.0.1)

Follow the Official Looking-glass documentation on how to Build Looking-Glass Client - https://looking-glass.io/docs/B5.0.1/build/#building

Follow the Official Looking-glass documentation on how to install the kernel module - https://looking-glass.io/docs/B5.0.1/module/

Running Looking-Glass

  1. Make sure both VMs are running.
  2. On the Linux VM, open a terminal and cd to the looking glass client build folder
  3. Run Looking-Glass with:
 ./looking-glass-client -f /dev/kvmfr0 -c **Your_Proxmox_Host_IP** -p **spice port specified**