Skip to content

Releases: gnif/LookingGlass

B7-rc1

09 Mar 07:55
Compare
Choose a tag to compare
B7-rc1 Pre-release
Pre-release

B7 Release Candidate 1 (B7-rc1)

After many months of hard work from our team, I am pleased to announce Beta 7 Release Candidate 1 which again contains a huge amount of changes along with some very exciting new features.

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
  • Ko-Fi
  • Patreon
  • Paypal
  • BTC - 14ZFcYjsKPiVreHqcaekvHGL846u3ZuT13
  • ETH - 0x6f8aEe454384122bF9ed28f025FBCe2Bce98db85
  • XMR - 47xM4zG7b2tEj4mnSywHve4ydZzn3wzhf22snDRB7aSEcXrgUBpoT2Z4phTnyFMi1sMyQtHbdufMYRQ2PzMn3PGUJAE1dpc

DirectX12

As many of you might be aware, LG has had a D3D12 back end in the DXGI capture interface for a while now. Unfortunately this back end has always been bugged with some synchronisation issues that have caused all sorts of issues which is why we never encouraged it's use and disabled it by default.

With a few recent discoveries and misuses (abuses?) of the DirectX12 API, we have found a way to create a ID3D12Resource (DX12's version of a texture) that is directly backed by memory we provide. As such we can create this texture directly inside the IVSHMEM shared memory, and then use the GPUs hardware copy engine to stream the textures directly from GPU directly into the shared memory segment.

We have been looking for a way do to this since the creation of this project, not only does it remove an additional memory copy, it offloads the copy we still need to perform from the GPU's render and compute engine.

Note: D12 still is using Microsoft's DXGI layer, but in a very different way, so it's still technically DXGI. It was just unfortunate that we
named the capture interface DXGI in Looking Glass in the first instance, confusing things.

Known Issues

It seems that some earlier AMD GPUs such as the RX570 and RX580 do not work with this new capture engine. If you have one of these GPUs if LG fails to initialize D12 it will fall back to the older capture engine, dxgi. This appears to be a driver bug in Windows and has been reported to the AMD Radeon Technology Group.

What does all this mean for you?

Lower latency, higher frame rates, lower memory bandwidth pressure, better performance in the guest, and enormously lower CPU usage. The difference this has made can not be overstated, this new capture backed is now faster and lighter then even the proprietary NvFBC interface from NVIDIA.

Combine this with the KVMFR module (provided you set it up) on the host system allowing the GPU to perform DMA transfers from shared memory, the CPU is no longer involved at all in shuffling any frame data directly anymore.

For laptop/iGPU users especially this has made a night and day difference. We have users reporting 300+UPS using the D12 capture interface, while also reporting an increased rendering performance in the guest VM.

What will happen to the old D3D12 copy backend?

We have removed the buggy and broken DirectX12 support from the older DXGI capture interface, and the new D12 capture interface is now the default unless you have overridden it in your looking-glass-host.ini file.

If you had dxgi configured to use the d3d12 copy backend in the host application's configuration file, it will now be ignored.

What will happen to the old DXGI capture interface?

It's not going anywhere, we know many people are using this on older versions of windows, and as the new D12 capture interface requires DirectX 12, obviously Windows 10 or later is required.

What about the Indirect Display Driver (IDD)

This was put on hold while the above was developed, debugged and tested to avoid needlessly duplicating testing and debugging effort. Once B7 has released focus will move almost entirely onto fininshing the Looking Glass IDD host.

Change Log

B7-rc1

  • Added the ability to specify the default playback and record devices
    for PipeWire
  • [EGL] fixed a rounding issue in the shaders on hardware that actually
    uses half precision floats (nvidia)
  • [X11] fixed issue with window managers (i3) that prevented focus
    following the mouse from working correctly
  • Detect and warn on improper guest CPU configuration
  • Update LGMP to support building under MSVC for the incoming Idd
    support
  • Fixed RGB10 support to handle both HDR and non-HDR content by means of
    HDR to SDR mapping (this does not mean HDR support in linux yet!)
  • added new input:captureOnFocus feature to automatically enter capture
    mode when the window has been focused by the user.
  • If the client is running on i3, make use of the IPC to allow LG to run
    global full screen (spans all monitors) if the new option
    i3:globalFullScreen is enabled.
  • added new win:requestActivation option to opt-out of activation
    requests from the guest
  • [X11] changed the cursor dot to a more visible cursor and added an
    optional larger cursor for the vision impared which may be enabled
    with the new option spice:largeCursorDot
  • [EGL] Added configuration parameters to disable and adjust the HDR to
    SDR mapping
  • [D12] Implemented new DirectX12 capture engine using DXGI Desktop
    Duplication
  • [DXGI & D12] Convert RGB16 to RGB10 when in HDR for a 50% memory
    transfer bandwidth saving (note that this has overheads and may not
    benefit everyone)
  • [DXGI] Removed buggy/broken D3D12 copyBackend
  • [doc] updated and restructured the documentation addressing various
    issues people have had with the installation and configuraiton of
    Looking Glass.

B6

20 Dec 02:37
Compare
Choose a tag to compare

After many months of hard work from our team, I am pleased to announce Beta 6 which again contains a huge amount of changes along with some very exciting new features.

Donations

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
  • Ko-Fi
  • Patreon
  • Paypal
  • BTC - 14ZFcYjsKPiVreHqcaekvHGL846u3ZuT13
  • ETH - 0x6f8aEe454384122bF9ed28f025FBCe2Bce98db85
  • XMR - 47xM4zG7b2tEj4mnSywHve4ydZzn3wzhf22snDRB7aSEcXrgUBpoT2Z4phTnyFMi1sMyQtHbdufMYRQ2PzMn3PGUJAE1dpc

Major New Features

Audio Support

Up until this release getting audio from the Virtual Machine has always been problematic. Looking Glass now supports the audio transport via the SPICE protocol. Currently we support output via PulseAudio and PipeWire so this should just work out of the box for most people. See the documentation for how to configure your Virtual Machine to make use of this feature.

For those that are not using SPICE for input or clipboard sync note that you can use just the audio component alone if you desire.

Thanks to a new team member @spencercw the new audio support has also been enhanced with audio skew compensation which corrects for audio clock drift between the virtual machine and your physical audio hardware and makes it possible to achieve extremely low latency audio.

Please note that there are still the usual limitations due to QEMUs implementation of the virtual audio hardware (Intel ICH), such as 48,000Hz 16-bit support only. Also the SPICE audio protocol does not support greater then two channels (stereo) output.

With these changes we no longer recommend or support the usage of alternative solutions such as QEMU direct audio output, or the SCREAM network audio device.

Virtual Display Support

Previously it was required to remove the virtual video device from the virtual machine leaving you blind if you have a VM issue, this is no longer the case. This update brings with it not only compatibility with the virtual device being present, but also the ability to use it.

If you have a virtual video device present and the Looking Glass host service has not started/crashed or you have disabled the video feed, the client application will fall-back to the SPICE display feed and show an indicator in the corner to show it has done this.

Please note that if the LG host application is not running or responding you will need to capture the mouse/keyboard (ScrollLock) to control VM via SPICE.

Change Log

B6

  • Added retry logic to NvFBC on restart failure
  • Improved the host warning output when the ini file is missing or corrupt.
  • wayland: implement window size setting for xdg-shell, This should allow win:autoResize to work on Wayland when the compositor supports such an operation.
  • [host] windows: log to stderr that logs will continue in file

B6-rc1

  • Installer now supports installing IVSHMEM drivers
  • Installer is now built with high DPI support
  • Audio via SPICE support added for PipeWire
  • Cursor scaling support added
  • Audio output & input via SPICE via PulseAudio and PipeWire added
  • Documentation has a new look based off of readthedocs
  • Refactored PureSpice and added logging
  • Enhance the KVMFR protocol to pass guest information to connected clients
  • If spice is in use, check that it's connected to the correct guest using it's UUID
  • Add LGMP memory corruption detection and recovery for more reliable startups
  • Added new message boxes when things go wrong
  • Playback and volume keys now supported in capture mode
  • Fixed incorrect drawing of masked color mouse pointers on EGL
  • Added the ability to specify a startup EGL filter preset (egl:preset=Name)
  • Audio stretching support was added thanks to @spencercw
  • Added forwarding of (Windows) guest window flashing to activation requests in hosts
  • Add microphone privacy features: prompt to allow/deny recording and input indicator glyph.
  • ScrollLock+Up/Down to simulate volume control keys and ScrollLock+M to simulate mute key in guest
  • Add new host side down-sample feature to DXGI D3D11 & NvFBC to reduce memory bandwidth & CPU load for DSR/VSR users.
  • Updated AMD FSR to v1.0.2
  • The input:escapeKey option can now accept string values such as KEY_F1, and will print a list of valid values if an invalid value is provided.
  • [X11] Positioning the window and setting full screen via config or command line now works as expected
  • Docs layout update with straightforward Usage section
  • Implemented spice display support
  • Added spice display fallback status indicator
  • Unified the splash screen for the renderers into an overlay
  • Added new win:overlayDimsDesktop option for easier A/B filter testing/comparisons.
  • Allow microphone recording to be stopped/restarted at will
  • [EGL] Fix incorrect window letter boxing causing garbage on the bottom edge of the screen in some scenarios
  • spice cursor channel is implemented, allowing hardware cursors to be displayed with spice video
  • fixed a wayland protocol error when toggling capture mode at the same time as closing the options overlay
  • fix a clipboard-related wayland crash in presence of misbehaving third party apps
  • allow default microphone state to configured at runtime
  • improve error message when no display server is loaded

B6-rc1

22 Sep 02:01
Compare
Choose a tag to compare

After many months of hard work from our team, I am pleased to announce Beta 6 Release Candidate 1 which again contains a huge amount of changes along with some very exciting new features.

Donations

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
  • Ko-Fi
  • Patreon
  • Paypal
  • BTC - 14ZFcYjsKPiVreHqcaekvHGL846u3ZuT13
  • ETH - 0x6f8aEe454384122bF9ed28f025FBCe2Bce98db85
  • XMR - 47xM4zG7b2tEj4mnSywHve4ydZzn3wzhf22snDRB7aSEcXrgUBpoT2Z4phTnyFMi1sMyQtHbdufMYRQ2PzMn3PGUJAE1dpc

Major New Features

Audio Support

Up until this release getting audio from the Virtual Machine has always been problematic. Looking Glass now supports the audio transport via the SPICE protocol. Currently we support output via PulseAudio and PipeWire so this should just work out of the box for most people. See the documentation for how to configure your Virtual Machine to make use of this feature.

For those that are not using SPICE for input or clipboard sync note that you can use just the audio component alone if you desire.

Thanks to a new team member @spencercw the new audio support has also been enhanced with audio skew compensation which corrects for audio clock drift between the virtual machine and your physical audio hardware and makes it possible to achieve extremely low latency audio.

Please note that there are still the usual limitations due to QEMUs implementation of the virtual audio hardware (Intel ICH), such as 48,000Hz 16-bit support only. Also the SPICE audio protocol does not support greater then two channels (stereo) output.

With these changes we no longer recommend or support the usage of alternative solutions such as QEMU direct audio output, or the SCREAM network audio device.

Virtual Display Support

Previously it was required to remove the virtual video device from the virtual machine leaving you blind if you have a VM issue, this is no longer the case. This update brings with it not only compatibility with the virtual device being present, but also the ability to use it.

If you have a virtual video device present and the Looking Glass host service has not started/crashed or you have disabled the video feed, the client application will fall-back to the SPICE display feed and show an indicator in the corner to show it has done this.

Please note that if the LG host application is not running or responding you will need to capture the mouse/keyboard (ScrollLock) to control VM via SPICE.

Change Log

B6-rc1

  • Installer now supports installing IVSHMEM drivers
  • Installer is now built with high DPI support
  • Audio via SPICE support added for PipeWire
  • Cursor scaling support added
  • Audio output & input via SPICE via PulseAudio and PipeWire added
  • Documentation has a new look based off of readthedocs
  • Refactored PureSpice and added logging
  • Enhance the KVMFR protocol to pass guest information to connected clients
  • If spice is in use, check that it's connected to the correct guest using it's UUID
  • Add LGMP memory corruption detection and recovery for more reliable startups
  • Added new message boxes when things go wrong
  • Playback and volume keys now supported in capture mode
  • Fixed incorrect drawing of masked color mouse pointers on EGL
  • Added the ability to specify a startup EGL filter preset (egl:preset=Name)
  • Audio stretching support was added thanks to @spencercw
  • Added forwarding of (Windows) guest window flashing to activation requests in hosts
  • Add microphone privacy features: prompt to allow/deny recording and input indicator glyph.
  • ScrollLock+Up/Down to simulate volume control keys and ScrollLock+M to simulate mute key in guest
  • Add new host side down-sample feature to DXGI D3D11 & NvFBC to reduce memory bandwidth & CPU load for DSR/VSR users.
  • Updated AMD FSR to v1.0.2
  • The input:escapeKey option can now accept string values such as KEY_F1, and will print a list of valid values if an invalid value is provided.
  • [X11] Positioning the window and setting full screen via config or command line now works as expected
  • Docs layout update with straightforward Usage section
  • Implemented spice display support
  • Added spice display fallback status indicator
  • Unified the splash screen for the renderers into an overlay
  • Added new win:overlayDimsDesktop option for easier A/B filter testing/comparisons.
  • Allow microphone recording to be stopped/restarted at will
  • [EGL] Fix incorrect window letter boxing causing garbage on the bottom edge of the screen in some scenarios
  • spice cursor channel is implemented, allowing hardware cursors to be displayed with spice video
  • fixed a wayland protocol error when toggling capture mode at the same time as closing the options overlay
  • fix a clipboard-related wayland crash in presence of misbehaving third party apps
  • allow default microphone state to configured at runtime
  • improve error message when no display server is loaded

B5

25 Dec 23:21
Compare
Choose a tag to compare
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.

Announcement and Rundown Video:

Changelog:

B5

  • Documentation improvements
  • Allow EGL usage with dmabuf on platforms without GL_EXT_buffer_storage suoport.
  • 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

14 Dec 08:23
Compare
Choose a tag to compare

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.

Changelog:

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

B4

17 Jul 23:39
Compare
Choose a tag to compare
B4

After many months of hard work from our team, I am pleased to announce Beta 4 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.

Changelog:

B4

  • Fixed an issue with mouse jitter induced when using NvFBC
  • Fixed a mouse warp bug under Wayland
  • Documentation improvements

B4-rc3

  • Fixed an issue where cursor shape corruption could occur on rapid shape changes.
  • Fixed an issue with NvFBC that could cause frame tearing.
  • Adjusted the host application to print out device information earlier to aid in debugging.
  • Minor optimization to NvFBC change detection logic.
  • Don't terminate the host if NvFBC flags protected content, instead wait until capture is available again.

B4-rc2

  • Added coloring to the client's terminal output for warnings/errors, etc.
  • default minimizeOnFocusLoss to off
  • Stopped the windows event code from generating false events.
  • Improved the windows event handling reducing CPU usage considerably.
  • Improved NvFBC performance by boosting the kernel thread priority as is done for DXGI.
  • Documentation improvements.

B4-rc1

  • SDL has been deprecated and is no longer needed to build the client
  • Help overlay for EGL when the escapeKey is held
  • Allow FPS display to be toggled at runtime with escapeKey+D
  • added win:autoScreensaver which automatically disables screensaver when requested by applications in the guest
  • VM->Host DMABUF support - https://looking-glass.io/docs/stable/module/#vm-host
  • asynchronous Wayland clipboard transfers
  • Release all keys when the client loses focus and prevent stuck keys when navigating away with window manager shortcuts. The old behavior can be restored with input:releaseKeysOnFocusLoss=no
  • Wayland feature parity with X11, scaling support, and improved compatibility
  • add an option to build with libdecor (-DENABLE_LIBDECOR=ON) for showing window decoration on GNOME Wayland
  • open log from taskbar notification icon is re-added with better security
  • improve cursor interactions with overlapping windows
  • documentation is now generated using sphynx and is now available as part of the CI builds on the website.
  • Fixed issue with large clipboard transfers failing
  • DXGI is now the default capture interface, NvFBC is still available but must be selected via the host configuration file.
  • DXGI CPU usage improved with smarter sleep timing in the frame thread
  • Fix issue with parsing configuration files saved in UTF8 format (Windows)
  • Client framebuffer copy performance improvements
  • EGL fixed issue with textures getting overwritten during drawing
  • OpenGL flickering issue fixed when not using a compositor
  • Old/incorrect cursor shape on initial client connection fixed.

B4-rc3

12 Jul 10:14
Compare
Choose a tag to compare

After many months of hard work from our team, I am pleased to announce Beta 4 Release Candidate 3 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.

Changelog:

B4-rc3

  • Fixed an issue where cursor shape corruption could occur on rapid shape changes.
  • Fixed an issue with NvFBC that could cause frame tearing.
  • Adjusted the host application to print out device information earlier to aid in debugging.
  • Minor optimization to NvFBC change detection logic.
  • Don't terminate the host if NvFBC flags protected content, instead wait until capture is available again.

B4-rc2

  • Added coloring to the client's terminal output for warnings/errors, etc.
  • default minimizeOnFocusLoss to off
  • Stopped the windows event code from generating false events.
  • Improved the windows event handling reducing CPU usage considerably.
  • Improved NvFBC performance by boosting the kernel thread priority as is done for DXGI.
  • Documentation improvements.

B4-rc1

  • SDL has been deprecated and is no longer needed to build the client
  • Help overlay for EGL when the escapeKey is held
  • Allow FPS display to be toggled at runtime with escapeKey+D
  • added win:autoScreensaver which automatically disables screensaver when requested by applications in the guest
  • VM->Host DMABUF support - https://looking-glass.io/docs/stable/module/#vm-host
  • asynchronous Wayland clipboard transfers
  • Release all keys when the client loses focus and prevent stuck keys when navigating away with window manager shortcuts. The old behavior can be restored with input:releaseKeysOnFocusLoss=no
  • Wayland feature parity with X11, scaling support, and improved compatibility
  • add an option to build with libdecor (-DENABLE_LIBDECOR=ON) for showing window decoration on GNOME Wayland
  • open log from taskbar notification icon is re-added with better security
  • improve cursor interactions with overlapping windows
  • documentation is now generated using sphynx and is now available as part of the CI builds on the website.
  • Fixed issue with large clipboard transfers failing
  • DXGI is now the default capture interface, NvFBC is still available but must be selected via the host configuration file.
  • DXGI CPU usage improved with smarter sleep timing in the frame thread
  • Fix issue with parsing configuration files saved in UTF8 format (Windows)
  • Client framebuffer copy performance improvements
  • EGL fixed issue with textures getting overwritten during drawing
  • OpenGL flickering issue fixed when not using a compositor
  • Old/incorrect cursor shape on initial client connection fixed.

B4-rc2

10 Jul 04:27
Compare
Choose a tag to compare

After many months of hard work from our team, I am pleased to announce Beta 4 Release Candidate 2 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.

Changelog:

B4-rc2

  • Added coloring to the client's terminal output for warnings/errors, etc.
  • default minimizeOnFocusLoss to off
  • Stopped the windows event code from generating false events.
  • Improved the windows event handling reducing CPU usage considerably.
  • Improved NvFBC performance by boosting the kernel thread priority as is done for DXGI.
  • Documentation improvements.

B4-rc1

  • SDL has been deprecated and is no longer needed to build the client
  • Help overlay for EGL when the escapeKey is held
  • Allow FPS display to be toggled at runtime with escapeKey+D
  • added win:autoScreensaver which automatically disables screensaver when requested by applications in the guest
  • VM->Host DMABUF support - https://looking-glass.io/docs/stable/module/#vm-host
  • asynchronous Wayland clipboard transfers
  • Release all keys when the client loses focus and prevent stuck keys when navigating away with window manager shortcuts. The old behavior can be restored with input:releaseKeysOnFocusLoss=no
  • Wayland feature parity with X11, scaling support, and improved compatibility
  • add an option to build with libdecor (-DENABLE_LIBDECOR=ON) for showing window decoration on GNOME Wayland
  • open log from taskbar notification icon is re-added with better security
  • improve cursor interactions with overlapping windows
  • documentation is now generated using sphynx and is now available as part of the CI builds on the website.
  • Fixed issue with large clipboard transfers failing
  • DXGI is now the default capture interface, NvFBC is still available but must be selected via the host configuration file.
  • DXGI CPU usage improved with smarter sleep timing in the frame thread
  • Fix issue with parsing configuration files saved in UTF8 format (Windows)
  • Client framebuffer copy performance improvements
  • EGL fixed issue with textures getting overwritten during drawing
  • OpenGL flickering issue fixed when not using a compositor
  • Old/incorrect cursor shape on initial client connection fixed.

B4-rc1

06 Jul 02:46
Compare
Choose a tag to compare

After many months of hard work from our team, I am pleased to announce Beta 4 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.

Changelog:

  • SDL has been deprecated and is no longer needed to build the client
  • Help overlay for EGL when the escapeKey is held
  • Allow FPS display to be toggled at runtime with escapeKey+D
  • added win:autoScreensaver which automatically disables screensaver when requested by applications in the guest
  • VM->Host DMABUF support - https://looking-glass.io/docs/stable/module/#vm-host
  • asynchronous Wayland clipboard transfers
  • Release all keys when the client loses focus and prevent stuck keys when navigating away with window manager shortcuts. The old behavior can be restored with input:releaseKeysOnFocusLoss=no
  • Wayland feature parity with X11, scaling support, and improved compatibility
  • add an option to build with libdecor (-DENABLE_LIBDECOR=ON) for showing window decoration on GNOME Wayland
  • open log from taskbar notification icon is re-added with better security
  • improve cursor interactions with overlapping windows
  • documentation is now generated using sphynx and is now available as part of the CI builds on the website.
  • Fixed issue with large clipboard transfers failing
  • DXGI is now the default capture interface, NvFBC is still available but must be selected via the host configuration file.
  • DXGI CPU usage improved with smarter sleep timing in the frame thread
  • Fix issue with parsing configuration files saved in UTF8 format (Windows)
  • Client framebuffer copy performance improvements
  • EGL fixed issue with textures getting overwritten during drawing
  • OpenGL flickering issue fixed when not using a compositor
  • Old/incorrect cursor shape on initial client connection fixed.

B3

20 Feb 23:12
Compare
Choose a tag to compare
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.

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, ScrLck+V 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 ScrLck+Windows 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 ScrLck+R 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