[doc] add requirements page

This commit is contained in:
Geoffrey McRae 2022-09-18 12:12:49 +10:00
parent 5385853f3f
commit 571a5da50f
2 changed files with 83 additions and 0 deletions

View File

@ -10,6 +10,7 @@ systems for legacy programs that require high-performance graphics.
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
requirements
usage usage
install install
build build

82
doc/requirements.rst Normal file
View File

@ -0,0 +1,82 @@
.. _requrements:
Requirements
############
.. _minimum_:
Minimum
-------
The most basic requirement to make use of Looking Glass is to have a system
with two GPUs, the following configurations are valid:
* Two descrete GPUs (dGPU)
* A descrete GPU and an integrated (iGPU) such as is common in laptops.
* A descrete GPU or iGPU and a virtual GPU (vGPU) as supported by some
hardware.
.. note::
Please be aware that iGPU users may be limited in the resolution and refresh
rate possible with Looking Glass due to the memory bandwidth limitations
imposed due to the iGPU sharing system RAM for GPU usage.
Looking Glass aims to achieve the lowest possible latency and as such it
is important that you do not overload your system. The minimum recommended CPU
to obtain a decent expereience with Looking Glass is 6 cores or more, with
Hyper-threading (>= 12 threads).
PCIe bandwidth can also be a limiting factor, as such both GPUs should have a
minimum of 8 lanes (x8) at PCIe3 speeds, or 4 lanes (x4) at PCIe4 speeds.
The GPU used for the guest virtual machine must have either a physical monitor
attached to it, or a cheap dummy plug. The guest operating system (most notibly
Windows) will disable the GPU output if there is nothing attached to it and
Looking Glass will not be able to function. If you are using a vGPU the virtual
device should already have a virtual monitor attached to it negating this
requirement.
.. _recommended_:
Recommended
-----------
At this time the recommended configuration is as follows:
* CPU 8 cores (16 threads) or better @ 3.0GHz or faster (full cores, not
efficiency cores).
* Two descrete GPUs consisting of:
* AMD or Intel brand GPU for the client application (usually your host system).
* NVIDIA brand GPU for the guest system (virtual machine).
The reason for these reccomendations are as follows:
AMD or Intel for the client
^^^^^^^^^^^^^^^^^^^^^^^^^^^
AMD and Intel both support the `DMABUF` feature which enables offloading memory
transfers to the GPU hardware. Please note that making use of this feature
requires :doc:`loading the KVMFR kernel module <module>`.
Additionally AMD GPUs suffer stabillity issues when operating as a passthrough
device and as such we do not recommend their usage for such purposes. Models of
note that have issues include but are not limited to the entire Polaris, Vega,
Navi and BigNavi GPU series. Vega and Navi are notibly the worst and should be
avoided for virtualization usage.
NVIDIA for the guest
^^^^^^^^^^^^^^^^^^^^
NVIDIA unlike AMD do not seem to suffer from the same stabillity issues as AMD
GPUs when operating as a passthrough GPU, however due to the closed source
nature of their drivers NVIDIA can not make use of the DMABUF feature in the
Linux kernel and as such it is not recommended for use as the host GPU.
`It has been said <https://github.com/NVIDIA/open-gpu-kernel-modules/discussions/243#discussioncomment-3283415>`_
that the open-source NVIDIA drivers as of release 525 will enable this support
and we have made changes to `an experiemental branch <https://github.com/gnif/LookingGlass/tree/dmabuf-test>`_
to support this, however until NVIDIA release this version and we can test these
changes against the driver, support will not be included in the release builds
of Looking Glass.