An extremely low latency KVMFR (KVM FrameRelay) implementation for guests with VGA PCI Passthrough.
Go to file
Quantum ffa72c7992 [host] nvfbc: force composition to capture some full screen apps
NvFBC is unable to capture certain applications that bypasses the DWM
compositor, for example, Firefox playing video in full screen. This
has been a known issue for a long time with Nvidia's ShadowPlay, see:
* https://www.nvidia.com/en-us/geforce/forums/geforce-experience/14/233709/
* https://crbug.com/609857

Nvidia won't fix this, but there are workarounds. For example, we
create a transparent 1x1 layered window, which forces desktop composition
to be enabled.

Note that SetLayeredWindowAttributes also supports alpha-based transparency,
but setting transparency to 0 will cause DWM to skip composition. We could
use a transparency of 1, but this ruins the image by the slightest bit,
which is unacceptable. Therefore, we must use chroma key-based
transparency, which tricks DWM into compositing despite being fully
transparent.
2021-01-21 12:14:03 +11:00
.github [github] update build workflow to update apt, and update deps 2021-01-20 22:51:00 +11:00
client [client] spice/wayland: fix jitter when moving the cursor slowly 2021-01-20 22:54:08 +11:00
common [common] fix invalid read from unaligned addresses (fixes #410) 2021-01-20 23:18:46 +11:00
contrib/redhat [meta] Add SELinux policy 2017-12-14 22:22:44 +11:00
host [host] nvfbc: force composition to capture some full screen apps 2021-01-21 12:14:03 +11:00
module [all] use explicit void parameter lists 2021-01-14 17:29:37 +11:00
obs [all] added new format version field to frame header 2020-10-12 18:52:37 +11:00
profile [all] use explicit void parameter lists 2021-01-14 17:29:37 +11:00
repos [all] updated LGMP and PureSpice submodules 2021-01-15 08:49:05 +11:00
resources [all] made a nicer icon, hopefully just a placeholder for now 2019-05-30 22:21:53 +10: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 [client] moved spice into a seperate repository 2020-01-31 21:39:57 +11: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] update Looking Glass website in README.md 2021-01-01 12:12:07 +11:00
version.cmake [cmake] remove --long from version.cmake 2021-01-01 12:10:35 +11:00

Looking Glass

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

Donations

I (Geoffrey McRae) am the primary developer behind this project and I have invested thousands of hours of development time into it.

If you like this project and find it useful and would like to help out you can support me directly using the following platforms.

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

Please also be sure to see the following files for more information Note: The README.md files are slowly being deprecated from this project in favor of the wiki at https://looking-glass.io/wiki, and as such the information in these files may be dated.

Latest Version

If you would like to use the latest bleeding edge version of Looking Glass please be aware there will be no support at this time.

Latest bleeding edge builds of the Windows host application can be obtained from:

https://looking-glass.io/downloads

Help and support

Web

https://forum.level1techs.com/t/looking-glass-triage/130952

Discord

https://discord.gg/4ahCn4c

IRC

Join us in the #LookingGlass channel on the FreeNode network

Trello