mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-12-22 05:42:58 +00:00
[doc]: a bunch of consistency fixes
This commit is contained in:
parent
0c63a901be
commit
6a9075b412
8 changed files with 214 additions and 212 deletions
|
@ -66,17 +66,17 @@ Required dependencies
|
||||||
Depends: or Recommends: from another listed package is not allowed.
|
Depends: or Recommends: from another listed package is not allowed.
|
||||||
All required packages must be listed.
|
All required packages must be listed.
|
||||||
|
|
||||||
- cmake
|
- ``cmake``
|
||||||
- gcc, g++ \| clang
|
- ``gcc``, ``g++`` \| ``clang``
|
||||||
- libegl-dev
|
- ``libegl-dev``
|
||||||
- libgl-dev
|
- ``libgl-dev``
|
||||||
- libgles-dev
|
- ``libgles-dev``
|
||||||
- libfontconfig-dev
|
- ``libfontconfig-dev``
|
||||||
- libgmp-dev
|
- ``libgmp-dev``
|
||||||
- libspice-protocol-dev
|
- ``libspice-protocol-dev``
|
||||||
- make
|
- ``make``
|
||||||
- nettle-dev
|
- ``nettle-dev``
|
||||||
- pkg-config
|
- ``pkg-config``
|
||||||
|
|
||||||
.. _client_deps_may_be_disabled:
|
.. _client_deps_may_be_disabled:
|
||||||
|
|
||||||
|
@ -88,41 +88,41 @@ feature is disabled when running :ref:`cmake <client_building>`.
|
||||||
|
|
||||||
- Disable with ``cmake -DENABLE_BACKTRACE=no ..``
|
- Disable with ``cmake -DENABLE_BACKTRACE=no ..``
|
||||||
|
|
||||||
- binutils-dev
|
- ``binutils-dev``
|
||||||
|
|
||||||
- Disable with ``cmake -DENABLE_X11=no ..``
|
- Disable with ``cmake -DENABLE_X11=no ..``
|
||||||
|
|
||||||
- libx11-dev
|
- ``libx11-dev``
|
||||||
- libxfixes-dev
|
- ``libxfixes-dev``
|
||||||
- libxi-dev
|
- ``libxi-dev``
|
||||||
- libxinerama-dev
|
- ``libxinerama-dev``
|
||||||
- libxss-dev
|
- ``libxss-dev``
|
||||||
- libxcursor-dev
|
- ``libxcursor-dev``
|
||||||
- libxpresent-dev
|
- ``libxpresent-dev``
|
||||||
|
|
||||||
- Disable with ``cmake -DENABLE_WAYLAND=no ..``
|
- Disable with ``cmake -DENABLE_WAYLAND=no ..``
|
||||||
|
|
||||||
- libxkbcommon-dev
|
- ``libxkbcommon-dev``
|
||||||
- libwayland-bin
|
- ``libwayland-bin``
|
||||||
- libwayland-dev
|
- ``libwayland-dev``
|
||||||
- wayland-protocols
|
- ``wayland-protocols``
|
||||||
|
|
||||||
- Disable with ``cmake -DENABLE_PIPEWIRE=no ..``
|
- Disable with ``cmake -DENABLE_PIPEWIRE=no ..``
|
||||||
|
|
||||||
- libpipewire-0.3-dev
|
- ``libpipewire-0.3-dev``
|
||||||
- libsamplerate0-dev
|
- ``libsamplerate0-dev``
|
||||||
|
|
||||||
- Disable with ``cmake -DENABLE_PULSEAUDIO=no ..``
|
- Disable with ``cmake -DENABLE_PULSEAUDIO=no ..``
|
||||||
|
|
||||||
- libpulse-dev
|
- ``libpulse-dev``
|
||||||
- libsamplerate0-dev
|
- ``libsamplerate0-dev``
|
||||||
|
|
||||||
.. _client_deps_recommended:
|
.. _client_deps_recommended:
|
||||||
|
|
||||||
Recommended
|
Recommended
|
||||||
<<<<<<<<<<<
|
<<<<<<<<<<<
|
||||||
|
|
||||||
- fonts-dejavu-core (This is the default UI font, but a random font will
|
- ``fonts-dejavu-core`` (This is the default UI font, but a random font will
|
||||||
be chosen if not available).
|
be chosen if not available).
|
||||||
|
|
||||||
.. _client_fetching_with_apt:
|
.. _client_fetching_with_apt:
|
||||||
|
@ -140,7 +140,7 @@ You can fetch these dependencies with the following command:
|
||||||
libxpresent-dev libxss-dev libxkbcommon-dev libwayland-dev wayland-protocols \
|
libxpresent-dev libxss-dev libxkbcommon-dev libwayland-dev wayland-protocols \
|
||||||
libpipewire-0.3-dev libpulse-dev libsamplerate0-dev
|
libpipewire-0.3-dev libpulse-dev libsamplerate0-dev
|
||||||
|
|
||||||
You may omit some dependencies, if you disable the feature which requires them
|
You may omit some dependencies if you disable the feature which requires them
|
||||||
when running :ref:`cmake <client_building>`.
|
when running :ref:`cmake <client_building>`.
|
||||||
(See :ref:`client_deps_may_be_disabled`)
|
(See :ref:`client_deps_may_be_disabled`)
|
||||||
|
|
||||||
|
@ -160,7 +160,7 @@ into the *LookingGlass* directory.
|
||||||
cmake ../
|
cmake ../
|
||||||
make
|
make
|
||||||
|
|
||||||
This will build the **looking-glass-client** binary, which is used to display
|
This will build the ``looking-glass-client`` binary, which is used to display
|
||||||
frames from the guest.
|
frames from the guest.
|
||||||
|
|
||||||
You can then :ref:`continue installing Looking Glass <client_install>`, or run
|
You can then :ref:`continue installing Looking Glass <client_install>`, or run
|
||||||
|
@ -172,12 +172,12 @@ it directly from the build directory:
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
- :ref:`Client Installation <client_install>`
|
- :ref:`Client installation <client_install>`
|
||||||
- :ref:`Client Usage <client_usage>`
|
- :ref:`Client usage <client_usage>`
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
For users running GNOME on Wayland, you may want to enable libdecor when
|
For users running GNOME on Wayland, you may want to enable ``libdecor`` when
|
||||||
building.
|
building.
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
@ -195,7 +195,7 @@ it directly from the build directory:
|
||||||
|
|
||||||
cmake -DENABLE_BACKTRACE=0 ../
|
cmake -DENABLE_BACKTRACE=0 ../
|
||||||
|
|
||||||
If you disable this and need support for crash, use ``gdb`` to obtain a
|
If you disable this and need support for a crash, use ``gdb`` to obtain a
|
||||||
backtrace manually.
|
backtrace manually.
|
||||||
|
|
||||||
.. _host_building:
|
.. _host_building:
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Frequently Asked Questions
|
Frequently asked questions
|
||||||
##########################
|
##########################
|
||||||
|
|
||||||
General
|
General
|
||||||
|
|
|
@ -5,8 +5,8 @@ Installation
|
||||||
|
|
||||||
.. _libvirt:
|
.. _libvirt:
|
||||||
|
|
||||||
libvirt/QEMU configuration:
|
libvirt/QEMU configuration
|
||||||
---------------------------
|
--------------------------
|
||||||
|
|
||||||
This article assumes you already have a fully functional libvirt domain with
|
This article assumes you already have a fully functional libvirt domain with
|
||||||
PCI passthrough working.
|
PCI passthrough working.
|
||||||
|
@ -52,7 +52,7 @@ your virtual machine.
|
||||||
-object memory-backend-file,id=ivshmem,share=on,mem-path=/dev/shm/looking-glass,size=32M
|
-object memory-backend-file,id=ivshmem,share=on,mem-path=/dev/shm/looking-glass,size=32M
|
||||||
|
|
||||||
The memory size (show as 32 in the example above) may need to be
|
The memory size (show as 32 in the example above) may need to be
|
||||||
adjusted as per the :ref:`Determining Memory <libvirt_determining_memory>`
|
adjusted as per the :ref:`Determining memory <libvirt_determining_memory>`
|
||||||
section.
|
section.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
@ -85,10 +85,10 @@ For example, for a resolution of 1920x1080 (1080p):
|
||||||
|
|
||||||
``1920 x 1080 x 4 x 2 = 16,588,800 bytes``
|
``1920 x 1080 x 4 x 2 = 16,588,800 bytes``
|
||||||
|
|
||||||
``16,588,800 / 1024 / 1024 = 15.82 MB + 10 = 25.82 MB``
|
``16,588,800 / 1024 / 1024 = 15.82 MiB + 10 = 25.82 MiB``
|
||||||
|
|
||||||
You must round this value up to the nearest power of two, which for the
|
You must round this value up to the nearest power of two, which for the
|
||||||
provided example is 32MB.
|
provided example is 32 MiB.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Increasing this value beyond what you need does not yield any performance
|
Increasing this value beyond what you need does not yield any performance
|
||||||
|
@ -133,14 +133,14 @@ The shared memory file used by IVSHMEM is found in ``/dev/shm/looking-glass``.
|
||||||
By default, it is owned by QEMU, and does not give read/write permissions to
|
By default, it is owned by QEMU, and does not give read/write permissions to
|
||||||
your user, which are required for Looking Glass to run properly.
|
your user, which are required for Looking Glass to run properly.
|
||||||
|
|
||||||
You can use `systemd-tmpfiles` to create the file before running your VM,
|
You can use ``systemd-tmpfiles`` to create the file before running your VM,
|
||||||
granting the necessary permissions which allow Looking Glass to use the file
|
granting the necessary permissions which allow Looking Glass to use the file
|
||||||
properly.
|
properly.
|
||||||
|
|
||||||
Create a new file ``/etc/tmpfiles.d/10-looking-glass.conf``, and populate it
|
Create a new file ``/etc/tmpfiles.d/10-looking-glass.conf``, and populate it
|
||||||
with the following::
|
with the following::
|
||||||
|
|
||||||
#Type Path Mode UID GID Age Argument
|
# Type Path Mode UID GID Age Argument
|
||||||
|
|
||||||
f /dev/shm/looking-glass 0660 user kvm -
|
f /dev/shm/looking-glass 0660 user kvm -
|
||||||
|
|
||||||
|
@ -149,18 +149,18 @@ own.
|
||||||
|
|
||||||
.. _libvirt_spice_server:
|
.. _libvirt_spice_server:
|
||||||
|
|
||||||
Keyboard/Mouse/Display/Sound
|
Keyboard/mouse/display/audio
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Looking Glass makes use of the SPICE protocol to provide keyboard and mouse
|
Looking Glass makes use of the SPICE protocol to provide keyboard and mouse
|
||||||
input, sound input and output, and display fallback.
|
input, audio input and output, and display fallback.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
The default configuration that libvirt uses is not optimal and must be
|
The default configuration that libvirt uses is not optimal and must be
|
||||||
adjusted. Failure to perform these changes will cause input issues along
|
adjusted. Failure to perform these changes will cause input issues along
|
||||||
with failure to support 5 button mice.
|
with failure to support 5 button mice.
|
||||||
|
|
||||||
If you would like to use Spice to give you keyboard and mouse input
|
If you would like to use SPICE to give you keyboard and mouse input
|
||||||
along with clipboard sync support, make sure you have a
|
along with clipboard sync support, make sure you have a
|
||||||
``<graphics type='spice'>`` device, then:
|
``<graphics type='spice'>`` device, then:
|
||||||
|
|
||||||
|
@ -180,7 +180,7 @@ along with clipboard sync support, make sure you have a
|
||||||
`virtio-win <https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/>`_
|
`virtio-win <https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/>`_
|
||||||
in the guest
|
in the guest
|
||||||
|
|
||||||
To enable Audio support add a standard Intel HDA audio device to your
|
To enable audio support add a standard Intel HDA audio device to your
|
||||||
configuration as per below:
|
configuration as per below:
|
||||||
|
|
||||||
.. code:: xml
|
.. code:: xml
|
||||||
|
@ -306,7 +306,7 @@ Host application
|
||||||
|
|
||||||
The Looking Glass Host application captures frames from the guest OS using a
|
The Looking Glass Host application captures frames from the guest OS using a
|
||||||
capture API, and sends them to the
|
capture API, and sends them to the
|
||||||
:ref:`Client <client_install>`—be it on the host OS (hypervisor) or another
|
:ref:`client <client_install>`—be it on the host OS (hypervisor) or another
|
||||||
Virtual Machine—through a low-latency transfer protocol over shared memory.
|
Virtual Machine—through a low-latency transfer protocol over shared memory.
|
||||||
|
|
||||||
You can get the host program in two ways:
|
You can get the host program in two ways:
|
||||||
|
@ -386,9 +386,9 @@ running ``looking-glass-host-setup.exe /?``.
|
||||||
Client application
|
Client application
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
The Looking Glass Client receives frames from the :ref:`Host <host_install>` to
|
The Looking Glass client receives frames from the :ref:`host <host_install>` to
|
||||||
display on your screen. It also handles input, and can optionally share the
|
display on your screen. It also handles input, and can optionally share the
|
||||||
system clipboard with your guest OS through Spice.
|
system clipboard with your guest OS through SPICE.
|
||||||
|
|
||||||
First you must build the client from source, see :ref:`building`. Once you have
|
First you must build the client from source, see :ref:`building`. Once you have
|
||||||
built the client, you can install it. Run the following as root::
|
built the client, you can install it. Run the following as root::
|
||||||
|
|
|
@ -12,7 +12,7 @@ memory device on the host machine that supports dmabuf.
|
||||||
Prerequisites
|
Prerequisites
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
The linux kernel headers for your kernel version are required for building.
|
The Linux kernel headers for your kernel version are required for building.
|
||||||
Install them with ``apt-get``
|
Install them with ``apt-get``
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
@ -53,11 +53,11 @@ To install the module into DKMS, run
|
||||||
Loading
|
Loading
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
For VM → VM, simply modprobe the module::
|
For VM → VM, simply ``modprobe`` the module::
|
||||||
|
|
||||||
modprobe kvmfr
|
modprobe kvmfr
|
||||||
|
|
||||||
For VM → host with dmabuf, modprobe with the parameter
|
For VM → host with dmabuf, ``modprobe`` with the parameter
|
||||||
``static_size_mb``:
|
``static_size_mb``:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
@ -88,7 +88,7 @@ For VM → VM mode, run:
|
||||||
|
|
||||||
For VM → host mode with dmabuf, instead of creating a shared memory file,
|
For VM → host mode with dmabuf, instead of creating a shared memory file,
|
||||||
load this module with the parameter ``static_size_mb``. For example, a
|
load this module with the parameter ``static_size_mb``. For example, a
|
||||||
32 MB shared memory device can be created with:
|
32 MiB shared memory device can be created with:
|
||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ load this module with the parameter ``static_size_mb``. For example, a
|
||||||
|
|
||||||
Multiple devices can be created by separating the sizes with commas. For
|
Multiple devices can be created by separating the sizes with commas. For
|
||||||
example, ``static_size_mb=128,64`` would create two kvmfr devices:
|
example, ``static_size_mb=128,64`` would create two kvmfr devices:
|
||||||
``kvmfr0`` would be 128 MB and ``kvmfr1`` would be 64 MB.
|
``kvmfr0`` would be 128 MB and ``kvmfr1`` would be 64 MiB.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
|
@ -238,7 +238,7 @@ We can use the ``systemd-modules-load.service(8)`` service for this task.
|
||||||
Create the file ``/etc/modules-load.d/kvmfr.conf`` with the following
|
Create the file ``/etc/modules-load.d/kvmfr.conf`` with the following
|
||||||
contents::
|
contents::
|
||||||
|
|
||||||
#KVMFR Looking Glass module
|
# KVMFR Looking Glass module
|
||||||
kvmfr
|
kvmfr
|
||||||
|
|
||||||
This will now run the next time you start your machine.
|
This will now run the next time you start your machine.
|
||||||
|
|
|
@ -23,7 +23,7 @@ The OBS plugin requires the following extra dependencies alongside the
|
||||||
:ref:`client's build
|
:ref:`client's build
|
||||||
dependencies <installing_build_dependencies>`.
|
dependencies <installing_build_dependencies>`.
|
||||||
|
|
||||||
- libobs-dev
|
- ``libobs-dev``
|
||||||
|
|
||||||
Install this package with ``apt-get``
|
Install this package with ``apt-get``
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ The clipboard is not working
|
||||||
|
|
||||||
- **Is clipboard synchronization enabled?**
|
- **Is clipboard synchronization enabled?**
|
||||||
|
|
||||||
- Before you can copy or paste content between the Guest and Host,
|
- Before you can copy or paste content between the guest and host,
|
||||||
:ref:`clipboard
|
:ref:`clipboard
|
||||||
synchronization <libvirt_clipboard_synchronization>`
|
synchronization <libvirt_clipboard_synchronization>`
|
||||||
must be enabled.
|
must be enabled.
|
||||||
|
|
310
doc/usage.rst
310
doc/usage.rst
|
@ -3,7 +3,7 @@
|
||||||
Client usage
|
Client usage
|
||||||
------------
|
------------
|
||||||
|
|
||||||
**looking-glass-client** [\-\-help] [\-f] [\-F] [\-s] [\-S] [options...]
|
**``looking-glass-client``** ``[--help] [-f] [-F] [-s] [-S] [options...]``
|
||||||
|
|
||||||
|
|
||||||
.. _client_cli_options:
|
.. _client_cli_options:
|
||||||
|
@ -97,9 +97,9 @@ Configuration files
|
||||||
By default, Looking Glass will load config files from
|
By default, Looking Glass will load config files from
|
||||||
the following locations:
|
the following locations:
|
||||||
|
|
||||||
- /etc/looking-glass-client.ini
|
- ``/etc/looking-glass-client.ini``
|
||||||
- ~/.looking-glass-client.ini
|
- ``~/.looking-glass-client.ini``
|
||||||
- $XDG_CONFIG_HOME/looking-glass/client.ini (usually ~/.config/looking-glass/client.ini)
|
- ``$XDG_CONFIG_HOME/looking-glass/client.ini`` (usually ``~/.config/looking-glass/client.ini``)
|
||||||
|
|
||||||
All config files are loaded in order. Duplicate entries override earlier ones.
|
All config files are loaded in order. Duplicate entries override earlier ones.
|
||||||
This means you can set a system-wide configuration in
|
This means you can set a system-wide configuration in
|
||||||
|
@ -108,7 +108,7 @@ your user in ``~/.looking-glass-client.ini``, which is overlayed on top of
|
||||||
the system-wide configuration.
|
the system-wide configuration.
|
||||||
|
|
||||||
When first launched, the Looking-Glass client will create the folder
|
When first launched, the Looking-Glass client will create the folder
|
||||||
$XDG_CONFIG_HOME/looking-glass/ if it does not yet exist.
|
``$XDG_CONFIG_HOME/looking-glass/`` if it does not yet exist.
|
||||||
|
|
||||||
The format of config files is the commonly known INI format, for example::
|
The format of config files is the commonly known INI format, for example::
|
||||||
|
|
||||||
|
@ -135,13 +135,13 @@ These include:
|
||||||
|
|
||||||
(see :ref:`client_config_widget`)
|
(see :ref:`client_config_widget`)
|
||||||
|
|
||||||
You can also reposition and resize enabled widgets, like the FPS/UPS Display,
|
You can also reposition and resize enabled widgets, like the FPS/UPS display,
|
||||||
and Performance Metrics.
|
and performance metrics.
|
||||||
|
|
||||||
Enter and exit Overlay Mode with :kbd:`ScrLk` + :kbd:`O`.
|
Enter and exit Overlay Mode with :kbd:`ScrLk` + :kbd:`O`.
|
||||||
:kbd:`ESC` can also be used to exit. (see :ref:`client_key_bindings`)
|
:kbd:`ESC` can also be used to exit. (see :ref:`client_key_bindings`)
|
||||||
|
|
||||||
Modifications done to widgets in Overlay Mode are stored in
|
Modifications done to widgets in overlay mode are stored in
|
||||||
``$XDG_CONFIG_HOME/looking-glass/imgui.ini``.
|
``$XDG_CONFIG_HOME/looking-glass/imgui.ini``.
|
||||||
Please do not manually edit this file while Looking Glass is running,
|
Please do not manually edit this file while Looking Glass is running,
|
||||||
as your changes may be discarded.
|
as your changes may be discarded.
|
||||||
|
@ -151,52 +151,52 @@ as your changes may be discarded.
|
||||||
Configuration widget
|
Configuration widget
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
The Configuration Widget is accessible through the Overlay Mode. The
|
The configuration widget is accessible through the overlay mode. The
|
||||||
widget has multiple tabs that allow setting a variety of modes and
|
widget has multiple tabs that allow setting a variety of modes and
|
||||||
parameters for Looking Glass at runtime.
|
parameters for Looking Glass at runtime.
|
||||||
|
|
||||||
Settings tab
|
Settings tab
|
||||||
^^^^^^^^^^^^
|
^^^^^^^^^^^^
|
||||||
|
|
||||||
- Performance Metrics: A toggle for the Performance Metrics Widget.
|
- *Performance Metrics*: A toggle for the performance metrics widget.
|
||||||
Multiple graphs are available, and they will stack vertically.
|
Multiple graphs are available, and they will stack vertically.
|
||||||
- EGL: Modify EGL features, such as the algorithm used for scaling, and
|
- *EGL*: Modify EGL settings, such as the algorithm used for scaling, and
|
||||||
night vision mode.
|
night vision mode.
|
||||||
|
|
||||||
Changes in the Settings tab are not persistent, and will change back to
|
Changes in the settings tab are not persistent, and will be reset back to
|
||||||
their default values when the client is restarted.
|
their default values when the client is restarted.
|
||||||
|
|
||||||
EGL filters tab
|
EGL filters tab
|
||||||
^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
The EGL Filters tab contains options for toggling, configuring, and ordering
|
The EGL filters tab contains options for toggling, configuring, and ordering
|
||||||
post-processing filters. Each filter can be expanded to open its settings.
|
post-processing filters. Each filter can be expanded to open its settings.
|
||||||
Filters can also be re-ordered by dragging them up or down. Filters are applied
|
Filters can also be re-ordered by dragging them up or down. Filters are applied
|
||||||
from top to bottom, keep this in mind when ordering them, e.g applying CAS
|
from top to bottom. Keep this in mind when ordering them -- for example,
|
||||||
before FSR might have different results than the reverse. Users are encouraged
|
applying CAS before FSR might have different results than the reverse. Users
|
||||||
to experiment with the order and parameters to achieve optimal results. The
|
are encouraged to experiment with the order and parameters to achieve optimal
|
||||||
currently available filters include:
|
results. The currently available filters include:
|
||||||
|
|
||||||
- Downscaler: Filter for downscaling the host resolution. Can be used to undo
|
- *Downscaler*: Filter for downscaling the host resolution. Can be used to undo
|
||||||
poor upscaling on the VM to better utilize AMD FSR (see below). The filter
|
poor upscaling on the VM to better utilize AMD FSR (see below). The filter
|
||||||
has a pixel-size setting that is used to set the effective downscaling ratio,
|
has a pixel-size setting that is used to set the effective downscaling ratio,
|
||||||
and a configurable interpolation algorithm.
|
and a configurable interpolation algorithm.
|
||||||
|
|
||||||
- AMD FidelityFX Super Resolution (FSR): Spatial upscaling filter that works
|
- *AMD FidelityFX Super Resolution (FSR)*: Spatial upscaling filter that works
|
||||||
on low resolution frames from the guest VM and intelligently upscales to a
|
on low resolution frames from the guest VM and intelligently upscales to a
|
||||||
higher resolution. The filter sharpness is tunable, and displays the
|
higher resolution. The filter sharpness is tunable, and displays the
|
||||||
equivalent AMD quality mode based on the resolution difference.
|
equivalent AMD quality mode based on the resolution difference.
|
||||||
|
|
||||||
- AMD FidelityFX Contrast Adaptive Sharpening (CAS): Filter that
|
- *AMD FidelityFX Contrast Adaptive Sharpening (CAS)*: Filter that
|
||||||
increases visual quality by applying a sharpening algorithm to the
|
increases visual quality by applying a sharpening algorithm to the
|
||||||
video. CAS can sometimes restore detail lost in a typical upscaling
|
video. CAS can sometimes restore detail lost in a typical upscaling
|
||||||
application. Has adjustable sharpness setting.
|
application. Has adjustable sharpness setting.
|
||||||
|
|
||||||
The filter settings and order can be saved to presets so that it can be restored
|
The filter settings and order can be saved to presets so that it can be restored
|
||||||
at a later time. As filter settings are usually application specific, multiple
|
at a later time. As filter settings are usually application specific, multiple
|
||||||
presets can be defined for each case scenario. To save a preset, click on "Save
|
presets can be defined for each case scenario. To save a preset, click on *"Save
|
||||||
preset as..." and enter a preset name. Presets are loaded by selecting them in
|
preset as..."* and enter a preset name. Presets are loaded by selecting them in
|
||||||
the "Preset name" pull down. Presets are persistent and are stored on disk at
|
the *Preset name* pull down. Presets are persistent and are stored on disk at
|
||||||
``$XDG_CONFIG_HOME/looking-glass/presets``.
|
``$XDG_CONFIG_HOME/looking-glass/presets``.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
@ -213,127 +213,127 @@ the "Preset name" pull down. Presets are persistent and are stored on disk at
|
||||||
All command line options
|
All command line options
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
The following is a complete list of options accepted by this application
|
.. code-block::
|
||||||
|
|
||||||
+------------------------+-------+------------------------+-----------------------------------------------------------------------------------------+
|
+------------------------+-------+------------------------+-----------------------------------------------------------------------------------------+
|
||||||
| Long | Short | Value | Description |
|
| Long | Short | Value | Description |
|
||||||
+------------------------+-------+------------------------+-----------------------------------------------------------------------------------------+
|
+------------------------+-------+------------------------+-----------------------------------------------------------------------------------------+
|
||||||
| app:configFile | -C | NULL | A file to read additional configuration from |
|
| app:configFile | -C | NULL | A file to read additional configuration from |
|
||||||
| app:renderer | -g | auto | Specify the renderer to use |
|
| app:renderer | -g | auto | Specify the renderer to use |
|
||||||
| app:license | -l | no | Show the license for this application and then terminate |
|
| app:license | -l | no | Show the license for this application and then terminate |
|
||||||
| app:cursorPollInterval | | 1000 | How often to check for a cursor update in microseconds |
|
| app:cursorPollInterval | | 1000 | How often to check for a cursor update in microseconds |
|
||||||
| app:framePollInterval | | 1000 | How often to check for a frame update in microseconds |
|
| app:framePollInterval | | 1000 | How often to check for a frame update in microseconds |
|
||||||
| app:allowDMA | | yes | Allow direct DMA transfers if supported (see `README.md` in the `module` dir) |
|
| app:allowDMA | | yes | Allow direct DMA transfers if supported (see `README.md` in the `module` dir) |
|
||||||
| app:shmFile | -f | /dev/shm/looking-glass | The path to the shared memory file, or the name of the kvmfr device to use, e.g. kvmfr0 |
|
| app:shmFile | -f | /dev/shm/looking-glass | The path to the shared memory file, or the name of the kvmfr device to use, e.g. kvmfr0 |
|
||||||
+------------------------+-------+------------------------+-----------------------------------------------------------------------------------------+
|
+------------------------+-------+------------------------+-----------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
+-------------------------+-------+------------------------+----------------------------------------------------------------------+
|
+-------------------------+-------+------------------------+----------------------------------------------------------------------+
|
||||||
| Long | Short | Value | Description |
|
| Long | Short | Value | Description |
|
||||||
+-------------------------+-------+------------------------+----------------------------------------------------------------------+
|
+-------------------------+-------+------------------------+----------------------------------------------------------------------+
|
||||||
| win:title | | Looking Glass (client) | The window title |
|
| win:title | | Looking Glass (client) | The window title |
|
||||||
| win:position | | center | Initial window position at startup |
|
| win:position | | center | Initial window position at startup |
|
||||||
| win:size | | 1024x768 | Initial window size at startup |
|
| win:size | | 1024x768 | Initial window size at startup |
|
||||||
| win:autoResize | -a | no | Auto resize the window to the guest |
|
| win:autoResize | -a | no | Auto resize the window to the guest |
|
||||||
| win:allowResize | -n | yes | Allow the window to be manually resized |
|
| win:allowResize | -n | yes | Allow the window to be manually resized |
|
||||||
| win:keepAspect | -r | yes | Maintain the correct aspect ratio |
|
| win:keepAspect | -r | yes | Maintain the correct aspect ratio |
|
||||||
| win:forceAspect | | yes | Force the window to maintain the aspect ratio |
|
| win:forceAspect | | yes | Force the window to maintain the aspect ratio |
|
||||||
| win:dontUpscale | | no | Never try to upscale the window |
|
| win:dontUpscale | | no | Never try to upscale the window |
|
||||||
| win:intUpscale | | no | Allow only integer upscaling |
|
| win:intUpscale | | no | Allow only integer upscaling |
|
||||||
| win:shrinkOnUpscale | | no | Limit the window dimensions when dontUpscale is enabled |
|
| win:shrinkOnUpscale | | no | Limit the window dimensions when dontUpscale is enabled |
|
||||||
| win:borderless | -d | no | Borderless mode |
|
| win:borderless | -d | no | Borderless mode |
|
||||||
| win:fullScreen | -F | no | Launch in fullscreen borderless mode |
|
| win:fullScreen | -F | no | Launch in fullscreen borderless mode |
|
||||||
| win:maximize | -T | no | Launch window maximized |
|
| win:maximize | -T | no | Launch window maximized |
|
||||||
| win:minimizeOnFocusLoss | | no | Minimize window on focus loss |
|
| win:minimizeOnFocusLoss | | no | Minimize window on focus loss |
|
||||||
| win:fpsMin | -K | -1 | Frame rate minimum (0 = disable - not recommended, -1 = auto detect) |
|
| win:fpsMin | -K | -1 | Frame rate minimum (0 = disable - not recommended, -1 = auto detect) |
|
||||||
| win:ignoreQuit | -Q | no | Ignore requests to quit (i.e. Alt+F4) |
|
| win:ignoreQuit | -Q | no | Ignore requests to quit (i.e. Alt+F4) |
|
||||||
| win:noScreensaver | -S | no | Prevent the screensaver from starting |
|
| win:noScreensaver | -S | no | Prevent the screensaver from starting |
|
||||||
| win:autoScreensaver | | no | Prevent the screensaver from starting when guest requests it |
|
| win:autoScreensaver | | no | Prevent the screensaver from starting when guest requests it |
|
||||||
| win:alerts | -q | yes | Show on screen alert messages |
|
| win:alerts | -q | yes | Show on screen alert messages |
|
||||||
| win:quickSplash | | no | Skip fading out the splash screen when a connection is established |
|
| win:quickSplash | | no | Skip fading out the splash screen when a connection is established |
|
||||||
| win:overlayDimsDesktop | | yes | Dim the desktop when in interactive overlay mode |
|
| win:overlayDimsDesktop | | yes | Dim the desktop when in interactive overlay mode |
|
||||||
| win:rotate | | 0 | Rotate the displayed image (0, 90, 180, 270) |
|
| win:rotate | | 0 | Rotate the displayed image (0, 90, 180, 270) |
|
||||||
| win:uiFont | | DejaVu Sans Mono | The font to use when rendering on-screen UI |
|
| win:uiFont | | DejaVu Sans Mono | The font to use when rendering on-screen UI |
|
||||||
| win:uiSize | | 14 | The font size to use when rendering on-screen UI |
|
| win:uiSize | | 14 | The font size to use when rendering on-screen UI |
|
||||||
| win:jitRender | | no | Enable just-in-time rendering |
|
| win:jitRender | | no | Enable just-in-time rendering |
|
||||||
| win:showFPS | -k | no | Enable the FPS & UPS display |
|
| win:showFPS | -k | no | Enable the FPS & UPS display |
|
||||||
+-------------------------+-------+------------------------+----------------------------------------------------------------------+
|
+-------------------------+-------+------------------------+----------------------------------------------------------------------+
|
||||||
|
|
||||||
+------------------------------+-------+---------------------+----------------------------------------------------------------------------------+
|
+------------------------------+-------+---------------------+----------------------------------------------------------------------------------+
|
||||||
| Long | Short | Value | Description |
|
| Long | Short | Value | Description |
|
||||||
+------------------------------+-------+---------------------+----------------------------------------------------------------------------------+
|
+------------------------------+-------+---------------------+----------------------------------------------------------------------------------+
|
||||||
| input:grabKeyboard | -G | yes | Grab the keyboard in capture mode |
|
| input:grabKeyboard | -G | yes | Grab the keyboard in capture mode |
|
||||||
| input:grabKeyboardOnFocus | | no | Grab the keyboard when focused |
|
| input:grabKeyboardOnFocus | | no | Grab the keyboard when focused |
|
||||||
| input:releaseKeysOnFocusLoss | | yes | On focus loss, send key up events to guest for all held keys |
|
| input:releaseKeysOnFocusLoss | | yes | On focus loss, send key up events to guest for all held keys |
|
||||||
| input:escapeKey | -m | 70 = KEY_SCROLLLOCK | Specify the escape/menu key to use (use "help" to see valid values) |
|
| input:escapeKey | -m | 70 = KEY_SCROLLLOCK | Specify the escape/menu key to use (use "help" to see valid values) |
|
||||||
| input:ignoreWindowsKeys | | no | Do not pass events for the windows keys to the guest |
|
| input:ignoreWindowsKeys | | no | Do not pass events for the windows keys to the guest |
|
||||||
| input:hideCursor | -M | yes | Hide the local mouse cursor |
|
| input:hideCursor | -M | yes | Hide the local mouse cursor |
|
||||||
| input:mouseSens | | 0 | Initial mouse sensitivity when in capture mode (-9 to 9) |
|
| input:mouseSens | | 0 | Initial mouse sensitivity when in capture mode (-9 to 9) |
|
||||||
| input:mouseSmoothing | | yes | Apply simple mouse smoothing when rawMouse is not in use (helps reduce aliasing) |
|
| input:mouseSmoothing | | yes | Apply simple mouse smoothing when rawMouse is not in use (helps reduce aliasing) |
|
||||||
| input:rawMouse | | no | Use RAW mouse input when in capture mode (good for gaming) |
|
| input:rawMouse | | no | Use RAW mouse input when in capture mode (good for gaming) |
|
||||||
| input:mouseRedraw | | yes | Mouse movements trigger redraws (ignores FPS minimum) |
|
| input:mouseRedraw | | yes | Mouse movements trigger redraws (ignores FPS minimum) |
|
||||||
| input:autoCapture | | no | Try to keep the mouse captured when needed |
|
| input:autoCapture | | no | Try to keep the mouse captured when needed |
|
||||||
| input:captureOnly | | no | Only enable input via SPICE if in capture mode |
|
| input:captureOnly | | no | Only enable input via SPICE if in capture mode |
|
||||||
| input:helpMenuDelay | | 200 | Show help menu after holding down the escape key for this many milliseconds |
|
| input:helpMenuDelay | | 200 | Show help menu after holding down the escape key for this many milliseconds |
|
||||||
+------------------------------+-------+---------------------+----------------------------------------------------------------------------------+
|
+------------------------------+-------+---------------------+----------------------------------------------------------------------------------+
|
||||||
|
|
||||||
+------------------------+-------+-----------+---------------------------------------------------------------------+
|
+------------------------+-------+-----------+---------------------------------------------------------------------+
|
||||||
| Long | Short | Value | Description |
|
| Long | Short | Value | Description |
|
||||||
+------------------------+-------+-----------+---------------------------------------------------------------------+
|
+------------------------+-------+-----------+---------------------------------------------------------------------+
|
||||||
| spice:enable | -s | yes | Enable the built in SPICE client for input and/or clipboard support |
|
| spice:enable | -s | yes | Enable the built in SPICE client for input and/or clipboard support |
|
||||||
| spice:host | -c | 127.0.0.1 | The SPICE server host or UNIX socket |
|
| spice:host | -c | 127.0.0.1 | The SPICE server host or UNIX socket |
|
||||||
| spice:port | -p | 5900 | The SPICE server port (0 = unix socket) |
|
| spice:port | -p | 5900 | The SPICE server port (0 = unix socket) |
|
||||||
| spice:input | | yes | Use SPICE to send keyboard and mouse input events to the guest |
|
| spice:input | | yes | Use SPICE to send keyboard and mouse input events to the guest |
|
||||||
| spice:clipboard | | yes | Use SPICE to synchronize the clipboard contents with the guest |
|
| spice:clipboard | | yes | Use SPICE to synchronize the clipboard contents with the guest |
|
||||||
| spice:clipboardToVM | | yes | Allow the clipboard to be synchronized TO the VM |
|
| spice:clipboardToVM | | yes | Allow the clipboard to be synchronized TO the VM |
|
||||||
| spice:clipboardToLocal | | yes | Allow the clipboard to be synchronized FROM the VM |
|
| spice:clipboardToLocal | | yes | Allow the clipboard to be synchronized FROM the VM |
|
||||||
| spice:audio | | yes | Enable SPICE audio support |
|
| spice:audio | | yes | Enable SPICE audio support |
|
||||||
| spice:scaleCursor | -j | yes | Scale cursor input position to screen size when up/down scaled |
|
| spice:scaleCursor | -j | yes | Scale cursor input position to screen size when up/down scaled |
|
||||||
| spice:captureOnStart | | no | Capture mouse and keyboard on start |
|
| spice:captureOnStart | | no | Capture mouse and keyboard on start |
|
||||||
| spice:alwaysShowCursor | | no | Always show host cursor |
|
| spice:alwaysShowCursor | | no | Always show host cursor |
|
||||||
| spice:showCursorDot | | yes | Use a "dot" cursor when the window does not have focus |
|
| spice:showCursorDot | | yes | Use a "dot" cursor when the window does not have focus |
|
||||||
+------------------------+-------+-----------+---------------------------------------------------------------------+
|
+------------------------+-------+-----------+---------------------------------------------------------------------+
|
||||||
|
|
||||||
+------------------------+-------+--------+-------------------------------------------------------------------------------+
|
+------------------------+-------+--------+-------------------------------------------------------------------------------+
|
||||||
| Long | Short | Value | Description |
|
| Long | Short | Value | Description |
|
||||||
+------------------------+-------+--------+-------------------------------------------------------------------------------+
|
+------------------------+-------+--------+-------------------------------------------------------------------------------+
|
||||||
| audio:periodSize | | 2048 | Requested audio device period size in samples |
|
| audio:periodSize | | 2048 | Requested audio device period size in samples |
|
||||||
| audio:bufferLatency | | 13 | Additional buffer latency in milliseconds |
|
| audio:bufferLatency | | 13 | Additional buffer latency in milliseconds |
|
||||||
| audio:micDefault | | prompt | Default action when an application opens the microphone (prompt, allow, deny) |
|
| audio:micDefault | | prompt | Default action when an application opens the microphone (prompt, allow, deny) |
|
||||||
| audio:micShowIndicator | | yes | Display microphone usage indicator |
|
| audio:micShowIndicator | | yes | Display microphone usage indicator |
|
||||||
+------------------------+-------+--------+-------------------------------------------------------------------------------+
|
+------------------------+-------+--------+-------------------------------------------------------------------------------+
|
||||||
|
|
||||||
+------------------+-------+-------+---------------------------------------------------------------------------+
|
+------------------+-------+-------+---------------------------------------------------------------------------+
|
||||||
| Long | Short | Value | Description |
|
| Long | Short | Value | Description |
|
||||||
+------------------+-------+-------+---------------------------------------------------------------------------+
|
+------------------+-------+-------+---------------------------------------------------------------------------+
|
||||||
| egl:vsync | | no | Enable vsync |
|
| egl:vsync | | no | Enable vsync |
|
||||||
| egl:doubleBuffer | | no | Enable double buffering |
|
| egl:doubleBuffer | | no | Enable double buffering |
|
||||||
| egl:multisample | | yes | Enable Multisampling |
|
| egl:multisample | | yes | Enable Multisampling |
|
||||||
| egl:nvGainMax | | 1 | The maximum night vision gain |
|
| egl:nvGainMax | | 1 | The maximum night vision gain |
|
||||||
| egl:nvGain | | 0 | The initial night vision gain at startup |
|
| egl:nvGain | | 0 | The initial night vision gain at startup |
|
||||||
| egl:cbMode | | 0 | Color Blind Mode (0 = Off, 1 = Protanope, 2 = Deuteranope, 3 = Tritanope) |
|
| egl:cbMode | | 0 | Color Blind Mode (0 = Off, 1 = Protanope, 2 = Deuteranope, 3 = Tritanope) |
|
||||||
| egl:scale | | 0 | Set the scale algorithm (0 = auto, 1 = nearest, 2 = linear) |
|
| egl:scale | | 0 | Set the scale algorithm (0 = auto, 1 = nearest, 2 = linear) |
|
||||||
| egl:debug | | no | Enable debug output |
|
| egl:debug | | no | Enable debug output |
|
||||||
| egl:noBufferAge | | no | Disable partial rendering based on buffer age |
|
| egl:noBufferAge | | no | Disable partial rendering based on buffer age |
|
||||||
| egl:noSwapDamage | | no | Disable swapping with damage |
|
| egl:noSwapDamage | | no | Disable swapping with damage |
|
||||||
| egl:scalePointer | | yes | Keep the pointer size 1:1 when downscaling |
|
| egl:scalePointer | | yes | Keep the pointer size 1:1 when downscaling |
|
||||||
| egl:preset | | NULL | The initial filter preset to load |
|
| egl:preset | | NULL | The initial filter preset to load |
|
||||||
+------------------+-------+-------+---------------------------------------------------------------------------+
|
+------------------+-------+-------+---------------------------------------------------------------------------+
|
||||||
|
|
||||||
+----------------------+-------+-------+---------------------------------------------+
|
+----------------------+-------+-------+---------------------------------------------+
|
||||||
| Long | Short | Value | Description |
|
| Long | Short | Value | Description |
|
||||||
+----------------------+-------+-------+---------------------------------------------+
|
+----------------------+-------+-------+---------------------------------------------+
|
||||||
| opengl:mipmap | | yes | Enable mipmapping |
|
| opengl:mipmap | | yes | Enable mipmapping |
|
||||||
| opengl:vsync | | no | Enable vsync |
|
| opengl:vsync | | no | Enable vsync |
|
||||||
| opengl:preventBuffer | | yes | Prevent the driver from buffering frames |
|
| opengl:preventBuffer | | yes | Prevent the driver from buffering frames |
|
||||||
| opengl:amdPinnedMem | | yes | Use GL_AMD_pinned_memory if it is available |
|
| opengl:amdPinnedMem | | yes | Use GL_AMD_pinned_memory if it is available |
|
||||||
+----------------------+-------+-------+---------------------------------------------+
|
+----------------------+-------+-------+---------------------------------------------+
|
||||||
|
|
||||||
+-----------------------+-------+-------+-------------------------+
|
+-----------------------+-------+-------+-------------------------+
|
||||||
| Long | Short | Value | Description |
|
| Long | Short | Value | Description |
|
||||||
+-----------------------+-------+-------+-------------------------+
|
+-----------------------+-------+-------+-------------------------+
|
||||||
| wayland:warpSupport | | yes | Enable cursor warping |
|
| wayland:warpSupport | | yes | Enable cursor warping |
|
||||||
| wayland:fractionScale | | yes | Enable fractional scale |
|
| wayland:fractionScale | | yes | Enable fractional scale |
|
||||||
+-----------------------+-------+-------+-------------------------+
|
+-----------------------+-------+-------+-------------------------+
|
||||||
|
|
||||||
.. _host_usage:
|
.. _host_usage:
|
||||||
|
|
||||||
|
@ -343,7 +343,7 @@ Host usage
|
||||||
By default the host application will simply work however there are some
|
By default the host application will simply work however there are some
|
||||||
configurable options available. While the host application will accept command
|
configurable options available. While the host application will accept command
|
||||||
line arguments just as the client will it is more convenient to create the
|
line arguments just as the client will it is more convenient to create the
|
||||||
`looking-glass-host.ini` file with the desired configuration options.
|
``looking-glass-host.ini`` file with the desired configuration options.
|
||||||
|
|
||||||
This file must be placed in the same directory that the Looking Glass host
|
This file must be placed in the same directory that the Looking Glass host
|
||||||
application was installed for it to be found and used by the application
|
application was installed for it to be found and used by the application
|
||||||
|
@ -366,7 +366,7 @@ however this can be changed via the ini file with the following configuration:
|
||||||
[app]
|
[app]
|
||||||
capture=<INTERFACE>
|
capture=<INTERFACE>
|
||||||
|
|
||||||
Where `<INTERFACE>` is one of `dxgi` or `nvfbc`
|
Where ``<INTERFACE>`` is one of ``dxgi`` or ``nvfbc``
|
||||||
|
|
||||||
.. _host_capture_dxgi:
|
.. _host_capture_dxgi:
|
||||||
|
|
||||||
|
@ -386,12 +386,12 @@ the cursor directly, as such titles that do not use a mouse (most FPV games)
|
||||||
are not affected.
|
are not affected.
|
||||||
|
|
||||||
The other drawback of this API is the overall system overhead, however this can
|
The other drawback of this API is the overall system overhead, however this can
|
||||||
be mitigated by using the DirectX 12 back end. Please be aware though that this
|
be mitigated by using the DirectX 12 backend. Please be aware though that this
|
||||||
back end is not experimental because it's new, but rather it's a slight
|
backend is not experimental because it's new, but rather it's a slight
|
||||||
abuse/misuse of the DXGI API and allows us to bypass some windows internals.
|
abuse/misuse of the DXGI API and allows us to bypass some Windows internals.
|
||||||
|
|
||||||
To enable the DirectX 12 back end the following configuration needs to be added
|
To enable the DirectX 12 backend the following configuration needs to be added
|
||||||
to the `looking-glass-host.ini` configuration:
|
to the ``looking-glass-host.ini`` configuration:
|
||||||
|
|
||||||
.. code:: ini
|
.. code:: ini
|
||||||
|
|
||||||
|
@ -403,7 +403,7 @@ to the `looking-glass-host.ini` configuration:
|
||||||
d3d12CopySleep=5
|
d3d12CopySleep=5
|
||||||
disableDamage=false
|
disableDamage=false
|
||||||
|
|
||||||
The option `d3d12CopySleep` is to work around the lack of locking this misuse
|
The option ``d3d12CopySleep`` is to work around the lack of locking this misuse
|
||||||
of the API allows and you will need to tune this value to what suits your
|
of the API allows and you will need to tune this value to what suits your
|
||||||
hardware best. The default value is 5ms as this should work for most, lowing
|
hardware best. The default value is 5ms as this should work for most, lowing
|
||||||
it below 2ms is doubtful to be of practical use to anyone. If this value is too
|
it below 2ms is doubtful to be of practical use to anyone. If this value is too
|
||||||
|
@ -412,25 +412,25 @@ a window around on the Windows desktop.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Lowering d3d12CopySleep can improve the UPS however the UPS metric makes
|
Lowering d3d12CopySleep can improve the UPS however the UPS metric makes
|
||||||
little sense when using the d3d12 back end as if this value is too low
|
little sense when using the d3d12 backend as if this value is too low
|
||||||
unchanged frames will be doubled up.
|
unchanged frames will be doubled up.
|
||||||
|
|
||||||
The `disableDamage` option may be needed to avoid screen corruption however
|
The ``disableDamage`` option may be needed to avoid screen corruption. Note
|
||||||
please note that this will increase the bandwidth required and in turn the
|
that this will increase the bandwidth required and in turn the overall load on
|
||||||
overall load on your system.
|
your system.
|
||||||
|
|
||||||
The DXGI capture interface also offers a feature that allows downsampling the
|
The DXGI capture interface also offers a feature that allows downsampling the
|
||||||
captured frames in the guest GPU before transferring them to shared memory.
|
captured frames in the guest GPU before transferring them to shared memory.
|
||||||
This feature is very useful if you are super scaling for better picture quality
|
This feature is very useful if you are super scaling for better picture quality
|
||||||
and wish to reduce system memory pressure.
|
and wish to reduce system memory pressure.
|
||||||
|
|
||||||
The configuration for this is fairly straight forward and is defined as set of
|
The configuration for this is fairly straightforward and is defined as set of
|
||||||
rules to determine when to perform this downsampling. The format is as follows:
|
rules to determine when to perform this downsampling. The format is as follows:
|
||||||
|
|
||||||
.. code:: ini
|
.. code:: ini
|
||||||
|
|
||||||
[dxgi]
|
[dxgi]
|
||||||
downssample=RULE1,RULE2,RULE3
|
downsample=RULE1,RULE2,RULE3
|
||||||
|
|
||||||
The rules are written as follows:
|
The rules are written as follows:
|
||||||
|
|
||||||
|
@ -438,7 +438,7 @@ The rules are written as follows:
|
||||||
|
|
||||||
(>|>=)(WIDTH)x(HEIGHT):(LEVEL)
|
(>|>=)(WIDTH)x(HEIGHT):(LEVEL)
|
||||||
|
|
||||||
The `LEVEL` is the fractional scale level where 1 = 50%, 2 = 25%, 3 = 12.5%.
|
The ``LEVEL`` is the fractional scale level where 1 = 50%, 2 = 25%, 3 = 12.5%.
|
||||||
|
|
||||||
**Examples:**
|
**Examples:**
|
||||||
|
|
||||||
|
@ -470,7 +470,7 @@ system load and lower latency capture, and does not suffer from the mouse
|
||||||
motion stutter issues that DXGI suffers from.
|
motion stutter issues that DXGI suffers from.
|
||||||
|
|
||||||
To enable it's usage use the following configuration in the
|
To enable it's usage use the following configuration in the
|
||||||
`looking-glass-host.ini` file:
|
``looking-glass-host.ini`` file:
|
||||||
|
|
||||||
.. code:: ini
|
.. code:: ini
|
||||||
|
|
||||||
|
@ -492,7 +492,7 @@ rules to determine when to perform this downsampling. The format is as follows:
|
||||||
.. code:: ini
|
.. code:: ini
|
||||||
|
|
||||||
[nvfbc]
|
[nvfbc]
|
||||||
downssample=RULE1,RULE2,RULE3
|
downsample=RULE1,RULE2,RULE3
|
||||||
|
|
||||||
The rules are written as follows:
|
The rules are written as follows:
|
||||||
|
|
||||||
|
@ -515,5 +515,5 @@ The rules are written as follows:
|
||||||
downsample=3840x2160:1920x1080,3840x2400:1920x1200
|
downsample=3840x2160:1920x1080,3840x2400:1920x1200
|
||||||
|
|
||||||
This capture interface also looks for and reads the value of the system
|
This capture interface also looks for and reads the value of the system
|
||||||
environment variable `NVFBC_PRIV_DATA` if it has been set, documentation on
|
environment variable ``NVFBC_PRIV_DATA`` if it has been set, documentation on
|
||||||
it's usage however is unavailable.
|
its usage however is unavailable.
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
backend
|
||||||
backtrace
|
backtrace
|
||||||
borderless
|
borderless
|
||||||
BigNavi
|
BigNavi
|
||||||
|
@ -31,6 +32,7 @@ libvirt
|
||||||
linux
|
linux
|
||||||
LookingGlass
|
LookingGlass
|
||||||
memballoon
|
memballoon
|
||||||
|
MiB
|
||||||
microstutters
|
microstutters
|
||||||
mingw
|
mingw
|
||||||
mipmapping
|
mipmapping
|
||||||
|
|
Loading…
Reference in a new issue