An extremely low latency KVMFR (KVM FrameRelay) implementation for guests with VGA PCI Passthrough.
Go to file
Quantum 37196f1f0e [client] config: disable JIT rendering by default
Without configuring Wayland compositors to send frame callbacks as late as
possible, JIT rendering can increase latency by more than one frame.

For example, by default, sway asks applications to render right after a
vblank, and does its own composition right after a vblank, resulting in
~2 frame's worth of latency. If max_render_time is set on the output,
it composes that many milliseconds before the vblank, losing ~1 frame's
worth of latency. If max_render_time is set on the window also, the frame
callback is sent that many milliseconds before composition, and we achieve
perfectly low latency.

Therefore, out of the box, JIT rendering should not be enabled, as manual
compositor configuration is required for optimal results.

For reference, the following sway settings results in the best latency:

    output <insert output name> max_render_time 1
    for_window [app_id="looking-glass-client"] max_render_time 1

This reverts commit 3baed05728.
2021-08-01 17:29:00 +10:00
.github [git] add libxcursor-dev to the git workflow 2021-07-31 18:26:29 +10:00
client [client] config: disable JIT rendering by default 2021-08-01 17:29:00 +10:00
cmake [all] cmake: fix OptimizeForNative 2021-07-25 13:46:13 +10:00
common [common] event: lgResetEvent should return the last state of the event 2021-08-01 17:14:58 +10:00
contrib/redhat [meta] Add SELinux policy 2017-12-14 22:22:44 +11:00
doc [doc] install: Update overlay mode keybinding 2021-08-01 12:11:02 +10:00
host [host] nvfbc: log error codes for various errors 2021-07-31 15:02:39 +10:00
module [all] normalize copyright on all source files 2021-06-06 11:53:05 +10:00
obs [all] make OPTIMIZE_FOR_NATIVE a tristate option 2021-07-24 12:35:17 +10:00
profile [all] cmake: use -march=x86-64-v2 when it becomes available 2021-07-24 12:35:17 +10:00
repos [spice] bump PureSpice version 2021-07-25 15:10:40 +10:00
resources [res] added LG logo vector graphics 2021-02-21 10:31:48 +11:00
vendor [c-host] windows: update ivshmem driver header and usage 2019-10-24 19:46:09 +11:00
.gitattributes [git] added vcxproj files to crlf exceptions 2017-10-31 20:19:52 +11:00
.gitignore [obs] implemented intial OBS Looking Glass Client plugin 2020-01-10 18:14:08 +11:00
.gitmodules [repos] added cimgui @ version 1.82 2021-07-17 21:09:51 +10:00
AUTHORS [all] add AUTHORS file 2021-06-06 12:59:59 +10:00
CONTRIBUTORS Fixed typo in word wish 2018-05-31 13:28:36 +10:00
LICENSE added licensing to sources 2017-10-31 19:07:16 +11:00
README.md [doc] README.md: Correct docs link 2021-05-25 20:04:16 +10:00
refresh-copyright [client] config: automatically update embedded copyright string 2021-07-31 14:57:24 +10:00
version.cmake [host] windows: add version resource 2021-07-21 12:32:41 +10:00

Looking Glass

An extremely low latency KVMFR (KVM FrameRelay) implementation for guests with VGA PCI Passthrough.

Documentation

IMPORTANT

This project contains submodules that must be checked out if building from the git repository! If you are not a developer and just want to compile Looking Glass, please download the source archive from the website instead:

https://looking-glass.io/downloads

Source code for the documentation can be found in the /doc directory.

You may view this locally as HTML by running make html with python3-sphinx installed.