Skip to content

Tags: mbrukman/LookingGlass

Tags

B5.0.1

Toggle B5.0.1's commit message
B5.0.1

Fixes a segfault if the video stream is disabled and the cursor is moved
into the window.

B5

Toggle B5's commit message
B5

After many months of hard work from our team, I am pleased to announce
Beta 5 which brings with it a huge number of improvements.

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

* [GitHub](https://github.com/sponsors/gnif)
* [Ko-Fi](https://ko-fi.com/lookingglass)
* [Patreon](https://www.patreon.com/gnif)
* [Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ESQ72XUPGKXRY)
* BTC - 14ZFcYjsKPiVreHqcaekvHGL846u3ZuT13
* ETH - 0x6f8aEe454384122bF9ed28f025FBCe2Bce98db85

Annoucement and Rundown Video:
* https://www.youtube.com/watch?v=1DHp74s3Smw

Changelog:

**B5**
* Documentation improvements
* Allow EGL usage with dmabuf on platforms without GL_EXT_buffer_storage
  suport.
* Fixed cursor grab retry logic (fixes issues on i3/awesomewm)
* Don't allow in-source builds.
* Wayland curor and keyboard related crash fixes
* jitRender performance optimizations on x11
* Added EWMH event support for better window focus tracking on x11

**B5-rc1**
* removed SDL displayserver
* reduced amount of GPU buffer allocations in DMABUF import path
* implemented frame damage tracking, used to reduce amount of data
  copies needed
* added frame damage display mode in EGL backend
* added cimgui/imgui to the project
* added frame timings collection and display
* improved LGMP cursor performance by releasing the memory faster
* implemented eglSwapBuffersWithDamage for X11
* don't allow the mouse to trigger redraws if the video feed is disabled
* New "Overlay Mode" which allows interaction with imgui windows/widgets
* Allow the FPS display to be moved
* Observe XDG_CONFIG_DIR when looking for the configuration
* Added EGL texture import timing graph
* Alerts are now rendered using ImGui
* Added high DPI support
* add JIT rendering mode for wayland
* improve fractional scaling for wayland
* made numbering of IVSHMEM devices consistent
* Added guest cursor warp support to the KVMFR protocol
* Added the ability to have post-processing filters
* Added AMD FidelityFX CAS post-processor
* Added AMD FidelityFX FSR upscaling post-processor
* add DMABUF import support in OBS plugin
* add keyboard LED synchronization
* fix EGL backend not being detected on some systems (e.g. mesa without
  libglvnd)
* fix cursor blinking issue on certain hardware
  (e.g. old Intel integrated graphics)
* Guest cursor is now aligned to the local cursor on window entry using
  guest cursor warp (Fixes mouse acceleration issues)
* add ability to reorder post-processing filters
* add ability to load and save post-processing filter presets.
* add ability to capture via xdg-desktop-portal+PipeWire on Linux
* windows host installers are now distributed as 64-bit executables

B5-rc1

Toggle B5-rc1's commit message
[release] B5-rc1

After many months of hard work from our team, I am pleased to announce Beta 5 Release Candidate 1 which brings with it a huge number of improvements.

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

* [GitHub](https://github.com/sponsors/gnif)
* [Ko-Fi](https://ko-fi.com/lookingglass)
* [Patreon](https://www.patreon.com/gnif)
* [Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ESQ72XUPGKXRY)
* BTC - 14ZFcYjsKPiVreHqcaekvHGL846u3ZuT13
* ETH - 0x6f8aEe454384122bF9ed28f025FBCe2Bce98db85

Changelog:

**B4-rc1**
* removed SDL displayserver
* reduced amount of GPU buffer allocations in DMABUF import path
* implemented frame damage tracking, used to reduce amount of data copies needed
* added frame damage display mode in EGL backend
* added cimgui/imgui to the project
* added frame timings collection and display
* improved LGMP cursor performance by releasing the memory faster
* implemented eglSwapBuffersWithDamage for X11
* don't allow the mouse to trigger redraws if the video feed is disabled
* New "Overlay Mode" which allows interaction with imgui windows/widgets
* Allow the FPS display to be moved
* Observe XDG_CONFIG_DIR when looking for the configuration
* Added EGL texture import timing graph
* Alerts are now rendered using ImGui
* Added high DPI support
* add JIT rendering mode for wayland
* improve fractional scaling for wayland
* made numbering of IVSHMEM devices consistent
* Added guest cursor warp support to the KVMFR protocol
* Added the ability to have post-processing filters
* Added AMD FidelityFX CAS post-processor
* Added AMD FidelityFX FSR upscaling post-processor
* add DMABUF import support in OBS plugin
* add keyboard LED synchronization
* fix EGL backend not being detected on some systems (e.g. mesa without libglvnd) (edited)
* fix cursor blinking issue on certain hardware (e.g. old Intel integrated graphics)
* Guest cursor is now aligned to the local cursor on window entry using guest cursor warp (Fixes mouse acceleration issues)
* add ability to reorder post-processing filters
* add ability to load and save post-processing filter presets.
* add ability to capture via xdg-desktop-portal+PipeWire on Linux
* windows host installers are now distributed as 64-bit executables

B4

Toggle B4's commit message
[doc] faq: Correct misinformed question about mouse warp issue

B4-rc3

Toggle B4-rc3's commit message
[host] dxgi: print out the adapter details earlier

Before we try and perhaps fail to init DXGI, we should print out what
the device is so that when there is an error report we can immediately
see if the user has the QXL device attached still.

B4-rc2

Toggle B4-rc2's commit message
[doc] faq: B4-rc2 touchups

B4-rc1

Toggle B4-rc1's commit message
[host] app: always send the cursor position to the client

If the guest VM is not showing a cursor when it starts such as on the
Windows login screen, the client never gets the current position of the
cursor, which prevents the client from attempting to send mouse
movements. This change ensures the client gets the mouse location on
startup.

B3

Toggle B3's commit message
B3

**NOTE** - B3 may have cursor issues with interaction with the WM, these
have already been addressed but did not make it in time for the B3
release.

**Additional Note** - The LG host log has been moved to
`%ProgramData%\Looking Glass (host)\looking-glass-host.txt`

A big thank you to the contributors that have helped to get Looking Glass to where it is today! Your support is greatly valued!

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

* [GitHub](https://github.com/sponsors/gnif)
* [Ko-Fi](https://ko-fi.com/lookingglass)
* [Patreon](https://www.patreon.com/gnif)
* [Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ESQ72XUPGKXRY)
* BTC - 14ZFcYjsKPiVreHqcaekvHGL846u3ZuT13

Changelog:

* OBS: Added full cursor support
* All: Added HDR RGB16 support
* Client: show system strerrr for failure to open shmem file
* All: added frame format version field and format change events to avoid checking on every frame.
* Client: new option `win:dontUpscale` to prevent upscaling.
* Client: new shortcut, <kbd>ScrLck+V</kbd> to toggle the video feed when using a dedicated monitor.
* Client: reworked event logic fixing several stutter issues
* Host: service won't start if there is no IVSHMEM devices available.
* Client: **Direct DMA Upload from IVSHMEM** for VM-VM configurations using the KVMFR module. (Removes a CPU memory copy). Note: Will not work with NVidia Linux GPU binary drivers due to lack of DMABUF support.
* Host: increased the cursor shape buffer size for large cursors (you may need to increase your ivshmem memory size!)
* Client: EGL only - Added Color Blind support for Protanope, Deuteranope and Tritanope (option `egl:cbMode`) as per http://www.daltonize.org/search/label/Daltonize
* Client: added large clipboard transfer support
* Client: now defaults to grabbing the keyboard when focused (shortcuts are now passed to the VM), can be disabled with `input:grabKeyboardOnFocus=n`
* Client: Spice input handling has been re-designed and is far improved.
* Cilent: Fixed bug with EGL initialization which prevented front-buffer rendering when doubleBuffering is disabled (default).
* Host: Installer much prettier thanks to @JJRcop
* Host: Fixed issue with launching on pre-windows 10 systems (note: I am not testing on anything older then Windows 10, YMMV)
* VM-VM Module: fixed building on 5.10 (note, `/dev/uio0` is now gone, use `/dev/kvmfr0` instead)
* Client: New option `input:ignoreWindowsKeys` to work around WMs that bind the key
* Client: New keybind <kbd>ScrLck+Windows</kbd> to passthrough the key to the guest for WMs that bind this key.
* Client: Now processes mouse input via XInput, giving access to raw mouse input while in capture mode (enable with `input:rawMouse`).
* Client: New `autoCapture` mode (disabled by default, enable with `input:autoCapture`), **tries** to keep the mouse captured without entering full capture mode when a game/application in the guest also has captured the mouse. Note this is NOT full capture mode and as such will not benefit from `input:mouseSens` or `input:rawMouse`. (please no bug reports for failure to hold onto the mouse, this is best effort only).
* Client: New `input:mouseSmoothing` option (enabled by default) which applies basic integration on the mouse movements when not in raw mode (capture enabled and `input:rawMouse` on). This helps to reduce aliasing artifacts in movements on the guest.
* Client: New `input:captureOnly` feature (default disabled) to only enable input via SPICE while in capture mode.
* Client: New `win:rotate` feature to rotate the display output (EGL only at this time).
* Client: New hotkey <kbd>ScrLck+R</kbd> to rotate the display on demand.
* Host: Now properly supports rotated display outputs.
* Client: Thanks to xyene and quantum on the VFIO discord, Wayland is mouse support is greatly improved and clipboard sync is now working. (NOTE: this is not an announcement of general Wayland support, Xorg is still the preferred platform due to Wayland limitations).
* Host: when installed as a service it is now able to capture the windows login screen.
* Host: Numerous QOL NvFBC fixes.
* Host: The service will now terminate if the application reports a fatal error, or the application is closed by the user via the tray icon.
* Host: Log moved to `%ProgramData%\Looking Glass (host)\looking-glass-host.txt`
* Host: Improvements to NvFBC cursor location tracking on startup
* Host: Stack trace is now logged if the Windows host application crashes
* Host: fix NvFBC sometimes not initializing during system boot

B3-rc1

Toggle B3-rc1's commit message
[client] spice: always show the pointer if using input:captureOnly

B2

Toggle B2's commit message
B2

Beta 2 Final Release
Changes since Beta 1

  * Don't hide the cursor when SPICE is disabled
  * The host application can now install and run as a service removing
    the need for PsExec or a scheduled task to start the application.
  * There is now a NSIS installer for the host application which
    installs the service and will handle seamless upgrades without the
    need to uninstall prior versions.
  * The host application now runs with `High` scheduler priority
  * The host application will now stop capture and go to sleep if there
    are no subscribers (clients).
  * The host application no longer opens the log file but instead shows
    it's location. This is to prevent the elevated process from being
    abused to run processes as the `SYSTEM` user account.
  * The client framebuffer copy spinlock is less agressive preventing
    CPU stalls on some systems due to starving the system scheduler.
  * Installing the spice guest tools no longer breaks mouse support.
  * Fixed EGL frame ordering bug.
  * Fixed frame limiter issues.
  * Better cursor icon support on initial connect.
  * The LG client can no longer be run as root.
  * Host now reports it's version to the client for logging and debug.
  * Client now reports host and client versions on mismatch.
  * Performance improvments to EGL.
  * New client option to capture input by default at startup.
  * Timers implemented for the linux host (now builds again).
  * SIMD implemented to improve framebuffer copy.
  * Don't stop the host LGMP timer when restarting capture.
  * Boost GPU kernel thread priority so vsync/frame limits are not.
    needed anymore.
  * OBS plugin now always fetches the most recent frame on the frame
    tick.
  * Improved frame sync logic in the client
  * Always use spice mouse host mode to fix issue with spice guest tools
    breaking mouse support.
  * LGMP submodule updated to incorporate fix that was causing random
    invalid timeouts.
  * [misc] minor readme update
  * [client] drop the default FPS target to 60 now that the fps is
dynamic

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.

* [GitHub](https://github.com/sponsors/gnif)
* [Ko-Fi](https://ko-fi.com/lookingglass)
* [Patreon](https://www.patreon.com/gnif)
* [Paypal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ESQ72XUPGKXRY)
* BTC - 14ZFcYjsKPiVreHqcaekvHGL846u3ZuT13