mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-08-22 07:01:30 +00:00
[doc] use "Looking Glass Server" instead of "producer"
I think "server" and different "implementations" of it makes it a lot clearer to readers that it's a swappable thing that can serve multiple clients without being too much jargon.
This commit is contained in:
@@ -233,7 +233,7 @@ Legacy Host Application build
|
|||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
The Host Application is a legacy frame producer. New installations should
|
The Host Application is a legacy server application. New installations should
|
||||||
use the prebuilt :doc:`Looking Glass IDD <install_idd>`. These build
|
use the prebuilt :doc:`Looking Glass IDD <install_idd>`. These build
|
||||||
instructions are retained for the complete matching B7 stack described in
|
instructions are retained for the complete matching B7 stack described in
|
||||||
:ref:`legacy_host_policy`.
|
:ref:`legacy_host_policy`.
|
||||||
|
|||||||
@@ -72,9 +72,8 @@ Which application runs on Linux?
|
|||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
The Looking Glass Client runs on the Linux host operating system. The IDD runs
|
The Looking Glass Client runs on the Linux host operating system. The IDD runs
|
||||||
inside the Windows guest. The older product named the **Host Application** is
|
inside the Windows guest. The older product named the **Host Application** is a
|
||||||
a legacy Windows producer; “Host” in that name does not mean the Linux host
|
legacy Windows server; “Host” in that name does not mean the Linux host OS.
|
||||||
OS.
|
|
||||||
|
|
||||||
Input and window system
|
Input and window system
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|||||||
@@ -45,8 +45,8 @@ the new default refresh rate.
|
|||||||
|
|
||||||
The client option ``win:setGuestRes`` enables automatic dynamic resolution
|
The client option ``win:setGuestRes`` enables automatic dynamic resolution
|
||||||
requests when the client window changes size. The default is enabled when the
|
requests when the client window changes size. The default is enabled when the
|
||||||
producer supports it. Press the client's escape key together with ``=`` to
|
server in the guest supports it. Press the client's escape key together with
|
||||||
request the current window resolution manually.
|
``=`` to request the current window resolution manually.
|
||||||
|
|
||||||
Preferences
|
Preferences
|
||||||
-----------
|
-----------
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ installed. Follow the pages below in order for a new setup:
|
|||||||
|
|
||||||
Configure the VM and shared memory, install the IDD in Windows, then install
|
Configure the VM and shared memory, install the IDD in Windows, then install
|
||||||
the Linux client. The legacy Host page is an alternative for old workflows;
|
the Linux client. The legacy Host page is an alternative for old workflows;
|
||||||
do not install both Windows producers.
|
do not install both Windows servers.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
|
|
||||||
|
|||||||
@@ -8,9 +8,9 @@ Client Application Installation
|
|||||||
For Linux
|
For Linux
|
||||||
---------
|
---------
|
||||||
|
|
||||||
The Looking Glass Client receives frames from the Windows producer and displays
|
The Looking Glass Client receives frames from an implementation of the Looking
|
||||||
them on Linux. It also handles input, audio, overlays and optional SPICE
|
Glass Server on Windows and displays them on Linux. It also handles input,
|
||||||
services.
|
audio, overlays and optional SPICE services.
|
||||||
|
|
||||||
There are currently no Linux distribution packages for the client. First
|
There are currently no Linux distribution packages for the client. First
|
||||||
:ref:`build it from source <build_client_section>`, then run the following from
|
:ref:`build it from source <build_client_section>`, then run the following from
|
||||||
|
|||||||
@@ -6,8 +6,9 @@ Legacy Host Application installation
|
|||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
The Host Application is a legacy frame producer. New installations should
|
The Host Application is the legacy implementation of the Looking Glass
|
||||||
use the :doc:`Looking Glass IDD <install_idd>`.
|
Server. New installations should use the :doc:`Looking Glass IDD
|
||||||
|
<install_idd>`.
|
||||||
|
|
||||||
B7 is the last recommended release when non-capture mouse input through the
|
B7 is the last recommended release when non-capture mouse input through the
|
||||||
Host Application is required. Use the matching B7 client and documentation
|
Host Application is required. Use the matching B7 client and documentation
|
||||||
|
|||||||
@@ -5,13 +5,14 @@ Looking Glass IDD
|
|||||||
|
|
||||||
.. _install_idd:
|
.. _install_idd:
|
||||||
|
|
||||||
The Looking Glass IDD is the recommended Windows frame producer. Download the
|
The Looking Glass IDD is the recommended Looking Glass server implementation for
|
||||||
``looking-glass-idd-setup.exe`` installer that matches the client release, run
|
Windows guests. Download the ``looking-glass-idd-setup.exe`` installer that
|
||||||
it as an administrator inside the Windows guest and follow the installer.
|
matches the client release, run it as an administrator inside the Windows guest
|
||||||
|
and follow the installer.
|
||||||
|
|
||||||
The installer includes the display driver, direct input driver and IDD helper.
|
The installer includes the display driver, direct input driver and IDD helper.
|
||||||
It can also install the IVSHMEM driver. If the legacy Host service is present,
|
It can also install the IVSHMEM driver. If the legacy Host service is present,
|
||||||
allow the installer to disable it so that only one Looking Glass producer is
|
allow the installer to disable it so that only one Looking Glass server is
|
||||||
active.
|
active.
|
||||||
|
|
||||||
The display may briefly disappear while Windows installs or reloads the
|
The display may briefly disappear while Windows installs or reloads the
|
||||||
@@ -25,7 +26,7 @@ Install
|
|||||||
3. Select **IVSHMEM Driver** if a suitable IVSHMEM driver is not already
|
3. Select **IVSHMEM Driver** if a suitable IVSHMEM driver is not already
|
||||||
installed in the guest.
|
installed in the guest.
|
||||||
4. Leave **Indirect Display Driver (IDD)** selected.
|
4. Leave **Indirect Display Driver (IDD)** selected.
|
||||||
5. If offered, leave **Disable old host app** selected. Running two producers
|
5. If offered, leave **Disable old host app** selected. Running two servers
|
||||||
against the same shared-memory device is not supported.
|
against the same shared-memory device is not supported.
|
||||||
6. Complete the installation and restart Windows if requested.
|
6. Complete the installation and restart Windows if requested.
|
||||||
|
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ Frame rate and multiple clients
|
|||||||
An active OBS source requests the global frame rate configured under **OBS
|
An active OBS source requests the global frame rate configured under **OBS
|
||||||
Settings > Video**. There is no separate FPS control in the Looking Glass
|
Settings > Video**. There is no separate FPS control in the Looking Glass
|
||||||
source. The IDD uses the fastest request among all active consumers, so a 120
|
source. The IDD uses the fastest request among all active consumers, so a 120
|
||||||
Hz client can raise the producer cadence while OBS records at 60 FPS. Each
|
Hz client can raise the server cadence while OBS records at 60 FPS. Each
|
||||||
consumer still selects the newest frame for its own deadline.
|
consumer still selects the newest frame for its own deadline.
|
||||||
|
|
||||||
The OBS source releases its cadence request while it is inactive or hidden.
|
The OBS source releases its cadence request while it is inactive or hidden.
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ Common options
|
|||||||
- Follow guest resolution changes
|
- Follow guest resolution changes
|
||||||
* - ``win:setGuestRes``
|
* - ``win:setGuestRes``
|
||||||
- ``yes``
|
- ``yes``
|
||||||
- Ask a supporting producer to follow the client viewport
|
- Ask a supporting server to follow the client viewport
|
||||||
* - ``win:fpsMin``
|
* - ``win:fpsMin``
|
||||||
- automatic
|
- automatic
|
||||||
- Set the minimum redraw rate; 0 disables it and is not recommended
|
- Set the minimum redraw rate; 0 disables it and is not recommended
|
||||||
|
|||||||
@@ -22,6 +22,11 @@ Looking Glass Client
|
|||||||
are currently no distribution packages for it, so it must be built from
|
are currently no distribution packages for it, so it must be built from
|
||||||
source before installation.
|
source before installation.
|
||||||
|
|
||||||
|
Looking Glass Server
|
||||||
|
The Windows guest application that generates the video feed for the Looking
|
||||||
|
Glass client. There are broadly two implementations of the server: the
|
||||||
|
Looking Glass IDD and the legacy host application.
|
||||||
|
|
||||||
Looking Glass IDD
|
Looking Glass IDD
|
||||||
The recommended Windows Indirect Display Driver. It creates a virtual
|
The recommended Windows Indirect Display Driver. It creates a virtual
|
||||||
monitor, sends its frames to the client and provides direct keyboard and
|
monitor, sends its frames to the client and provides direct keyboard and
|
||||||
@@ -55,19 +60,19 @@ For a new installation, use:
|
|||||||
* the matching Looking Glass IDD in the Windows guest; and
|
* the matching Looking Glass IDD in the Windows guest; and
|
||||||
* SPICE only for the fallback or convenience services you need.
|
* SPICE only for the fallback or convenience services you need.
|
||||||
|
|
||||||
Use matching Looking Glass releases for the current client, IDD and OBS
|
Use matching Looking Glass releases for the current client, IDD and OBS plugin.
|
||||||
plugin. The shared-memory protocol changes between releases and incompatible
|
The shared-memory protocol changes between releases and incompatible components
|
||||||
components will not connect. Legacy Host users must use the complete matching
|
will not connect. Users of the legacy host application must use the complete
|
||||||
B7 stack described below.
|
matching B7 stack described below.
|
||||||
|
|
||||||
.. _legacy_host_policy:
|
.. _legacy_host_policy:
|
||||||
|
|
||||||
Legacy Host Application
|
Legacy Host Application
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
The Host Application is a legacy producer. The IDD is recommended because it
|
The Host Application is the legacy implementation of the Looking Glass server.
|
||||||
does not require a physical monitor or dummy plug and supports current display,
|
The IDD is recommended because it does not require a physical monitor or dummy
|
||||||
input and scheduling features.
|
plug and supports current display, input and scheduling features.
|
||||||
|
|
||||||
If your workflow specifically requires non-capture mouse input with the Host
|
If your workflow specifically requires non-capture mouse input with the Host
|
||||||
Application, B7 is the last recommended release. Use the matching B7 client,
|
Application, B7 is the last recommended release. Use the matching B7 client,
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ The current incomplete bucket is not plotted. This keeps the newest point from
|
|||||||
jumping as samples arrive. Each panel also keeps a stable vertical scale with
|
jumping as samples arrive. Each panel also keeps a stable vertical scale with
|
||||||
hysteresis, so read the millisecond axis when comparing panels.
|
hysteresis, so read the millisecond axis when comparing panels.
|
||||||
|
|
||||||
.. list-table:: Producer and transport stages
|
.. list-table:: Capture and transport stages
|
||||||
:widths: 18 82
|
:widths: 18 82
|
||||||
:header-rows: 1
|
:header-rows: 1
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ hysteresis, so read the millisecond axis when comparing panels.
|
|||||||
* - **Transport**
|
* - **Transport**
|
||||||
- Inferred publication-to-client delay for a frame matched to a cadence
|
- Inferred publication-to-client delay for a frame matched to a cadence
|
||||||
deadline. It is not an “IVSHMEM copy” measurement and is omitted when
|
deadline. It is not an “IVSHMEM copy” measurement and is omitted when
|
||||||
producer and client timing cannot be matched safely.
|
server and client timing cannot be matched safely.
|
||||||
|
|
||||||
.. list-table:: Client EGL stages
|
.. list-table:: Client EGL stages
|
||||||
:widths: 18 82
|
:widths: 18 82
|
||||||
@@ -95,7 +95,7 @@ hysteresis, so read the millisecond axis when comparing panels.
|
|||||||
- Time inside the display-server EGL swap call. It may include blocking
|
- Time inside the display-server EGL swap call. It may include blocking
|
||||||
in EGL or compositor submission, but not later physical scanout.
|
in EGL or compositor submission, but not later physical scanout.
|
||||||
|
|
||||||
Only guest frames actually consumed by EGL contribute producer samples.
|
Only guest frames actually consumed by EGL contribute server samples.
|
||||||
Superseded frames are not treated as latency samples. The minimum and maximum
|
Superseded frames are not treated as latency samples. The minimum and maximum
|
||||||
for each band are calculated independently, so the top of a minimum or maximum
|
for each band are calculated independently, so the top of a minimum or maximum
|
||||||
stack can combine stages from different frames. Use those panels to locate
|
stack can combine stages from different frames. Use those panels to locate
|
||||||
@@ -105,7 +105,7 @@ Cadence and Hold
|
|||||||
----------------
|
----------------
|
||||||
|
|
||||||
The Linux display and Windows guest have independent clocks. Looking Glass
|
The Linux display and Windows guest have independent clocks. Looking Glass
|
||||||
does not subtract their raw timestamps. The producer reports durations, while
|
does not subtract their raw timestamps. The server reports durations, while
|
||||||
periods, generations and deadlines identify a matching cadence event. The
|
periods, generations and deadlines identify a matching cadence event. The
|
||||||
Transport band is left absent when that match is not valid.
|
Transport band is left absent when that match is not valid.
|
||||||
|
|
||||||
@@ -120,7 +120,7 @@ the display instead of rounding it to 120 Hz.
|
|||||||
|
|
||||||
Investigate when Hold repeatedly exceeds roughly one guest frame period, or
|
Investigate when Hold repeatedly exceeds roughly one guest frame period, or
|
||||||
when jumps occur with large Post, Copy or Ready spikes. Those patterns can
|
when jumps occur with large Post, Copy or Ready spikes. Those patterns can
|
||||||
indicate producer work or scheduling delays rather than normal phase drift.
|
indicate server work or scheduling delays rather than normal phase drift.
|
||||||
|
|
||||||
Frame and photon summaries
|
Frame and photon summaries
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|||||||
@@ -97,7 +97,15 @@ When native HDR is unavailable, the client can map HDR content to SDR.
|
|||||||
Legacy Host compatibility
|
Legacy Host compatibility
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
The Windows Host Application is no longer the recommended producer. B7 is the
|
The Windows Host Application is no longer the recommended server implementation.
|
||||||
last recommended version for users who require its non-capture mouse input
|
It is missing many of the features available in the Looking Glass IDD, such as:
|
||||||
workflow. Use the complete matching B7 stack for that workflow rather than
|
|
||||||
mixing B7 and current components.
|
* Lack of video capture overhead;
|
||||||
|
* Usage without a monitor or dummy plug connected;
|
||||||
|
* Automatically resizing the guest to fit the client application viewport;
|
||||||
|
* HDR support; or
|
||||||
|
* Usage in virtual machines without GPU acceleration.
|
||||||
|
|
||||||
|
B7 is the last recommended version of the legacy host application for users who
|
||||||
|
require its non-capture mouse input workflow. Use the complete matching B7 stack
|
||||||
|
for that workflow rather than mixing B7 and current components.
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ KVMFR provides the Linux character-device interface used by the client and OBS
|
|||||||
and can export regions for direct GPU import.
|
and can export regions for direct GPU import.
|
||||||
|
|
||||||
The IDD stores frame queues, frame metadata, pointer updates and input protocol
|
The IDD stores frame queues, frame metadata, pointer updates and input protocol
|
||||||
state in this region. It uses three frame buffers so a producer and multiple
|
state in this region. It uses three frame buffers so a server and multiple
|
||||||
consumers can progress without overwriting a frame that is still in use.
|
clients can progress without overwriting a frame that is still in use.
|
||||||
|
|
||||||
.. _what_is_the_ivshmem_device_being_used_for:
|
.. _what_is_the_ivshmem_device_being_used_for:
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Troubleshooting
|
|||||||
###############
|
###############
|
||||||
|
|
||||||
Start with the symptom below. Avoid changing polling, synchronization or
|
Start with the symptom below. Avoid changing polling, synchronization or
|
||||||
renderer options until the basic producer, shared-memory and version checks
|
renderer options until the basic server, shared-memory and version checks
|
||||||
pass.
|
pass.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
@@ -22,8 +22,8 @@ The Looking Glass monitor is missing in Windows
|
|||||||
size and that at least one configured display mode fits.
|
size and that at least one configured display mode fits.
|
||||||
5. Increase IVSHMEM if every suitable mode was filtered. Restart the VM after
|
5. Increase IVSHMEM if every suitable mode was filtered. Restart the VM after
|
||||||
changing its size.
|
changing its size.
|
||||||
6. Ensure the legacy Host service is disabled. Only one frame producer should
|
6. Ensure the legacy Host service is disabled. Only one Looking Glass Server
|
||||||
use the Looking Glass IVSHMEM device.
|
implementation should use the Looking Glass IVSHMEM device.
|
||||||
|
|
||||||
A missing passed-through GPU does not by itself prevent the IDD display from
|
A missing passed-through GPU does not by itself prevent the IDD display from
|
||||||
appearing. The IDD can start in software mode, although that mode is slower and
|
appearing. The IDD can start in software mode, although that mode is slower and
|
||||||
|
|||||||
Reference in New Issue
Block a user