Installation on other distributions
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
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=5930,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.
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
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 kernal modual - https://looking-glass.io/docs/B5.0.1/module/
Running Looking-Glass
Make sure both VMs are running. On the Linux VM, open a terminal and cd to the looking glass client build folder Run Looking-Glass with:
./looking-glass-client -f /dev/kvmfr0 -c 192.168.10.98 -p 5930