.. _installing_libvirt: libvirt/QEMU Installation ######################### This article assumes you already have a working `libvirt` Windows virtual machine. It also applies to users of `virt-manager`, because `virt-manager` uses `libvirt` as its back end. A passed-through or virtual GPU is strongly recommended, but the IDD can start in software mode without one. .. _libvirt_determining_memory: Determining memory ^^^^^^^^^^^^^^^^^^ Calculate the IVSHMEM requirement as: .. math:: \text{REQUIRED BYTES} = \left(\left\lceil\frac{\text{WIDTH} \times 4}{256}\right\rceil \times 256\right) \times \text{HEIGHT} \times 3 + (4 \times 1024 \times 1024) Convert the result to MiB and round it up to the next power of two. Common values listed below have already been rounded. If a configured mode does not fit, the IDD omits it from the Windows mode list. If a client-requested dynamic resolution does not fit, the helper refuses it and reports the minimum power-of-two size to configure. The IDD will not serve a truncated frame. .. note:: Increasing this value beyond what you need does not improve performance. It only reserves more host RAM for the VM. .. list-table:: Common IDD values :widths: 60 40 :header-rows: 1 * - Maximum resolution - Total IVSHMEM size (MiB) * - 1920x1080 (1080p) - 32 * - 1920x1200 - 32 * - 2560x1440 (1440p) - 64 * - 3440x1440 - 64 * - 3840x2160 (4K) - 128 * - 5120x1440 - 128 * - 5120x2880 (5K) - 256 * - 7680x4320 (8K) - 512 .. _libvirt_determining_memory_hdr: .. admonition:: HDR Requirements HDR uses the same 32-bit IDD transport allocation as SDR, so it does not double the IVSHMEM requirement. Native Linux HDR presentation has separate compositor and display requirements; see :ref:`client_hdr`. .. _libvirt_ivshmem: IVSHMEM ^^^^^^^ There are two methods of configuring IVSHMEM, using shared memory directly, or using the KVMFR kernel module. While the KVMFR module is slightly more complicated to configure, it substantially improves performance as it allows Looking Glass to use your GPUs DMA engine to transfer the frame data. .. toctree:: :maxdepth: 1 ivshmem_kvmfr ivshmem_shm .. seealso:: :ref:`igpu_kvmfr_recommended` .. _libvirt_spice_server: SPICE fallback server ^^^^^^^^^^^^^^^^^^^^^ The Looking Glass client also supports SPICE for video, audio, and input if there is a problem with the Looking Glass IDD. However, this is no faster than other SPICE clients like virt-viewer, and should not normally be used. .. note:: The SPICE server is required for the USB audio device, as it uses SPICE USB redirection channels. See :ref:`client_usb_audio` for more information. To enable SPICE support, add a SPICE graphics server to your virtual machine: .. code:: xml For a fallback display, set up your video device to use VGA: .. code:: xml For fallback audio support, add a standard Intel HDA audio device: .. code:: xml