g_state.posInfoValid could become valid after the guest reports the
cursor position, in which case we did not show the cursor until another
update occurs.
This commit eliminates the race by performing the update when
g_state.posInfoValid becomes true.
Latest versions of QEMU are running out of PCIe mapping
through libvirt as the commandline device is mapping
ivshmem before other root devices.
Use JSON style configuration in the commandline block.
JSON arguments are loaded after all regular ones
and will guarantee to get loaded after all other libvirt mapped
PCIe devices.
For an unknwon reason when LG is on another desktop (hidden) and the
user switches to that desktop, the first attempt to grab the pointer
results in a GrabFrozen result. This adds some simple retry logic to
attempt again after a short (100ms) delay which seems to resolve the
issue.
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
If a new client connects but there has not been a capture timeout the
new client count wont be zeroed on a valid capture. If there is a
timeout later the host will still think there is a new client and
re-send a frame when it should not. This fixes this by reading the value
on a valid frame which zeros the new subs count.