Difference between revisions of "Installation on other distributions"

From Looking Glass
Jump to navigation Jump to search
(Add Proxmox instructions)
Line 76: Line 76:
 
<syntaxhighlight lang=bash>
 
<syntaxhighlight lang=bash>
 
emerge @setfile
 
emerge @setfile
 +
</syntaxhighlight>
 +
 +
== 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:
 +
<syntaxhighlight lang=bash>
 +
nano /etc/pve/qemu-server/**YOUR-WINDOWS-VM-ID**.conf
 +
</syntaxhighlight>
 +
And add the following arguments to the args: line. If the args: line doesn't exist, create it at the top of the config.
 +
<syntaxhighlight lang=bash>
 +
-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
 +
</syntaxhighlight>
 +
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:
 +
<syntaxhighlight lang=bash>
 +
nano /etc/pve/qemu-server/**YOUR-LINUX-VM-ID**.conf
 +
</syntaxhighlight>
 +
And add the arguments to the args: line. If the args: line doesn't exist, create it at the top of the config.
 +
<syntaxhighlight lang=bash>
 +
-device ivshmem-plain,memdev=ivshmem,bus=pcie.0 -object memory-backend-file,id=ivshmem,share=on,mem-path=/dev/shm/looking-glass,size=32M
 +
</syntaxhighlight>
 +
    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:
 +
<syntaxhighlight lang=bash>
 +
./looking-glass-client -f /dev/kvmfr0 -c 192.168.10.98 -p 5930
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 20:51, 7 January 2022

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