File looking-glass-client.changes of Package looking-glass-client

-------------------------------------------------------------------
Sun Dec 25 00:06:55 UTC 2022 - pousaduarte@gmail.com

- Update to version 20221209~B6:
  * [host] nvfbc: increase retry timeout to 1 second
  * [host] nvfbc: retry on failure to init
  * [client] wayland: implement window size setting for xdg-shell
  * [host] windows: log to stderr that logs will continue in file
  * [host] app: clarify that config file not found is not fatal
  * [obs] fix compatibility with updated LGMP build
  * [host] app: improve throttleFPS logic
  * [client] update LGMP to fix buffer overflow bug
  * [client] main: fix spice display fallback when waiting for LGMP upgrade
  * [host/client] lgmp: update to fix possible race issue
  * [host] app: correct timer restart on lgmp corruption recovery
  * [host] app: ensure that `rand` will be random
  * [host] lgmp: update LGMP again to fix bug in last update
  * [host] lgmp: update to fix failure to randomize the session ID
  * [module] swap offset & size in printk output for consistency
  * [module] cosmetics
  * [host] app: don't stop the lgmpTimer on session recovery
  * [client] remove non-prototype function declarations
  * [client] audio: use actual device period if larger than expected maximum
  * [obs] Fix function call causing crash on lgUpdate
  * [cmake] CheckSubmodule: check for nanosvg
  * [repos] nanosvg: convert to submodule
  * [client] keybind: fix typo

-------------------------------------------------------------------
Sun Sep 25 00:09:10 UTC 2022 - pousaduarte@gmail.com

- Update to version 20220921~B6rc1:
  * [repo] update PureSpice to fix cursor visibillity issue
  * [doc] install: fix forumla again
  * [doc] install: remove syntax highliting from ivshmem formula
  * [doc] install: cleanup ivshmem forumla formatting
  * [doc] install: be a bit clearer about calculating the ivshmem size
  * [client] spice: wait 1 second before attempting to use spice video
  * [doc] css: add custom style for <kbd> elements
  * [doc] usage: improve ini syntax documentation
  * [doc] usage: fix command name bolding
  * [client] opengl: render cursor in spice mode
  * [client] wayland: fix attempt to confine when pointer is locked
  * [client] egl: recalculate mouse position when toggling spice
  * [repos] update PureSpice to fix none cursor handling
  * [doc]: a bunch of consistency fixes
  * [client] main: add support for spice cursor channel
  * [client] render_queue: support cursor operations
  * [client] egl: support rendering cursors in spice display mode
  * [repos] update PureSpice to include cursor channel
  * [doc]: use arrow characters
  * [doc]: make title casing consistent
  * [doc]: `usage.rst`: update supported configuration options
  * [doc]: `usage.rst:`: add new keybindings
  * [doc] add common ivshmem sizes and additional warnings/notes
  * [doc] fix typo
  * [doc] add comment to state that NvFBC reads NVFBC_PRIV_DATA if set
  * [doc] added host usage documentation for DXGI and NvFBC
  * [doc] update copyright year
  * [doc] added spencercw to the words list
  * [doc] added spencercw to the LG docs credits
  * [resources] adjusted spacing on updated icon
  * [resources] updated icons to the correct glyph
  * [doc] update FAQ regarding Audio support
  * [doc] reorder and update installation section
  * [doc] fix another typo
  * [doc] fix my inabillity to spell :)
  * [doc] reorder install to before usage and change information re IVSHMEM
  * [doc] add requirements page
  * [client] x11: set _NET_WM_PID
  * [client] egl: fix usage `destRect, 0x0 is top left
  * [client] wayland: handle wl_data_source.target action
  * [obs] Allow the client to auto-recover
  * [client] egl: fix the incorrect mask for dmabuf plane0 modifier
  * [client] egl: add support for EGL_EXT_image_dma_buf_import_modifiers
  * [client] keybind: add ScrollLock+C to cycle microphone defaults
  * [client] main: move micDefaultState into g_state
  * [client] main: better error when no display server is available
  * [client] displayservers: add name field
  * [host] fix building under void linux
  * [all] add 0xdc to AUTHORS
  * Add a setting that hides the mouse cursor
  * [client] x11: add dependency on xkbcommon
  * [client] wayland: correctly convert scan codes to numbers
  * [client] all: use the defined keyboard mapping for keybinds
  * [module] Bump kvmfr module to 0.0.8 after latest fix for Kernel 5.18
  * [github] Add initial CODEOWNERS file for docs/
  * [common] appstrings: Amend blurb for jjrcop with fluff
  * [client] wayland: fix infinite resize loop
  * update AUTHORS
  * [module] fix compile on 5.18
  * [client] main: fix failure to startup when the guest VM has no UUID
  * [client] wayland: deal getting scale before size
  * [ci] switch to checkout v2
  * [client] cmake: pass -Wstrict-prototypes for C files only
  * [all] cmake: standardize indentation to 2 spaces
  * [client] app: fix segfault when jitRender + spice display is in use
  * [client] overlay/status: re-rasterize at high DPI when needed
  * [client] overlay/graphs: allow unregistering after shutdown
  * [client] interface: remove needsRender from renderers
  * [client] render_queue: fix failure to show spice at startup
  * [client] main: don't start the overlay tick timer until init is done
  * [client] spice: fix duplicate keybind registration
  * [client] splash: added LG url, version and copyright strings
  * [client] egl: perform full damage if a post processing option is changed
  * [client] app: add option to disable dimming in overlay mode
  * [client] config: cosmetics
  * [client] splash: add back support for win:quickSplash
  * [client] audio: allow microphone recording to be toggled after dialog
  * [client] main: remove micAlwaysAllow from g_params
  * [client] audio: switch to use config value audio:micDefault
  * [client] config: replace audio:micAlwaysAllow with audio:micDefault
  * [client] main: add micDefaultState to state and params
  * [client] splash: pre-calculate & cache the radial gradient vectors
  * [client] spice: wait for the spice connection to finish at startup
  * [client] main: don't show the splash when transitioning to spice
  * [client] egl: remove no longer used drawing functions
  * [client] egl: remove unused splash shaders
  * [client] all: unify the LG splash screen into an overlay
  * [client] add SVG loading support and use icons for status display
  * overlay: move init/free to the context of the render thread
  * [client] update PureSpice submodule for uncompressed video support
  * [client] main: fix race condition on usage of events
  * [client] spice: delay showing the spice display until spice is ready
  * [client] spice: update PureSpice to fix display disconnection issue
  * [client] egl: add spice display support
  * [client] spice: initialize new surfaces to black
  * [client] spice: more fixes to video source transition
  * [client] app: better handling of transition to/from spice display
  * [client] egl: added missing case from texture init
  * [client] egl: implemented SPICE display support
  * [client] egl: check for null before free
  * [client] egl: fix mistake in rect clamping
  * [client] spice: added initial framework for spice display fallback
  * [client] update PureSpice submodule
  * [client] egl: allow for partial texture updates
  * [client] spice: update submodule to apply new socket handling changes
  * [host] nvfbc: try all NVIDIA adapters in the system
  * [host] dxgi: fix incorrect skip logic
  * [host] dxgi: don't try to use devices without d3d support
  * [client] egl: only upload the damage rects if they actually changed
  * [host] capture: fix compilation with NvFBC C++ sources
  * [common] Update framebuffer metadata + references
  * Update AUTHORS
  * [client] x11: set window posision before entering fullscreen
  * [doc] allow monero (XMR) crypto addresses
  * [doc] add XMR to the list of valid words
  * [client] overlay/config: general UX changes
  * [common/doc] add monero (XMR) donation address
  * [doc] usage: Update Full Command Line Options
  * [doc] usage: Move Command Line Options to the top
  * [doc] build: Change link text leading to client_install
  * [doc] build: Change Client Building notes to full cmake commands
  * [doc] build: Adjust flow of Client Building section
  * [doc] usage: Move client install instructions to install.rst
  * [doc] Create usage.rst from install.rst No edits
  * [client] x11: check for null data from XGetWindowProperty
  * [client] spice: fix spice shutdown race
  * [client] config: enhance input:escapeKey to accept a KEY_* string value
  * [client] main: add new option for integer only upscaling
  * [client] egl: update AMD FSR to 1.0.2
  * [host] nvfbc: add downscale support
  * [host] linux/pw: add missing include for `min` define
  * [host] xcb/pipewire/nfbc: use `min` and correct inverted logic
  * [host] nvfbc: fix inverted truncated frame logic
  * [client] fix invalid bitwise comparison
  * [host] pw: fix build due to frame info structure changes
  * [host] xcb: fix build due to frame info structure changes
  * [host] nvfbc: fix build due to frame info structure changes
  * [host] dxgi: check for invalid usage of d3d12 & downsampling
  * [host] dxgi: refactor dxgi_copyFrame
  * [host] dxgi: match the last entry in the downsample rule list
  * [host] dxgi: finish downsample support for d3d11 backend
  * [host] dxgi: fix failure to copy to texture with sub resources
  * [client/obs] update to support downscaled frames coming from the host
  * [host] dxgi: add support for downsampling the capture before sending
  * [client] audio/pw: pw_stream_get_time() deprecated
  * [all] Add Babbaj to AUTHORS
  * [client] audio/pw: fix muting
  * [client] overlay/record: do not invalidate window during shutdown
  * [client] audio: display record indicator when necessary
  * [client] config: add new option audio:micShowIndicator
  * [client] overlay: add record indicator
  * [client] audio: avoid prompting when changing record format
  * [client] audio: cancel confirm dialog when a new recording starts
  * [client] audio: prompt before allowing audio
  * [client] config: add new audio:micAlwaysAllow option
  * [client] audiodevs/pipewire: implement proper recording stop/restart
  * [client] overlay/msg: fix type for app_msgBoxClose
  * [client] overlay: add support for confirmation dialogs
  * [client] core: remove state tracking in core_updateOverlayState
  * [host] xcb: fixed early start of pointer thread by adding xcb_start
  * [client/common] fixes for issues detected through static analysis.
  * [client] overlay: make "Show timing graphs" checkbox consistent in case
  * [host] dxgi: add nanosecond-scale sleep capability to d3d12
  * [client] input: fix confine_pointer argument marshalling
  * [client] enforce building with -Wstrict-prototypes
  * [client] kb: update for ImGui 1.87
  * [client] update cimgui submodule
  * [client] audio: reduce hardcoded minimum latency
  * [client] audio: reduce resampler latency
  * [client] audio: use block comments
  * [client] audio: add latency tuning parameter
  * [client] audio: make the requested audio device period size configurable
  * [client] audio: fix latency calculation if audio device starts early
  * [client] audio/pa: wait until stream is ready before starting playback
  * [client] audio/pa: fix assertion failure when keep alive playback stops
  * [common] allow building with -Wstrict-prototypes
  * [host] build with -Wstrict-prototypes
  * [client] allow building with -Wstrict-prototypes
  * [all] update submodules
  * [client] audio/pw: request real-time priority
  * [client] audio: open device earlier
  * [common] appstrings: add spencercw
  * [host] linux: remove useless libX11 dependency
  * [host] linux: remove useless GL dependency
  * [host] ci: install pipewire on Linux
  * [host] linux: build with PipeWire by default
  * [client] main: fix invalid bit logic
  * [all] convert KVMFR frame bools to flags in a bitfield
  * [client] x11: added request activation support
  * Revert "[client] x11: check if the EWMH atoms exist before using them"
  * [client] x11: check if the EWMH atoms exist before using them
  * [client] audio: keep audio device open after playback
  * [client] audio: increase startup latency
  * [client] spice: update submodule to disable audio draining
  * [client] x11: Add inline icon
  * [host] cleanup some missing (void) parameters
  * [client] ci: stop installing wayland-protocols from apt
  * [client] wayland: use `wayland-protocols` from submodule
  * [repos] add `wayland-protocol` submodule
  * [client] main: fix failure to check KVMFR udata at connect
  * [client] egl: use texture sampler for desktop
  * [client] egl: remove extra sampler from TextureBuffer
  * [host] windows: plumb guest activation request to host
  * [host/client] kvmfr: request activation based on guest state
  * [client] ci: install newer wayland-protocols repository
  * [client] main: request WM activation on first frame
  * [client] wayland: activate our window if we're allowed
  * [client] ds: expose activation requesting
  * [client] wayland: implement activation request
  * [client] wayland: bind `xdg_activation_v1` when available
  * [client] wayland: build xdg-activation-v1 header
  * [client] audio/pw: increase startup latency
  * [client] audio: tune target latency
  * Revert "[client] audio: tune the target latency based on the latency jitter"
  * Revert "[common] option: fix bounds check in the argument parser."
  * [common] option: fix bounds check in the argument parser.
  * [client] audio: tune the target latency based on the latency jitter
  * [client] audio/pw: get the period size to determine when to start audio
  * [client] audio: change the audio latency graph sample point
  * Revert "[client] audio: allow the audiodev to return the periodFrames"
  * [client] audio: fix setfault due to failure to properly reset
  * [common] rb: correct invalid accesses of atomics
  * [github] add libsamplerate0-dev to the workflow
  * [doc] build: add missing audio dependencies
  * [client] audio: allow building without any audio support
  * [client] audio: check for malloc failure
  * [client] audio: cosmetics
  * [client] audio: allow the audiodev to return the periodFrames
  * [client] audio: adjust playback speed to match audio device clock
  * [common] ringbuffer: add unbounded mode
  * [client] audio: stop playback immediately if new playback is started
  * [client] audio/pw: drop restarting state
  * [client] audio/pw: drop redundant flushing state
  * [host] linux: allow getting system version
  * [host] nvfbc: shorten nvfbc_getName() result
  * [host] windows: read ProductName from registry if possible
  * [host] app: don't read from UUID if none is returned
  * [client] egl: use a sigmoid curve for nv
  * [client] main: fix heap-buffer-overflow on cursor update
  * [host] windows: report windows version information
  * [host] app: report the full capture name to the client
  * [client] fix race segfault on pointer queue unsubscribe/timeout
  * [client] egl: set the active preset if specified at launch
  * [client] egl: fix null pointer access when no preset is set
  * [client] egl: added `egl:preset` to load a default preset at startup
  * [client] egl: make egl less noisy unless debug is specified
  * [client] x11: cleanup duplicated code
  * [client] x11: sync the mouse on meta resize
  * [client] x11: fix failure to unfocus when performing meta resize/move
  * [client] egl: fix masked color cursor blend operation for xor drawing
  * [client] egl: properly apply xor mask to masked color cursors
  * [common] ivshmem: fix memory leak
  * [common] ivshmem: check for failure to find a device
  * [client] core: redraw cursor after warping guest cursor
  * [client] overlay: realign cursor when turning off overlay
  * [client] egl: fixed incorrect drawing of masked color cursors
  * [client] opengl: fix startup since ImGui upgrade
  * [client] main: only copy the needed cursor data instead of everything
  * [client] main: lgmpClientMessageDone is not idempotent
  * [client] egl: remove duplicate #include "app.h"
  * [client] opengl: make draw functions static
  * [client] spice: update the submodule to fix invalid header errors
  * [client] audio: report the buffered frames and not the buffer length
  * [doc] build: Add source comment for listing deps
  * [client] audio: fix failure to properly handle restart if draining
  * [client] audio: fix use after free race
  * [client] spice: update PureSpice submodule to reduce audio latency
  * [client] audio: move the memory copy into the pull function
  * dxgi: check for memory leaks in d3d12
  * dxgi: cosmetics
  * dxgi: cache shared handles instead of re-creating them
  * [client] audio: allow the audiodev to determine the start fill level
  * [client] audio: fix latency calculation
  * [client] audio: don't lock when consuming frames from the buffer
  * [client] audio/pw: return the actual playback latency
  * [client] audio: tell the audiodev to stop on the last packet, not after
  * [client] audio: remove duplicated line
  * [client] audio: drain buffers on stop instead of just discarding them
  * [client] audio: rework audiodevs to be pull model from a common buffer
  * [client] graphs: overlay on removal of graph
  * [client] audio: redraw the graphs if they have been updated
  * [client] audio: reduce timing graph sample count to 30 seconds
  * [client] audio: add audio playback latency interface and graph
  * [client] audio/pw: fix memory leak and gracefully shutdown
  * [client] overlay/graph: actually remove unregistered overlays
  * [client] overlay/graphs: allow the graph to have a custom title format
  * [client] app: allow key-repeat to work with keybinds
  * [client] main: don't use Linux keybinds if the guest is not Linux
  * [host] dxgi: remove duplicate AcquireLock print
  * [host] dxgi: allow the debug layer to be turned on via config
  * [host] dxgi: add ability to capture OutputDebugMessage
  * [vendor] directx: add d3d12sdklayers.h
  * [host] dxgi: move d3d12.h to vendor/directx
  * [client] Add capture mode support for media keys
  * [client] Add support for volume keys in capture mode
  * [client] imgui: allow arrows to be displayed
  * [client] spice: allow volume control keys to be sent to the guest
  * [client] input: avoid reentrancy when realigning guest cursor
  * [common] linux/time: fix memory leak
  * [client] egl: increase texture processing timeout
  * [module] fix compile on 5.16
  * [host] dxgi: fix frame damage method parameters
  * [client] x11: don't use primary selection for clipboard
  * [host] dxgi: fix d3d11 assertion failure
  * [client] spice: update submodule to fix corrpution during connect
  * [common] linux: replace `create_timer` with a single threaded timer
  * [client/common] move ll from the client into the common code module
  * [client] all: remove `ll_walk` and migrate over to `ll_forEachNL`
  * [client] ll: fix error in ll_forEachNL macro
  * [client] msg: add missing header file
  * [client] close message boxes if the client connects
  * [client] spice: fix memory leak
  * squash with ll
  * [client] overlay/msg: provide a method to close messages from code
  * [client] ll: add new functionallity to allow removal of items
  * [client] spice: update submodule to prevent segfault on shutdown
  * [client] spice: update submodule to fix double free bug
  * [host] dxgi: Replace standard asserts with `DEBUG_ASSERT`
  * [client] audio/pw: use rate matching
  * [client] audio/pw: set maximum node latency
  * [client] audio/pw: delay playback to avoid glitches
  * [client] audio/pw: flush playback buffers before stopping
  * [client] audio/pw: don't discard playback data
  * [host] dxgi: add configurable sleep before D3D12 copy
  * [host] dxgi: add option to disable damage-aware copies
  * [host] dxgi: allow copy backend selection
  * [host] dxgi: add preRelease callback
  * [host] dxgi: implement Direct3D 12 texture copy backend
  * [host] dxgi: add d3d12.h from latest MinGW
  * [host] dxgi: refactor to support additional copy backends
  * [host] lgmp: update repo to fix compliler error
  * [client] core: fallback to manual realignment if the LGMP message fails
  * [host] lgmp: update submodule to fix memory alignment issues
  * [host] app: dont use pointers when realloc may have changed them
  * [host] cmake: add ubsan and asan to CMake (needs clang64 on windows)
  * [host] dxgi: damage all textures when skipping frame
  * [client] main: added user feedback during LGMP/KVMFR version check
  * [client] msg: allow messages to contain blank lines and separators
  * [client] spice: upgrade submodule to avoid errors on intentional stop
  * [client] spice: show message when connected to the wrong guest
  * [client] overlay: add modal message dialog support
  * [client] overlay: add `app_invalidateOverlay` method
  * [client] app: move all alert management into overlay/alert.c
  * [client] overlay: add 25Hz `tick` function
  * [client] imgui: render twice for alerts
  * [client] imgui: update to cimgui 1.86
  * [client] main: print guest CPU socket count information
  * [host] app: send CPU socket count information
  * [common] kvmfr: add field for CPU socket count
  * [client] cpuinfo: implement CPU socket count for Windows
  * [client] cpuinfo: implement CPU socket count for Linux
  * [common] cpuinfo: add sockets to interface
  * [client] audio: remove more debug output spam
  * [client] audio: remove debug spam
  * Update AUTHORS
  * [host] nvfbc: Fix dwmapi linking error
  * [client] audio/pw: implement record support
  * [client] audio: don't call `record.mute` if it's not supported
  * [client] audio/pw: fixed another search/replace mistake
  * [client] audio/pw: fix search/replace error
  * [client] audio/pw: refactor to use `playback` for playback methods
  * [client] audio: implement record interface and glue
  * [client] audio: always store the volume & mute state for restore
  * [client] audio: move audio code into it's own unit
  * [client] audio: refactor `audio` to `playback` and add `record` funcs
  * [host] windows: fix usage of MCSS and try to get priority "Capture"
  * [host] windows: set DwmFlush default to off
  * [host] nvfbc: add DwmFlush here too as it makes a large difference
  * [host] windows: opt into the Multimedia Class Schedule Service
  * [host] dxgi: use DwmFlush to sync to presentation interval
  * [client] main: failure to find a renderer is an error
  * [client] main: format the guest information a bit better
  * [client] main: move checkUUID to after informational prints are done
  * [client] main: fix reversed check logic from testing/debug
  * [client] main: if spice is in use check the guest uuid matches
  * [host] windows: parse the UUID from the SMBIOS
  * [obs] allow for the larger KVMFR header size now
  * [host] app: implement stubs for platform specific guest information
  * [client] main: fix out by one error in the bounds check for os type
  * [client] main: parse the KVMFR records and log the details
  * [host] app: zero memory allocated for lgmp userdata
  * [common] only define min/max if they have not already been defined
  * [all] refresh copyright dates
  * [all] move min/max and upcast macros into `common/util.h`
  * [host] nvfbc: fix failure to startup
  * [host] app: remove debug line and fix my failure to count
  * [host] app: fix out by one compiler warning
  * [host/client] kvmfr: update to include extra user data about the VM
  * [client] spice: update PureSpice submodule to fix UUID format bug
  * [client] egl: check for null gl strings
  * [client] spice: update PureSpice submodule
  * [client] fix accidental submodule version change
  * [all] ci: libdecor-dev is now libdecor-0-dev
  * [host] intiialize the app state earlier to prevent ovewriting re-inits
  * [client] spice: allow spice startup to happen in parallel
  * update purespice submodule
  * [client] don't report a spice error on graceful shutdown
  * [client] main: release the grab if the host application is stopped
  * [host] correct reinit logic when LGMP corruption is detected
  * [host] detect header corruption and re-initialize if so
  * [client] undo commented code from debugging
  * [host] lgmp: update to fix regression in initialization of the header
  * [host] lgmp: update the lgmp submodule
  * [client] spice: update submodule and update to use new PSConfig members
  * [client] spice: update submodule for improved logging
  * [client] spice: update PureSpice submodule and adjust for new API usage
  * [common] provide debug print methods for dependent libraries to use
  * [client] spice: update PureSpice submodule and update includes
  * [client] spice: update submodule and refactor calls & types
  * [host] pipewire: report stream state
  * [version.cmake] Add reminder to synchronize git-describe with docs/lgrelease.py
  * [doc] fix typo and add `Debian` to the word list
  * [host] app: support force quitting
  * [doc] add link to the wiki for dependencies on other distributions
  * [client] egl: determine mouse scale using both horiz and vert size
  * [doc] build: Fix apt command overflowing page
  * [host] pipewire: use new format for 10-bit colour
  * [client] egl: simplify EGL torus code
  * [client] core: set the correct cursor when exiting overlay
  * [client] core: invalidate the pointer state when overlay is disabled
  * xcb: added basic cursor support via xcb_fixes
  * xcb: Fixed return value of xcb_deinit
  * xcb: added xcb_stop and xcb_initOptions support
  * [client] core: don't try to send LGMP messages if the video is stopped
  * [doc] Minor cleanup to release spelling check
  * [doc] Version no longer gets spellchecked
  * [client] audio/pw: it's Looking Glass, not LookingGlass
  * [client] ci: add new libpulse-dev dependency
  * [client] audio/pa: added initial pulseaudio implementation
  * [doc] conf: Fix typo in release git-describe command
  * [docs] all: Change nav background from transparent to explicit
  * [docs] all: Fix mobile layout
  * [doc] all: Center content when there's room
  * [docs] all: Switch to sphinx-readthedocs-theme
  * [doc] automatically detect version
  * [host] installer: enable DPI awareness
  * [host] ci: test IVSHMEM installer build
  * [host] installer: add ability to install IVSHMEM driver
  * [host] installer: clean up trailing whitespace
  * [host] nvfbc: add an option to specify adapter
  * [client] audio/pw: use scaling forumula provided by quantum
  * [client] audio/pw: implement volume and mute control
  * [client] audio: update PureSpice and add support for volume control/mute
  * [client] audio/pw: gracefully shutdown when asked to
  * [client] audio: call audioDev->free on spice thread exit
  * [client] ci: build with PipeWire
  * [client] audio/pw: don't re-create an idle stream with matching format
  * [client] audio/pw: limit how much data gets buffered to reduce latency
  * [client] audio/pw: make use of the new ringbuffer consume/append funcs
  * [common] ringbuffer: remove exta locking and add append/consume funcs
  * [client] audio/pw: properly manage the stream state
  * [client] audio/pw: set the node name
  * [client] audio/pw: don't actually stop when SPICE signals a stop
  * [client] audio: initial addition of PipeWire audio support via SPICE
  * [common] ringbuffer: added shift and locking for thread safety
  * [client] egl: keep the mouse cursor 1:1 when downscaling

-------------------------------------------------------------------
Sun Dec 26 12:41:05 UTC 2021 - pousaduarte@gmail.com

- Update to version 20211226~B5:
  * [docs] Minor semantic spit and polish
  * [doc] spelling fixes
  * [doc] module: Kernel Module polish
  * [doc] install: Update command line options
  * [doc] install: Overlay Filter config polish
  * [doc] install: Overlay Mode polish
  * [doc] conf: Whitespace
  * [doc] install: Config file loading polish
  * [doc] obs: Install polish
  * [doc] faq: GNOME on Wayland polish
  * [docs] build: Better flow for Wayland tip
  * [host] dxgi: fix typo in debug log message
  * [all] gitignore: ignore __pycache__ and *.py[co]
  * [host] nvfbc: fix comments in updateDamageRects
  * [client] input: fix race between window size and guest cursor
  * [doc] module: Bring back older style XML
  * [client] wayland: handle NULL wl_keyboard on destruction
  * [client] wayland: don't create confines on uncapture without wl_pointer
  * [client] wayland: create wl_relative_pointer when creating wl_pointer
  * [client] wayland: clean up objects when wl_pointer disappears
  * [client] x11: don't override the focus state if no EWMH focus support
  * [client] x11: be more agressive grabbing the pointer
  * [doc] module: Modify libvirt commandline block to use JSON
  * [client] x11: protect against msc overflow with jitRender
  * [client] x11: don't use the atomic msc value when we already have it
  * [client] wayland: make cursor change work without wl_pointer
  * [all] cmake: refuse to perform in-source builds
  * [client] egl: dmabuf can be used without GL_EXT_buffer_storage support
  * [client] x11: fix broken grab retry logic
  * [client] x11: work around issue with desktop switch on i3
  * [client] x11: properly detect WMEH support for focus events
  * [docs] obs: fix installation instructions grammar

-------------------------------------------------------------------
Thu Dec 16 11:06:21 UTC 2021 - pousaduarte@gmail.com

- Update to version 20211214~B5rc1:
  * [client] egl: handle eglQuerySurface(EGL_BUFFER_AGE_EXT) error
  * [client] x11: fix issue with grab when clicking on the unfocused window
  * [client] x11: cosmetics
  * [all] cmake: fail if wrong submodule version is checked out
  * [client] egl: increase the damage box for the cursor
  * [client] egl: use linear filter when not scaling
  * [client] x11: fix failure to set window position correctly when set
  * [docs] obs: update instructions to make use of `USER_INSTALL`
  * [client] egl: make use of glsl's textureSize function
  * [client] main: fix buffer overflow due to cursor data size change
  * [common] time: fixed time values in nsleep
  * [client] main: malloc buffer for cursor data instead of using the stack
  * [host] nvfbc: be more intellegent when unionizing disjointed sets
  * [common] rects: fix error introduced in cosmetics patch
  * Revert "[common] rects: fix damage regression introduced in the cosmetics patch"
  * [common] rects: fix damage regression introduced in the cosmetics patch
  * [client] egl: use `alloca` instead of typecasted char array
  * [common] rects: fix return value of `removeRects`
  * [common] rects: de-dup code and don't needlessly copy rect over itself
  * [common] rects: cosmetics
  * [common] fix out by one error in `rectsIntersect`
  * [client] egl: reset damage on renderer restart
  * [client] egl: damage the full screen if the frame format changes
  * [doc] install: Add instructions to disable memballoon in libvirt
  * [doc] spelling: add "dejavu" to word list
  * [doc] build: update dependencies for post-B4 changes
  * [common] rects: fix rectIntersects
  * [host] app: zero the new client sub count
  * [client] x11: handle EINTR properly in epoll loop
  * [client] egl: fix undefined behaviour with zero size array
  * [doc] module: Add unloading note for manual install
  * [doc] Move DKMS above manual and mark recommended
  * [client] egl: fallback when EGL_RENDER_BUFFER fails
  * [client] egl: log glCheckFramebufferStatus error
  * [client] egl: blame NVIDIA if dmabuf fails on NVIDIA hardware
  * [client] egl: check for invalid desktop render dimensions
  * [client] egl/filters: bypass setup/prepare logic if disabled/inactive
  * [client] egl: handle filter setup returning false
  * [client] egl: skip downscale filter setup when not enabled
  * [doc] module: make cgroups configuration more visible
  * [host] windows: fix NSIS install directory on 64-bit builds
  * [client] egl: fix parentheses in IDX_AGO definition
  * [client] egl: fix egl_bufferAge naming
  * [client] egl: fix letterbox rendering
  * [client] Change default grabKeyboardOnFocus to false
  * [doc] build: Add new build deps to apt-get
  * [client] wayland: implement resizing for libdecor
  * [client] egl: add debug options to disable damage tracking
  * [client] cmake: correctly detect non-gawk awks
  * [client] stop the cursorThread if video feed is disabled
  * [client] opengl: fix getProcAddressGL2 naming
  * [client] ci: check for improper usage of GL functions
  * [client] add gl-check script to check GL function calls
  * [client] opengl: indirectly access non-OpenGL 1.3 functions
  * [client] opengl: add gl_dynprocs module
  * [client] opengl: use util_hasGLExt instead of custom logic
  * [client] egl: make the last eglDestroyImage call indirect
  * [client] egl: use eglCreateImage and eglDestroyImage indirectly
  * [client] egl_dynprocs: use official prototypes from system headers
  * [common] debug: fix incorrect use of #elif defined
  * [client] x11: load glXSwapIntervalEXT dynamically
  * [host] nvfbc: avoid waking up pointer thread for no reason
  * [common] open: detach xdg-open instead of waiting for it
  * [host] installer: build 64-bit NSIS installers
  * [client] spice: stop if pointer left during guest warp
  * [client] wayland: free presentation objects
  * [all] update submodules
  * [common] options: check for realloc failure
  * [client] config: window width & height are unsigned values
  * [client] app: remove dead code
  * [client] x11: reduce the scope of `deltats`
  * [client] x11: remove dead code
  * [client] wayland: fix possible memory leak
  * [doc] add upscale/downscale and related words to dictionary
  * [doc] install: fix missing new line warning
  * [client] ci: check --help spelling
  * [doc] lgspell: allow spell checking arbitrary text
  * [client] main: correctly handle EINTR from nanosleep
  * [doc] ci: run CI build with spell check
  * [doc] support building with spell check
  * [client] egl: make filters damage aware
  * [client] egl: remove useless RenderStep struct
  * [client] config: fix usage of "ie"
  * [common] ivshmem: use e.g. instead of incorrect ie for example
  * [client] config: fix spelling of synchronize
  * [docs] ci: build documentation on GitHub Actions
  * [doc] Correct a few spelling mistakes
  * [doc] install: Add Configuration Widget section
  * [doc] install: Remove scale toggle from key bindings
  * [doc] install: Add additional command line options
  * [common] cpuinfo: handle more than 64 threads on Windows
  * [host] windows: don't register exit event when none exists
  * [client] egl: support debug contexts on older EGL versions
  * [client] egl: remove warning disabling in ffx.c
  * [common] cpuinfo: trim trailing whitespace from model name on Windows
  * [common] cpuinfo: trim any trailing whitespace from CPU model
  * [client] egl: remove useless comment in filter_downscale.c
  * [common] windebug: handle FormatMessage failure
  * [host] app: print CPU information on startup
  * [client] main: print out CPU information on startup
  * [common] cpuinfo: implement for Windows
  * [common] cpuinfo: implement lgDebugCPU
  * [common] cpuinfo: implement for linux by parsing /proc/cpuinfo
  * [common] cpuinfo: add common library
  * [client] imgui: use consistent modal background colours
  * [client] imgui: run animations at consistent speeds
  * [client] egl: fix preset tooltip always showing
  * [client] egl: add separator after presets
  * [client] egl: correctly select the preset when saving over it
  * [client] egl: make preset UI more intuitive
  * [common] option: change option_dump to option_dump_preset
  * [client] egl: mark all preset-only options as such
  * [common] option: add preset-only options that don't show up in help
  * [client] egl: warn when attempting to save without preset selected
  * [client] egl: implement preset deletion
  * [client] egl: implement loading and saving of filter order
  * [client] egl: show preset errors as modal dialogs
  * [client] egl: implement preset loading/saving logic
  * [client] egl: implement options loading/saving for downscale
  * [client] egl: add loadState and saveState for filters
  * [client] egl: add UI for presets list
  * [common] stringlist: implement item removal
  * [common] vector: implement item removal
  * [common] option: implement the ability to set option values
  * [common] option: implement ability to dump config into ini
  * [common] appstrings: add blurb for xyene
  * [common] option: return NAN when float option doesn't exist
  * [client] egl: fix framebuffer leaking textures
  * [common] stringlist: use vector for storage
  * [common] vector: eliminate double allocation when possible
  * [common] vector: inline common operations
  * [client] egl: simplify filter moving logic with memmove
  * [common] ivshmem: switch to using vectors
  * [client] egl: make texture_dmabuf.c use vector
  * [common] vector: add indexed iteration modes
  * [common] vector: allow inplace construction with vector_push
  * [common] vector: implement a clear operation
  * [common] vector: allow vector_free to be used with NULL
  * [client] egl: implement nicer drag & drop re-ordering of filters
  * [client] egl: allow postprocessing filters to be reordered by dragging
  * [client] egl: switch postprocessing filters to use vectors
  * [common] vector: add new data structure
  * [doc] add documentation about libdecor
  * [host] pipewire: implement basic capture
  * [host] linux: add skeleton pipewire capture backend
  * [host] cmake: report capture backends enabled
  * [common] rects: fix typo in rectContains
  * [client] imgui: fix modifier key modification race
  * [client] spice: do not warp host cursor if guest cursor is not visible
  * [client] spice: don't display mouse before realignment finishes
  * Revert "[client] core: realign in the enter/focus handlers if possible"
  * [client] core: realign in the enter/focus handlers if possible
  * [client] core: wait for the host to process the cursor move
  * [client] x11: remove print from debugging
  * [all] bump the LGMP version to obtain access to data serial tracking
  * [client] x11: filter out virtual/grabbed XIEnterEvents
  * [client] egl: fix context creation on EGL 1.4
  * [client] egl: dynamically import glBufferStorageEXT
  * [all] cmake: tell users to clone submodules when they haven't
  * [client] x11: implement keyboard modifiers
  * [client] x11: implement keyboard typing
  * [client] egl: look at 3x3 around the pixel instead of 4x4
  * [client] egl: set gl_Position.z in cursor vertex shader
  * [client] kb: rename key code arrays from xfree86_* to linux_*
  * [common] windebug: pass FORMAT_MESSAGE_IGNORE_INSERTS to FormatMessage
  * [client] cmake: don't install cimgui.a into CMAKE_INSTALL_PREFIX
  * [all] cmake: provide an uninstall target
  * [host] remove all casts around malloc
  * [common] remove all casts around malloc
  * [client] remove all casts around malloc
  * [client] egl: pad areas of the desktop repainted to cover overlays
  * [host] use correct argument order for calloc
  * [client] use correct argument order for calloc
  * [common] use correct argument order for calloc
  * [client] egl: use standard-compliant way of EGL detection
  * [client] spice: avoid spice_key_modifiers when input is disabled
  * [client] use variable-relative sizeof where possible
  * [common] use variable-relative sizeof where possible
  * [host] use variable-relative sizeof where possible
  * [obs] display DMABUF option but disable it on older OBS
  * [client] egl: clamp sharpness settings in filters
  * [client] egl: add tooltip about Ctrl+Click on sharpness sliders
  * [common] option: use isspace from <ctype.h>
  * [client] wayland: support high DPI cursors when needed
  * [client] wayland: respect XCURSOR_THEME and XCURSOR_SIZE env variables
  * [client] wayland: set keyboard LED state when changed
  * [client] spice: add ability to set keyboard LED state in guest
  * [client] update PureSpice submodule
  * [client] egl: clamp downscale factor range
  * [client] ci: add libxkbcommon-dev dependency
  * [client] egl: make downscale filter use text input widget
  * [client] wayland: add keyboard typing handling with xkbcommon
  * [client] app: add ability to receive keyboard typing in overlays
  * [client] egl: add debug prints for renderStartup errors
  * [client] egl/downscale: implement filter switching
  * [client] egl: add linear downscale filter shader
  * [client] egl: implement lanczos filter shader
  * [client] all: remove needless initalization
  * [client] all: replace assert with DEBUG_ASSERT
  * [client] all: use DEBUG_UNREACHABLE instead of assert
  * [common] all: switch asserts to DEBUG_ASSERT
  * [host] capture: switch all asserts to DEBUG_ASSERT
  * [common] debug: add DEBUG_UNREACHABLE() macro
  * [common] debug: add DEBUG_ASSERT macro
  * [host] nvfbc: read nvfbc:diffRes option with the correct type
  * [common] array: add ALIGN_PAD macro for common logic
  * [host] app: remove useless ALIGN_DN and ALIGN_UP macros
  * [obs] implement dmabuf import support on OBS 27+
  * [common] ivshmem: use correct page alignment logic
  * [client] main: use ARRAY_LENGTH macro
  * [host] windows/crash: do not report absolute paths on build machines
  * [host] dxgi: use FAILED macro instead of comparing against S_OK
  * [host] nvfbc: remove rectangles that are entirely contained in others
  * [common] rects: add rectsRejectContained function
  * [host] dxgi: correctly count moved rectangles
  * [client] egl: don't generate mipmaps in downscale filter
  * [client] overlay: remove the unused menu bar
  * [client] egl: add new downscale filter
  * [host] dxgi: include correct DXGI headers
  * [host] dxgi: use standard MinGW libd3d11.a
  * [client] rework the configuration overlay to allow for tabs
  * [client] egl: re-order CAS to before FSR for better results
  * [client] egl: fix buffer overflow in desktop_rects module
  * [client] egl: remove needless precision quantifiers
  * [client] egl/fsr: release `consts` when no longer needed
  * [client] egl/cas: release `consts` when no longer needed
  * [client] egl: precompute CAS filter constants on CPU
  * [client] egl: make FSR filter show inactive in config when disabled
  * [client] egl: precompute FSR filter constants on CPU
  * [client] egl: display FSR equivalent quality mode
  * [client] egl: update FSR filter state upon resolution change
  * Revert "[client] egl: make FSR detect an input size change and activate if valid"
  * [client] egl: make FSR detect an input size change and activate if valid
  * [host] dxgi: use CopySubresourceRegion when possible
  * [client] util: replace util_mergeOverlappingRects with common version
  * [common] rects: add rectsMergeOverlapping helper function
  * [client] wayland: fix deadlock when using wayland:warpSupport=no
  * [client] egl: cleanup texture filtering/post-processing
  * [client] egl: fixes to shader post-process pipeline
  * [client] egl: don't erase damage when invalidating whole window
  * [client] egl: implement C wrappers for FidelityFX constant computation
  * [client] egl: exempt shaders from copyright refresh script
  * [client] cmake: make MakeObject use relative paths
  * [client] egl: handle \r character when processing #includes
  * [common] crash: use DEBUG_WINERROR on windows
  * [client] core: dont warp the cursor if the overlay is active
  * [client] egl: use a texel based version of textureGather for FSR
  * [client] egl: don't define FSR_RCAS_F in ffx_fsr1_rcas.frag
  * [client] egl: cosmetics
  * [client] egl: rework post process filters and add AMD FXR
  * [client] egl: perform full copy for framebuffer textures after resize
  * [client] egl: allocate space for the initial texture dimensions
  * [client] egl: enable ffxCAS if disabled and the sharpness is changed
  * [client] egl: re-process the texture and invalidate if a setting changed
  * [client] egl: prefer gawk and mawk when building shaders
  * [client] egl: correct assign to gl_Position in basic.vert
  * [client] egl: correctly use flexible array members for BindData
  * [client] cmake: replace `-` with `_` too
  * [client] x11: don't hang when there are no message pending
  * [common] option: option_get_float should return a float
  * [client] app: make overlay mode more transparent
  * [client] egl: add ffx cas configuration options
  * [common] option: add support for float option types
  * [client] egl: allow ffxCAS sharpness configuration
  * [client] egl: cleanup pointer mess in egl_desktopInit
  * [client] egl: added missing vertex shader file
  * [client] egl: add ffx_cas post process filter
  * [client] egl: implement #include for shaders with awk
  * [client] egl: give pp filters the dimensions of all prior textures
  * [client] egl: don't allocate the texture ringbuffer unless needed
  * [client] egl: set a default scale for textures without filters
  * Revert "[client] egl: set a default scale for textures without filters"
  * [client] egl: set a default scale for textures without filters
  * [client] egl: provide the texture scale to the desktop shader
  * [client] egl: allow setting an output scale for a post-process shader
  * [client] egl: simplify desktop vertex shader
  * [client] egl: cycle through multiple textures for dmabuf
  * [host] windows: use DEBUG_WINERROR for MsgWaitForMultipleObjects
  * [host] windows: use DEBUG_WINERROR for CallNtPowerInformation
  * [host] windows: use DEBUG_WINERROR for exit event opening code
  * [client] x11: be less sensitive to frame skips
  * [client] x11: prevent present event loop underruns
  * [client] x11: switch to epoll for event wait loop
  * [client] egl: remove includes from testing
  * [client] egl: rework egl to accomodate post-processing filtering
  * [common] CountedBuffer: cosmetics
  * [common] ringbuffer: allow reverse iteration
  * [client] egl: refactor egl_texture_free to use project naming standards
  * [client] egl: remove texture->ops indirection
  * [client] opengl: refactor to use project naming standards
  * [client] egl: refactor to use project naming standard
  * [client] main: destroy and finish fontconfig usage
  * [client] interface: refactor to use camlCase function names
  * [client] egl: implement free for texture frambuffer
  * [client] interface: switch to using UPCAST for the renderer's data
  * [client] interface: rename LG_Renderer to LG_RendererOps
  * [client] interface: cleanup the renderer interface
  * [client] egl: attempt DMABUF import and fallback if it fails
  * [client] egl: revert glsync changes
  * [client] egl: texture_framebuffer should call the stream init
  * [egl] texture: use more appropriate vairable names (parent & this)
  * [client] egl: `sync` is now an atomic, access it as such
  * [client] egl: eliminate GLsync object leaks
  * [client] main: don't call stopWaitFrame if jitRender is not enabled
  * [client] x11: invalidate the full window after timeout from expose
  * [client] egl: do a full redraw if nightvision is toggled
  * [client] egl/imgui: use imgui for night vision gain configuration
  * [client] egl: implement partial copies for framebuffer textures
  * [common] rects: implement routine to copy rectangles from framebuffer
  * [common] rects: refactor rect buffer copy code to common module
  * [common] appstrings: add blurb for quantum
  * [client] egl: correct letterbox area clear attempt #3 - sigh
  * [client] x11: prevent skew from enter/leave/focus and fullscreen events
  * [client] egl: correct letterbox area clear attempt #2 :)
  * [client] x11: don't allow window manager events to skew cal timing
  * [client] egl: properly clear the letterbox areas
  * [client] x11: improve presentation sync calibration
  * [client] main: don't include the swap into the render timings
  * [client] main: increase render graph max scale to 10ms
  * [host] dxgi: copy only damaged regions to IVSHMEM
  * [client] egl/imgui: use imgui for scaling algorithm selection
  * [client] egl: refactor config dialog into main egl module
  * [client] overlay: move separator above donation prompt
  * [host] nvfbc: round pitch to multiple of 128 for dmabuf import
  * [client] overlay/config: switch to use new URL widget when possible
  * [client] imgui: implement new widget for displaying URLs
  * [common] open: implement opening URLs in browser
  * [host] windows: implement KVMFR_FEATURE_SETCURSORPOS
  * [client] implement support for KVMFR_FEATURE_SETCURSORPOS
  * [common] add new KVMFR structs and fields for feature support
  * [all] bump LGMP version again
  * [client] don't terminate after successful upgrade of LGMP
  * [client] allow the user to upgrade if the LGMP version doesn't match
  * [all] update LGMP to obtain access to new client messaging feature
  * [doc] index: Modify Level1Techs URL to use a redirect
  * [client] egl: pad buffer damage by 1px when rendering desktop
  * [host] nvfbc: make diff map size configurable
  * [client] x11: prevent possible calibration underflow
  * [client] main: make core overlays register before everything else
  * [client] wayland: fix build with libdecor after invalidateWindow change
  * [client] imgui: ensure the pointer shape is correct
  * [client] app: allow selective full invalidation
  * [client] overlay: move keybinds and config into the overlays
  * [client] main: fix incorrectly hiding the cursor dot in captureOnly mode
  * [client] overlay: remember and restore the grab and pointer state
  * [client] core: never allow warp when the overlay is active
  * [client] overlay: don't use the internal function directly for config
  * [client] egl: use a ui switch for damage display instead of a keybind
  * [client] overlay: allow registration of runtime configuration options
  * [host] windows: make copyright string in resource use ©
  * [all] copyright: use unicode copyright sign ©
  * [common] appstrings: make script refresh copyright and license
  * [client] imgui: move cursor change to after rendering overlays
  * [client] main: rename frameTimings to uploadTimings
  * [client] main: add graph for time spent rendering
  * [client] imgui: another missed file
  * [client] imgui: added missed files from the last commit
  * [client] overlay: add new configuration overlay [wip]
  * [client] wayland: fix failure to build
  * [client] ds: waitFrame now returns a bool to force rendering if needed
  * [client] x11: move sleep and calibration code outside of the event loop
  * [client] x11: cosmetics
  * [client] x11: don't setup XPresent if jitRender is not enabled
  * [client] ds: tell the display server if jitRender is requested
  * [client] config: use DEBUG_WARN, not fprintf for output
  * [client] config: ensure mouseRedraw is on if jitRender is in use
  * [client] egl: always render the black bar areas
  * [client] egl: fix out by one error with letterbox rendering
  * [client] egl: remove texture copy in DMABUF path
  * [client] egl: warn when EGL_EXT_buffer_age is not supported
  * [client] egl: use buffer age extension to render only damaged parts
  * [client] egl: convert desktop to use desktop_rects
  * [client] egl: refactor damage mesh generation into desktop_rects
  * [client] egl: clean up splash background shader
  * [client] wayland: document wlroots viewport handling workaround
  * [host] nvfbc: disable pointerThread when unused
  * [client] x11: added code to calibrate a delay for presentation
  * [client] x11: provide an empty rect region to XPresentPixmap
  * [client] egl: assert the update provdided is a dmabuf
  * [client] egl: re-implement DMABUF (untested)
  * [doc] install: Add Overlay Mode section
  * [doc] install: Add $XDG_CONFIG_HOME/looking-glass/client.ini
  * [doc] install: Add win:jitRender command line option
  * [client] x11: remove junk code from evaluation
  * [client] egl: use new EGL damage count semantics
  * [commit] wayland: invalidate window on scale changes
  * [client] egl: there should only ever be a single sync object
  * [doc] add libxpresent-dev as a new build dep for the client
  * [github] add libxpresent-dev as a new build dep
  * [client] x11: make use of the x11 present extension for jitRender
  * [client] egl: do not set `ops`, this is done in `texture.c`
  * [client] egl: replace monolithic EGLTexture with modular version
  * [client] overlay: add new `needs_render` for realtime overlays
  * [client] egl: use a lock for desktop damage to eliminate all races
  * [client] wayland: implement stopWaitFrame
  * [client] ds: add stopWaitFrame to terminate waitFrame early
  * [client] main: allow 'catchup' when using jitRender
  * [client] main: use skipFrame and signal frameEvent
  * [client] wayland: make waitFrame work when not rendering
  * [client] ds: add skipFrame method to interface
  * [client] main: make use of new `needs_render` call
  * [client] renderers: add new needs_render method to the interface
  * [client] main: alerts and overlay toggles should invalidate the window
  * [client] main: only render if there is actually something to render
  * [client] ds: change signalNextFrame to waitFrame
  * [client] config: disable JIT rendering by default
  * [client] egl: fix cursor handling when invalidating
  * [common] event: lgResetEvent should return the last state of the event
  * [common] events/linux: fix failure to call pthread_cond_broadcast
  * [client] wayland: use zxdg_output_manager_v1 version 3 if possible
  * [client] wayland: make it possible to disable fractional scaling
  * [client] wayland: improve fractional scale handling
  * [client] config: enable JIT rendering by default
  * [client] main: implement just-in-time render mode
  * [client] egl: use queue of damages
  * [doc] install: Update overlay mode keybinding
  * [client] imgui: don't free the IniFilename until imgui destruction
  * [client] imgui: put imgui.ini in $XDG_CONFIG_DIR/looking-glass
  * [client] config: load config file based on new lgConfigDir()
  * [common] paths: add library to manage platform-specific paths
  * [client] app: allow overlay exit with `KEY_ESC`
  * [client] move imgui input state reset to it's own core function
  * [client] overlay: disable the imgui demo window
  * [client] overlay/help: do not always show when in overlay mode
  * [client] overlay/graphs: allow the window position and size to be saved
  * [client] overlay/fps: allow the window posisiton to be saved
  * [client] overlay/help: use the `interactive` argument
  * [client] overlay: let the overlay know if it's in interactive mode
  * [client] imgui: use signalNextFrame if possible
  * [client] wayland: implement signalNextFrame with frame callbacks
  * [client] ds: add optional method signalNextFrame(LGEvent)
  * [git] add libxcursor-dev to the git workflow
  * [client] x11: implement cursor support for the imgui overlay
  * [client] app: prevent buttons/keys from being held when focus is lost
  * [client] main: bump the minimum fps to 60fps when showing the overlay
  * [client] x11: call app_handleWheelMotion for imgui scroll interaction
  * [client] imgui: respect WantCaptureKeyboard
  * [client] app: update imgui key release when guest input is disabled
  * [client] overlay: allow the fps and graph windows to be moved
  * [client] x11: Add event handling for ungrabed mouse press/release
  * [client] config: optionally load config from XDG_CONFIG_HOME
  * [client] config: do not attempt to load non-files as config
  * [client] client: release escape key on focus loss
  * [host] nvfbc: log error codes for various errors
  * [common] option: make options case insensitive
  * [client] config: print error when app:configFile is not a valid file
  * [client] main: prevent the user from launching looking glass as setuid
  * [client] wayland: pass mouse wheel motion events to imgui
  * [client] imgui: implement mouse wheel motion support
  * [client] wayland: reject horizontal scroll events
  * [client] imgui: initialize keymap
  * [client] config: automatically update embedded copyright string
  * [client] imgui: remove no longer used overlay_utils.cpp
  * [client] imgui: improve method for high DPI
  * [client] imgui: ask display server to display cursors
  * [client] wayland: implement support for other cursors
  * [client] ds: change showPointer to setPointer for more cursors
  * [client] imgui: improved overlay input handling
  * [doc] install: Update client keybindings and command line options
  * [client] imgui: darken background when rendering overlays
  * [client] egl: log when EGL_EXT_image_dma_buf_import is unavailable
  * [client] imgui: implement keyboard input forwarding and capture
  * [client] imgui: add mode to forward mouse input to imgui
  * [client] egl: make functions that do not need linking static
  * [client] imgui: make graph y-axis configurable
  * [common] framebuffer: fix copy when source and dest pitch differs
  * [common] ivshmem: use consistent device numbering on Windows
  * [common] time: fully implement all functionality for windows
  * [client] egl: add graph tracking time taken to import frame
  * [host] app: add throttleFPS option
  * [client] imgui: report failed font atlas building
  * [host/common] windows: provide `delayExecution` via `nsleep`
  * [client] egl: keep x/y coordinates of cursor rectangle non-negative
  * [client] egl: generate correct cursor damage with cursor rotation
  * [host] app: when running in sync mode send frame repeats as needed
  * [client] egl: rotate damage rectangles according to client side rotation
  * [client] egl: make damage overlay support rendering rotated rectangles
  * [client] overlay: cosmetic changes to the overlay display
  * [client] wayland: invalidate window on configure
  * [client] x11: call `app_invalidateWindow` on expose
  * [client] all: make it possible to signal full window invalidation
  * [client] don't skip the first frame if we do not yet have a frame
  * [spice] bump PureSpice version
  * [host] nvfbc: clamp damage rectangles to screen size
  * [client] main: skip duplicate frames
  * [common] kvmfr: add a new `frameSerial` field to the KVMFRFrame struct
  * [all] cmake: fix OptimizeForNative
  * [host] windows: use CMAKE_DLLTOOL if available
  * [all] use cmake FindPkgConfig IMPORTED_TARGETs
  * [client] removed unused GMP dependency
  * [all] include OPTIMIZE_FOR_NATIVE in feature summary
  * [all] make OPTIMIZE_FOR_NATIVE a tristate option
  * [all] cmake: use -march=x86-64-v2 when it becomes available
  * [client] fonts: remove font rendering machinery
  * [client] opengl: remove font management
  * [client] egl: remove font management
  * [client] renderers: remove alert handling
  * [client] imgui: converted alerts to use imgui
  * [client] overlay/help: switch to using ImGui's table facility
  * [client] renderer: remove on_help from renderer interface
  * [client] imgui: convert help overlay to use imgui
  * [client] imgui: make UI font and size configurable
  * [client] imgui: use improved high DPI rendering
  * [client] imgui: support high DPI by scaling framebuffer
  * [client] overlay: use utility function to get ImGui rectangle
  * [client] overlay: remove space checking
  * [client] imgui: track last rectangles for overlays
  * [client] egl: correctly handle mixing imgui and non-imgui overlays
  * [host] windows: do not complain about failed timer destruction at exit
  * [client] ci: run all build combinations to completion
  * [client] wayland: use new libdecor pkgconfig package name
  * [client] renderers: treat -1 as full damage and 0 as no overlay
  * [host] windows: use WM_CLOSE to signal window destruction
  * [client] overlay: call igEnd before return
  * [client] overlay: increment `totalRects`
  * [client] overlay: rework the interface to avoid possible race conditions
  * [client] overlay: properly free the graphs before ll free
  * [client] egl: transform overlay damage coordinates
  * [client] egl: avoid overflowing damage buffer
  * [client] app: implement new overlay rendering framework
  * [client] overlay: cosmetic, fix typo
  * [client] overlay: `windowRects` is not an array of pointers
  * [client] overlay: added new interface for overlay windows using ImGui
  * [client] wayland: do not leak wp_presentation_feedback objects
  * [client] ci: test libdecor build as part of matrix
  * [client] egl: free desktop damage after rendering
  * [client] ci: remove SDL dependencies and -DENABLE_SDL=ON
  * [client] wayland: dispatch events through libdecor when using it
  * [client] ci: fix clang build
  * [all] copyright: refresh copyright notice for .nsi and .rc files
  * [egl] damage: only update the damage vbo if there was a new frame
  * [client] main: let the renderer know if it's rendering a whole new frame
  * [client] main: sync to the ups if the ups exceeds minFrameTime
  * Revert "[client] main: increase the ups/fps update rate to once per 100ms"
  * [client] main: remove/fix faulty upsTime code
  * [host] windows: trick MinGW into not using memcpy from ntdll
  * [host] windows: use system thread pool to wait for exit event
  * [host] windows: log MsgWaitForMultipleObjects errors
  * [client] opengl: don't include <GL/glx.h>
  * [host] windows: add version resource
  * [host] windows: fix graceful exit
  * [host] service: respond to exit request while sleeping
  * [host] windows/delay: cast to LONGLONG instead of int
  * [client] main: improve frame rate sync lock with the guest
  * [client] main: increase the ups/fps update rate to once per 100ms
  * [client] main: use the monotonic clock to calculate the ups/fps
  * [client] wayland: do not crash when presentation time is unavailable
  * [common] windows: declare WINVER and _WIN32_WINNT
  * [host] windows: directly invoke ChangeWindowMessageFilterEx
  * [host] windows: fix resource compilation dependencies
  * [host] windows: avoid compiling .rc file twice
  * [common] windebug: remove custom-rolled Windows 8 detector
  * [host] dxgi: use SDK versionhelpers.h to test for Windows version
  * [host] windows: declare Windows 10 support in manifest
  * [host] windows: declare high DPI support in manifest
  * [host] cmake: use -march=x86-64-v2 when it becomes available
  * [host] windows: directly link D3DKMTSetProcessSchedulingPriorityClass
  * [host] windows: correctly declare WINVER and _WIN32_WINNT
  * [host] delay: directly link against ntdll.dll
  * [host] service: fix adjustPriv return value
  * [client] egl: improve cursor damage logic
  * [host] service: pass CREATE_UNICODE_ENVIRONMENT unconditionally
  * [host] service: use SYSTEM token attached to the current process
  * [host] windows: use event to gracefully signal exit
  * [host] link resource directly to exe
  * Revert "Revert "[host] avoid manual windres command""
  * [client] egl: use glGetError and codes for errors in gl* functions
  * [client] ds: refactor common EGL swap with damage logic
  * [client] ci: do not install libglew-dev
  * [client] egl: EGL_KHR_swap_buffers_with_damage returns EGLBoolean
  * [common] linux: review and fix event logic, events should not be counted
  * [client] app: correct FPS to use an actual per second value
  * [common] timer: fix timespec parameters when interval >= 1000
  * [client] app: give some transparency to the new FPS window
  * [client] egl: properly use OpenGL ES
  * [client] all: use imgui for FPS/UPS display
  * [common] ringbuffer: add pre value overwrite callback
  * [client] imgui: use ES 3.0 and remove glew dependency
  * [client] egl: revert "only copy damaged areas when using dmabuf"
  * [client] egl: only copy damaged areas when using dmabuf
  * [client] wayland: display swap to photon latency graph
  * [client] wayland: measure presentation time
  * [client] imgui: use struct for graph metrics instead of array
  * [client] imgui: support registering new graphs
  * [client] egl: use debug context and make it configurable
  * [client] egl: upload damage vertices with glBufferSubData
  * [client] egl: implement error reporting callback
  * [client] egl: use vertex array objects in model.c
  * [client] egl: correctly clean up vertex buffer objects
  * [common] dpi: remove no longer used library
  * [common] kvmfr: remove mouseScalingPercent which is no longer used
  * [host] capture: stop sending DPI information
  * [client] spice: remove dpi which is no longer used
  * [client] spice: update to use the new epoll version of PureSpice
  * [client] egl: implement frame damage display
  * [client] util: add function for merging overlapping rectangles
  * [common]: move array length into a common helper
  * [host] nvfbc: copy damaged areas only
  * [common] framebuffer: allow custom framebuffer write implementations
  * [host] capture: pass frameIndex to capture backends
  * [host] dxgi: compute damage rectangles from moved rectangles
  * [client] egl: do not use damage when overlays are visible
  * [host] nvfbc: better algorithm for merging adjacent regions
  * [host] nvfbc: merge adjacent changed regions
  * [client] egl: use desktop frame damage information
  * [host] nvfbc: populate damage rectangles
  * [host] dxgi: populate damage rectangles
  * [host] capture: add damage rectangles to capture interface
  * [common] kvmfr: add damage rectangles to the protocol
  * [doc] build: remove mentions of SDL
  * [client] ds: remove SDL display server
  * [client] egl: use glCopyTexSubImage2D to copy when using DMA
  * [client] ci: fix clang build by using clang++
  * [client] cimgui: build as static library
  * [git] update workflow to include new libglew-dev dependency
  * [client] app: add keybind to toggle frame timing information display
  * [client] main: don't trigger redraws if the video feed is disabled
  * [client] x11: make use of eglSwapBuffersWithDamage if it's available
  * [client] main: copy & release KVMFR messages sooner
  * [client] imgui: calculate min/max/avg/fps and add them to the plots
  * [client] main: dont push an invalid value into the timings buffers
  * [common] ringbuffer: add forEach iterator
  * [client] app: initial imgui frame timings
  * [common] ringbuffer: add getLength method
  * [client] app: collect render and frame timing information
  * [common] added new ringbuffer helper for metrics collection
  * [client] app: init/destroy imgui context on run/shutdown
  * [client] imgui: added imgui to the client and OpenGL/EGL renderers
  * [repos] added `cimgui` @ version 1.82

-------------------------------------------------------------------
Fri Jul 30 12:02:30 UTC 2021 - pousaduarte@gmail.com

- Update to version 20210717~B4:
  * 

-------------------------------------------------------------------
Fri Jul 30 11:29:31 UTC 2021 - pousaduarte@gmail.com

- Update to version 20210729~gitB4:
  * [client] imgui: darken background when rendering overlays
  * [client] egl: log when EGL_EXT_image_dma_buf_import is unavailable
  * [client] imgui: implement keyboard input forwarding and capture
  * [client] imgui: add mode to forward mouse input to imgui
  * [client] egl: make functions that do not need linking static
  * [client] imgui: make graph y-axis configurable
  * [common] framebuffer: fix copy when source and dest pitch differs
  * [common] ivshmem: use consistent device numbering on Windows
  * [common] time: fully implement all functionality for windows
  * [client] egl: add graph tracking time taken to import frame
  * [host] app: add throttleFPS option
  * [client] imgui: report failed font atlas building
  * [host/common] windows: provide `delayExecution` via `nsleep`
  * [client] egl: keep x/y coordinates of cursor rectangle non-negative
  * [client] egl: generate correct cursor damage with cursor rotation
  * [host] app: when running in sync mode send frame repeats as needed
  * [client] egl: rotate damage rectangles according to client side rotation
  * [client] egl: make damage overlay support rendering rotated rectangles
  * [client] overlay: cosmetic changes to the overlay display
  * [client] wayland: invalidate window on configure
  * [client] x11: call `app_invalidateWindow` on expose
  * [client] all: make it possible to signal full window invalidation
  * [client] don't skip the first frame if we do not yet have a frame
  * [spice] bump PureSpice version
  * [host] nvfbc: clamp damage rectangles to screen size
  * [client] main: skip duplicate frames
  * [common] kvmfr: add a new `frameSerial` field to the KVMFRFrame struct
  * [all] cmake: fix OptimizeForNative
  * [host] windows: use CMAKE_DLLTOOL if available
  * [all] use cmake FindPkgConfig IMPORTED_TARGETs
  * [client] removed unused GMP dependency
  * [all] include OPTIMIZE_FOR_NATIVE in feature summary
  * [all] make OPTIMIZE_FOR_NATIVE a tristate option
  * [all] cmake: use -march=x86-64-v2 when it becomes available
  * [client] fonts: remove font rendering machinery
  * [client] opengl: remove font management
  * [client] egl: remove font management
  * [client] renderers: remove alert handling
  * [client] imgui: converted alerts to use imgui
  * [client] overlay/help: switch to using ImGui's table facility
  * [client] renderer: remove on_help from renderer interface
  * [client] imgui: convert help overlay to use imgui
  * [client] imgui: make UI font and size configurable
  * [client] imgui: use improved high DPI rendering
  * [client] imgui: support high DPI by scaling framebuffer
  * [client] overlay: use utility function to get ImGui rectangle
  * [client] overlay: remove space checking
  * [client] imgui: track last rectangles for overlays
  * [client] egl: correctly handle mixing imgui and non-imgui overlays
  * [host] windows: do not complain about failed timer destruction at exit
  * [client] ci: run all build combinations to completion
  * [client] wayland: use new libdecor pkgconfig package name
  * [client] renderers: treat -1 as full damage and 0 as no overlay
  * [host] windows: use WM_CLOSE to signal window destruction
  * [client] overlay: call igEnd before return
  * [client] overlay: increment `totalRects`
  * [client] overlay: rework the interface to avoid possible race conditions
  * [client] overlay: properly free the graphs before ll free
  * [client] egl: transform overlay damage coordinates
  * [client] egl: avoid overflowing damage buffer
  * [client] app: implement new overlay rendering framework
  * [client] overlay: cosmetic, fix typo
  * [client] overlay: `windowRects` is not an array of pointers
  * [client] overlay: added new interface for overlay windows using ImGui
  * [client] wayland: do not leak wp_presentation_feedback objects
  * [client] ci: test libdecor build as part of matrix
  * [client] egl: free desktop damage after rendering
  * [client] ci: remove SDL dependencies and -DENABLE_SDL=ON
  * [client] wayland: dispatch events through libdecor when using it
  * [client] ci: fix clang build
  * [all] copyright: refresh copyright notice for .nsi and .rc files
  * [egl] damage: only update the damage vbo if there was a new frame
  * [client] main: let the renderer know if it's rendering a whole new frame
  * [client] main: sync to the ups if the ups exceeds minFrameTime
  * Revert "[client] main: increase the ups/fps update rate to once per 100ms"
  * [client] main: remove/fix faulty upsTime code
  * [host] windows: trick MinGW into not using memcpy from ntdll
  * [host] windows: use system thread pool to wait for exit event
  * [host] windows: log MsgWaitForMultipleObjects errors
  * [client] opengl: don't include <GL/glx.h>
  * [host] windows: add version resource
  * [host] windows: fix graceful exit
  * [host] service: respond to exit request while sleeping
  * [host] windows/delay: cast to LONGLONG instead of int
  * [client] main: improve frame rate sync lock with the guest
  * [client] main: increase the ups/fps update rate to once per 100ms
  * [client] main: use the monotonic clock to calculate the ups/fps
  * [client] wayland: do not crash when presentation time is unavailable
  * [common] windows: declare WINVER and _WIN32_WINNT
  * [host] windows: directly invoke ChangeWindowMessageFilterEx
  * [host] windows: fix resource compilation dependencies
  * [host] windows: avoid compiling .rc file twice
  * [common] windebug: remove custom-rolled Windows 8 detector
  * [host] dxgi: use SDK versionhelpers.h to test for Windows version
  * [host] windows: declare Windows 10 support in manifest
  * [host] windows: declare high DPI support in manifest
  * [host] cmake: use -march=x86-64-v2 when it becomes available
  * [host] windows: directly link D3DKMTSetProcessSchedulingPriorityClass
  * [host] windows: correctly declare WINVER and _WIN32_WINNT
  * [host] delay: directly link against ntdll.dll
  * [host] service: fix adjustPriv return value
  * [client] egl: improve cursor damage logic
  * [host] service: pass CREATE_UNICODE_ENVIRONMENT unconditionally
  * [host] service: use SYSTEM token attached to the current process
  * [host] windows: use event to gracefully signal exit
  * [host] link resource directly to exe
  * Revert "Revert "[host] avoid manual windres command""
  * [client] egl: use glGetError and codes for errors in gl* functions
  * [client] ds: refactor common EGL swap with damage logic
  * [client] ci: do not install libglew-dev
  * [client] egl: EGL_KHR_swap_buffers_with_damage returns EGLBoolean
  * [common] linux: review and fix event logic, events should not be counted
  * [client] app: correct FPS to use an actual per second value
  * [common] timer: fix timespec parameters when interval >= 1000
  * [client] app: give some transparency to the new FPS window
  * [client] egl: properly use OpenGL ES
  * [client] all: use imgui for FPS/UPS display
  * [common] ringbuffer: add pre value overwrite callback
  * [client] imgui: use ES 3.0 and remove glew dependency
  * [client] egl: revert "only copy damaged areas when using dmabuf"
  * [client] egl: only copy damaged areas when using dmabuf
  * [client] wayland: display swap to photon latency graph
  * [client] wayland: measure presentation time
  * [client] imgui: use struct for graph metrics instead of array
  * [client] imgui: support registering new graphs
  * [client] egl: use debug context and make it configurable
  * [client] egl: upload damage vertices with glBufferSubData
  * [client] egl: implement error reporting callback
  * [client] egl: use vertex array objects in model.c
  * [client] egl: correctly clean up vertex buffer objects
  * [common] dpi: remove no longer used library
  * [common] kvmfr: remove mouseScalingPercent which is no longer used
  * [host] capture: stop sending DPI information
  * [client] spice: remove dpi which is no longer used
  * [client] spice: update to use the new epoll version of PureSpice
  * [client] egl: implement frame damage display
  * [client] util: add function for merging overlapping rectangles
  * [common]: move array length into a common helper
  * [host] nvfbc: copy damaged areas only
  * [common] framebuffer: allow custom framebuffer write implementations
  * [host] capture: pass frameIndex to capture backends
  * [host] dxgi: compute damage rectangles from moved rectangles
  * [client] egl: do not use damage when overlays are visible
  * [host] nvfbc: better algorithm for merging adjacent regions
  * [host] nvfbc: merge adjacent changed regions
  * [client] egl: use desktop frame damage information
  * [host] nvfbc: populate damage rectangles
  * [host] dxgi: populate damage rectangles
  * [host] capture: add damage rectangles to capture interface
  * [common] kvmfr: add damage rectangles to the protocol
  * [doc] build: remove mentions of SDL
  * [client] ds: remove SDL display server
  * [client] egl: use glCopyTexSubImage2D to copy when using DMA
  * [client] ci: fix clang build by using clang++
  * [client] cimgui: build as static library
  * [git] update workflow to include new libglew-dev dependency
  * [client] app: add keybind to toggle frame timing information display
  * [client] main: don't trigger redraws if the video feed is disabled
  * [client] x11: make use of eglSwapBuffersWithDamage if it's available
  * [client] main: copy & release KVMFR messages sooner
  * [client] imgui: calculate min/max/avg/fps and add them to the plots
  * [client] main: dont push an invalid value into the timings buffers
  * [common] ringbuffer: add forEach iterator
  * [client] app: initial imgui frame timings
  * [common] ringbuffer: add getLength method
  * [client] app: collect render and frame timing information
  * [common] added new ringbuffer helper for metrics collection
  * [client] app: init/destroy imgui context on run/shutdown
  * [client] imgui: added imgui to the client and OpenGL/EGL renderers
  * [repos] added `cimgui` @ version 1.82
  * [doc] faq: Correct misinformed question about mouse warp issue
  * [host] windows: fix build on Linux due to case sensitive filenames
  * [host] windows: fix delayExecution order of magnitude bug
  * [host] windows: remove accidental addition of some junk
  * [host] windows: add `delayExecution` function for more accurate sleeps
  * [host] windows: fix system timer resolution message units
  * [host] windows: do not callback from the mouse hook context
  * [doc] faq: Partial revert of fa871e9 to include registry hack Expected to be fixed in B5
  * [doc] build: Revise client build dependencies for B4
  * [client] wayland: fix typo in warp usage
  * [obs] call `debug_init()` to initialize debug print
  * [host] dxgi: print out the adapter details earlier
  * [host] dxgi: print out the output device name to aid with support
  * [host] app: fix infinate loop introduced in the last commit
  * [host] app: wait for space in the frame queue
  * [host] nvfbc: remove the `frameEvent` event and associated code
  * [host] app: allow the capture interface to select async or sync mode
  * [host] nvfbc: do not crash when protected content is playing
  * [host] app: allocate LGMP memory for KVMFRCursor updates without shapes
  * [host] nvfbc: optimize change detection loop
  * [host] dxgi: correctly mention AcquireNextFrame in help text
  * [doc] faq: B4-rc2 touchups
  * [doc] module: dkms example has explicit "." This works in dash, so should be portable to most shells. Will hopefully help users not misinterpret the period as a mistake.
  * [host] windows: make `D3DKMTSetProcessSchedulingPriorityClass` global
  * [host] windows/nvfbc/common: strip out broken "enhanced" event logic
  * [common] windows: update event fast path to use atomics
  * [client] config: default `minimizeOnFocusLoss` to off
  * [common] debug: output to `stdout` and reset the the color at the end
  * [doc] faq: Correct log file tray operation
  * [doc] index: Nuke trello and add ethereum address
  * [common] debug: remove missed `debug_print` forward
  * [common] debug: add color support to debug messages
  * [host] app: always send the cursor position to the client
  * [doc] faq/install: Move Clipboard Synch instructions to Installation
  * [doc] faq: Touchup
  * [doc] module: Touchups
  * [doc] obs: Touchup
  * [doc] install/troubleshooting: AppArmor instructions already in Installation
  * [doc] troubleshooting: B4 touchup
  * [doc] host: Touchups and sentence flow corrections
  * [doc] install: Touch ups and tweaks
  * [client] Fix narrowing issues with win:shrinkOnUpscale param
  * [all] cmake: check for `VERSION` file before using git describe
  * [client] egl: fix race on resolution change
  * [host] app: fix inverted cursor shape logic
  * Revert "[host] avoid manual windres command"
  * [host] app: fix issue with wrong cursor shape being sent for new clients
  * [host] avoid manual windres command
  * [host] install cmake target
  * [client] install cmake target
  * [client] opengl: do not render a sync pending texture
  * [client] x11/opengl: enable double buffering for OpenGL
  * [client] opengl: cosmetics
  * [client] opengl: no need to re-bind the already bound texture
  * [client] opengl: do not prematurely delete overlay textures
  * [client] opengl: deconfigure is idempotent
  * [common] runningavg: avoid integer overflows
  * [client] wayland/clipboard: prefer text/plain over text/html
  * [client] wayland: fix full screen toggle in capture mode regression
  * [client] x11: create _NET_WM_BYPASS_COMPOSITOR if it doesn't exist
  * [host] linux: implement new truncated frame support
  * [client] main: display error when the frame has been truncated
  * [host] kvmfr: allow the frame size to exceed the available memory
  * [client] wayland: lock confine-related code to avoid race
  * [client] egl: fix dmabuf support
  * [client] egl: `tex` is now an array, so check it properly for assignment
  * [client] egl: fix incorrect texture usage
  * [common] framebuffer: make use of framebuffer_wait
  * [common] framebuffer: add additional profiling support
  * [common] framebuffer: simplify the `remaining` calculation
  * [common] framebuffer: improve client framebuffer read performance
  * [common] option: handle ini lines without trailing newline
  * [common] option: prevent ascii filter from eating newlines
  * [common] option: ignore non-typeable ascii characters
  * [client] x11: use correct spelling of _NET_WM_BYPASS_COMPOSITOR
  * [common] runningavg: refresh copyright notice
  * [all] check if pull request author is in AUTHORS
  * [all] add AUTHORS file
  * [host] dxgi: sleep until it's close to time to map
  * [client] wayland: offer all supported clipboard formats
  * [all] normalize copyright on all source files
  * [all] add script to refresh copyright
  * [host] NvFBC/DXGI: make DXGI the default instead of the fallback
  * [host] cmake: force -O3 for release with debug builds
  * [host] dxgi: increase maxTextures default to 4
  * [host] linux: add missing library to fix compilation
  * [host] app: add os_showMessage for Linux
  * [host] app: calculate and report the required IVSHMEM size
  * [client] wayland: remove sync transfer for VM->host copies
  * [client] spice: update PureSpice to fix #556
  * [client] app: cleanup clipboard option logic
  * [obs] install into plugin dir
  * [obs] fix oob cursor writes
  * [obs] fix cursor blending
  * [obs] fix monochrome cursor crop
  * [client] wayland: prefer PNG over other image types
  * [client] wayland: update to support new spice clipboard type list
  * [client] x11: update to support new spice clipboard type list
  * [client] spice: update to support sending clipboard type list
  * [client] x11: implement `win:noResize`
  * [client] app: only minimize if lost focus when in full screen mode
  * [client] spice: update PureSpice submodule to fix agent message issues
  * [client] core: fix use of unintalized variable
  * [client] spice: update PureSpice again for more clipboard fixes
  * [client] spice: update PureSpice to fix large buffer paste bug
  * [client] spice: update PureSpice to fix clipboard stack overflow bug
  * [client] x11: fix BadAtom when pasting large buffers
  * [client] x11: cosmetics
  * [doc] README.md: Correct docs link
  * [doc] Rerganize content into install and build pages
  * [doc] troubleshooting: Move link to new website
  * [doc] README: Emphasis fix
  * [doc] index: IRC moved
  * [all] README: Remove most info already in docs/
  * [doc] index: Correct spelling and add irc, trello, and donate info
  * [doc] module: Change AppArmor path for libvirt to include local/
  * [doc] host: Better formatting for Windows on Windows
  * [doc] host: Reformat build instructions for all platforms
  * [all] README: Comment out inactive docs url
  * [doc] install: Add warning about downloading with git
  * [doc] install: Rename Running the Client to Usage Also move relevant sentence into Usage
  * [doc] module: Add instructions for systemd-modules-load.d
  * [all] README.md: Update Documentation section with /doc
  * [doc] host: Imported from host/README.md Placed at bottom of Technical FAQ to hide it host/README.md removed
  * [module] README.md: Deleted file absorbed into /doc
  * [doc] module: Import from module/README.md
  * [client] doc: Remove README.md as it has been absorbed into doc/install.rst
  * [doc] install: Add keybinds and full cli options from client/README.md
  * [doc] install: Add Keybindings from client/README.md
  * [doc] install: Correct command line examples
  * [doc] install: Add Command Line Options section May in the future include up to date client options from the client
  * [doc] conf: Enable fixed sidebar
  * [doc] install: Add 'local' to AppArmor abstraction path This prevents system upgrades from overriding the addition
  * [doc] obs: Fix code block for installing package
  * [doc] faq: Remove virt-manager instructions
  * [doc] faq: Grammar and page flow improvements
  * [doc] install: Grammar, formatting, and page flow
  * [doc] credits: Add real name to quantum
  * [doc] credits: Add real name to xyene
  * [doc] index: Removed "Contents:"
  * [doc] credits: Add credits
  * [doc] conf: Remove text under logo
  * [doc] install: Update Determining Memory formula
  * [doc] config: Add LG logo and favicon
  * [doc] install: Remove unofficial chocolatey package tip
  * [doc] troubleshooting: Wayland supports clipboard and remove reference to ubuntu
  * [doc] install: Remove 7-zip and add period.
  * [doc] install: Convert bootleg notes into true notes
  * [doc] conf: Correct spelling of "xyene"
  * [doc] faq: FAQt checking and grammar changes No I couldn't resist the pun no matter how much I tried
  * [doc] conf: Add master_doc to explicitly use index.rst This is for compatibility with older sphinx versions
  * [doc] index: Add new welcome message with release version
  * [doc] Import from wiki Imported Installation, FAQ, Troubleshooting, OBS, and Technical FAQ pages from wiki. Edits done to content as this is no longer a wiki, but versioned in-repo documentation
  * [doc] Add _build directory to new .gitignore file
  * [doc] Initialize Sphinx in /doc
  * [obs] fix oob cursor writes
  * [client] wayland: avoid protocol error when warping in capture mode
  * [client] wayland: use util_hasGLExt for swapping buffers with damage
  * [client] egl: use eglSwapBuffersWithDamageKHR for cursor-only updates
  * [client] egl: use new util_hasGLExt helper to check extensions
  * [client] wayland: implement minimize operation
  * [common] option: Reformat help and support rST tables Corners of table have '+' added, and adds new command line flag --rst-help, which adds some extra formatting to the make it an rST compliant table for the in-line docs.
  * [client] x11/sdl/wayland: implement new `minimize` (stub for wayland)
  * [client] ds: add new `minimize` function to the ds interface
  * [client] core: clamp the local position to the dstRect correctly
  * [client] main: fix failure to obey win:autoResize
  * [client] ds: avoid util_cursorToInt when warping pointer
  * [client] wayland: use locked pointer to implement capture mode
  * [client] ds: separate grab and capture logic
  * [client] x11: remove pointer motion event mask
  * [client] egl: show error for glMapBufferRange instead of glBindbuffer
  * [client] wayland: synchronize host cursor position with guest
  * [client] ds: detect when the cursor exits into an overlapping window
  * [client] util: move and rename `clamp` to `util_clamp`
  * [client] ui: add input:helpMenuDelay option
  * [client] win: add new option win:shrinkOnUpscale
  * [client] config: update description for DMA as VM-Host is now supported
  * [client] spice: put new option into the correct category
  * [client] spice: new option `spice:showCursorDot` added
  * [client] x11: cosmetics
  * [client] x11: process clipboard events early
  * [client] x11: fix failure to paste clipboard into the guest
  * [host] nvfbc: fix null dereference in mouse hook handler
  * [host] service: compare SIDs directly without string conversion
  * [host] service: disable handle inheritance when spawning host
  * [host] service: disable privileges as soon as they are not needed
  * [client] egl: do not leak fence when using DMABUF
  * [client] wayland: do not leak cursor wl_buffer and wl_surface
  * [client] libdecor: fix gcc compile warnings-turned-errors
  * [client] spice: update the PureSpice submodule
  * [client] x11: fallback to a utility window if motif atom is missing
  * [client] x11: Find and use the correct valuators for mouse axes
  * [client] x11: set the window center via WM_SIZE_HINTS
  * [client] x11: implement center, borderless and maximized parameters
  * [client] x11: fix segfault caused by clipboard processing on shutdown
  * [client] x11: split out atoms into a seperate structure
  * [client] x11: split out clipboard code for maintainabillity
  * [client] x11: _NET_WM_* hints are ATOMS not CARDINAL
  * [host] windows: re-implement open log safely
  * [host] service: introduce fatal errors for ivshmem failures
  * [host] service: retry a few times when host fails to restart
  * [host] cmake: link correctly against libxcb-xfixes.so
  * [host] ci: install libxcb-xfixes0-dev package
  * [client] ci: correctly set CMAKE_BUILD_TYPE
  * [client] wayland: make input handlers aware of multiple surfaces
  * [client] wayland: implement libdecor pseudo-shell backend
  * [client] cmake: support building with libdecor
  * [client] wayland: split xdg-shell handling into a module
  * [client] wayland: use consistent naming in poll module
  * [common] cmake: correctly link static libbfd.a
  * [common] crash: fix Linux compilation with -DENABLE_BACKTRACE=NO
  * [host] allow user to select capture backend
  * [host] free capture interface on exit
  * [client] ds: build SDL backend in CI
  * [client] wayland: bind no-op drag-and-drop handlers
  * [client] wayland: require wl_compositor v3 instead of v4
  * [client] wayland: gracefully downgrade to wl_output v2
  * [common] crash/linux: generate core dump when handling SIGSEGV
  * [client] readme: remove mention of Wayland's lack of warp
  * [client] readme: remove mention of SDL
  * [client] ds: make SDL display server optional
  * [client] app: delay showing the escape help for 250ms
  * [client] app: do not toggle capture if escapeKey is held
  * [client] fonts: remove SDL font backend
  * [client] font: fix left shift runtime error due to signed shift
  * [client] wayland: clean up #includes in wayland.c
  * [client] opengl: remove dependency on SDL
  * [client] wayland: fail gracefully when interfaces are too old
  * [client] freetype: implement UTF-8 handling
  * [client] fonts: add freetype font rendering backend
  * [client] display correct log path on Windows
  * [client] wayland: handle output scale changes
  * [all] github: add build type to CI matrix
  * [client] all: fix more `maybe-uninitialized` when `-O3` is in use
  * [client] core: fix reversed logic and document the rationale for it
  * [client] core: increase autoCapture false exit detection sensitivity
  * [client] core: remove unnecessary warp and update of cursor location
  * [client] doc: update license output copyright date
  * [client] egl: add option to set initial scale algorithm
  * [client] egl: make scale algorithms toggleable
  * [client] cmake: build for nehalem when OPTIMIZE_FOR_NATIVE=NO
  * [common] detect clang and disable warnings for `unknown-warning-option`
  * [client] app: fix `format-truncation` false positive
  * [common] fix gcc `format-truncation` false positive
  * [client] egl: fix gcc false `maybe-uninitialized` positives
  * [client] egl: destroy cached EGLImages when changing format
  * [client] opengl: scale UI elements on high DPI displays
  * [client] egl: scale UI elements on high DPI displays
  * [client] opengl: support scaled UI for high DPI displays
  * [client] egl: support scaled UI for high DPI displays
  * [client] wayland: pass scale factor information to renderer
  * [client] renderer: add interface for high DPI rendering
  * [client] wayland: keep track of wl_output scale information
  * [client] egl: generate header file with #define for desktop shader
  * [client] egl: add framework for multiple scaling algorithms
  * [module] bump version and add copyright for @quantum5
  * [module] fault in pages one by one for ivshmem devices
  * [client] egl: remove dependency on SDL
  * [client] wayland: split Wayland display server into modules
  * [client] wayland: add option to enable cursor warp
  * [client] wayland: support LG_DS_WARP_SURFACE
  * [client] ds: add surface-only warp variant
  * [doc] Add client ini example to kernel module README.md
  * [client] input: add releaseKeysOnFocusLoss option
  * [client] wayland: make clipboard writes asynchronous
  * [common] add a reference counted buffer type
  * [client] wayland: make clipboard read async
  * [client] wayland: implement epoll registration mechanism
  * [client] egl: force DMA copy into texture in on_frame
  * [common] ivshmem: do not create dmabuf for simple mmap
  * [module] test mmaping with offsets in test program
  * [module] implement mmap on PCI kvmfr devices
  * [module] improve dmabuf mmap logic for vmalloc'd memory
  * [module] update README to reflect VM->host changes
  * [module] support in-memory kvmfr devices
  * [client] wayland: better self-copy detection
  * [client] wm: optionally disable screensaver when requested in guest
  * [host] windows: detect whether screensaver is disabled in the guest
  * [client] wayland: cleanup surface and display
  * [res] added LG logo vector graphics
  * [client] app: always track the mouse button state
  * [client] spice: fix input:grabKeyboardOnFocus
  * [client] renderer: add ability to toggle the FPS display
  * [client] egl: fix race condition in help overlay
  * [client] egl: decrease the font size for the help text
  * [client] egl: create 24-bit colour context
  * [client] x11: set the window class name
  * [client] x11: handle window deletion properly
  * [client] renderer/egl: implement support for rendering help text
  * [client] fonts: support rendering multiline text with SDL
  * [client] keybind: display help overlay while ScrollLock is held
  * [client] keybind: add descriptions for all keybindings
  * [client] kb: add display names for all supported keys
  * [client] renderers: add on_help to renderer interface
  * [client] app: fix spelling error
  * [client] wayland: fix mouse code post refactor
  * [client] ds: refactor app and cursor state into app.c and core.c
  * [client] app: fix broken mouse sensitivity
  * [client] spice/wayland: improve cursor tracking logic
  * [client] wayland: check for the Wayland platform extension
  * [client] opengl: make ds functions optional
  * [client] wayland: add ability to create OpenGL contexts
  * [client] wayland: add stubs for OpenGL functions
  * [client] x11: properly handle window destruction and fullscreen support
  * [client] opengl: implement & fix opengl support
  * [client] x11: cleanup on failure to initialize
  * [client] allow renderers to pass back if they need an OpenGL context
  * [client] app: fix reversed ds init logic
  * [client] app: don't call ds->free if the ds was not initialized
  * [client] egl: fix building without EGL support
  * [client] probe Wayland backend first
  * [client] wayland: decorate window unless borderless is requested
  * [client] wayland: respect request to maximize window
  * [client] wayland: add handling for close event
  * [client] wayland: implement full screen handling
  * [client] wayland: implement cursor handling
  * [client] wayland: handle mouse/keyboard enter events
  * [client] egl: always render desktop texture as opaque
  * [client] wayland: implement window creation for egl
  * [client] ds: added new `getFullscreen` operation
  * [client] x11: don't report borders if in fullscreen mode
  * [client] x11: implemented missing functionallity
  * [client] ds: validate the ds before attempting to use it
  * [client] app: rearrange code to reflect the header
  * [client] ds: re-order as SDL is now the fallback
  * [client] all: move all SDL specific code into `displayservers/sdl`
  * [client] refactor keybinds out of main.c
  * [client] all: refactor keybind code & functions
  * [client] app: replace old SDL_Scancode with int
  * [client] all: move keybind implementation into app.c/h
  * [client] x11: fix double initialization of event members
  * [client] x11/sdl: get the border dimensions from the backend
  * [client] move remaining code in `core.c` into the SDL backend
  * [client/common] restructure project in prep for full SDL removal
  * [all] improve backtrace and debugging support
  * [client] opengl: remove glu dependency
  * [client] spice: correctly ungrab keyboard when grabKeyboardOnFocus=no
  * [client] wayland: allow EGL/OpenGL vsync to be set to on
  * [doc] Change Level1Techs link to Looking Glass forum
  * [doc] Add new Looking Glass discord to README.md
  * [client] spice: don't send zero deltas for Wayland input
  * [host] nvfbc: avoid recreating mouse hook and 1x1 window
  * [host] nvfbc: fix resource leak when pointer thread creation fails
  * [host] nvfbc: move NvFBCToSysCreate into nvfbc_init
  * [host] nvfbc: cleanup threads created by nvfbc_init on failure
  * [client] wayland: fix copying rich text into guest
  * [all] update discord link for issue template
  * [client] spice: fix errant keyboard grab/ungrab behaviour
  * [all] update issue template to reflect new log file path
  * [host] update README.md to reflect new log paths
  * [client] update host log file path
  * [host] installer: create start menu shortcut to log directory
  * [host] windows: move log path to %ProgramData%\Looking Glass (host)
  * [host] nvfbc: always update cursor shape on startup
  * [host] nvfbc: generate cursor position update on startup
  * [client] correct error in variable name from last commit
  * [client] all: don't trigger cursor redraws if the cursor is not visible
  * [host] cmake: use `-march=nehalem` by default
  * [common] windows: implement crash handler for stack traces
  * [host] app: fix possible string overflow
  * [host] service: fix possible use of unitialized variable
  * [host] dxgi: fix maybe uninitialized warning
  * [host] installer: include the debug PDB if it is available
  * [client] egl: use eglGetPlatformDisplay(EXT) if possible
  * [client] prevent `lgInit` from resetting the run state
  * [spice] update the PureSpice submodule
  * [client] unconditionally quit on second SIGINT
  * [host] service: disable buffering on the log file
  * [client] x11: don't attempt to grab the pointer on window resize
  * [client] x11: add error checking around XIGrabDevice
  * [all] fix numerous memory leaks at application shutdown
  * [client] egl: remove accidental commit
  * [client] egl: better debug output for EGL errors
  * [client] egl: nit, fix case of function name
  * [client] egl: commit missed files for the last changeset
  * [client] egl: runtime detect support for `glEGLImageTargetTexture2DOES`
  * [host] nvfbc: update cursor position on shape change
  * [client] wayland: use acceleration in capture mode unless rawMouse
  * [client] spice: always show the pointer if using input:captureOnly
  * [client] spice: fix failure to ungrab the kb with captureOnly
  * [client] app: fix `error: ‘dataSize’ may be used uninitialized` (take 2)
  * [client] app: fix `error: ‘dataSize’ may be used uninitialized`
  * [host] fix faults caused by improper startup/shudown/restart ordering
  * [host] nvfbc: prevent possible double free
  * [host] app: prevent double call to stopThreads
  * [host] nvfbc: remove invalid close of the HMONITOR handle
  * Revert "[client] sdl: move SDL specific screensaver inhibit"
  * [host] fix invalid LGMP free of cursor memory
  * [host] fix the return code for the platform specific init
  * [client] spice: release the mouse if the host stops
  * [host] use posix compatible exit codes (signed char)
  * [host] dont overwrite the exit code on shutdown
  * [host] return a proper exit code
  * [client] app: if spice is not in use, hide the local cursor (fixes #415)
  * [client] sdl: move SDL specific screensaver inhibit out of main.c
  * [client] wm: use correct logic for screensaver inhibition
  * [host] nvfbc: force composition to capture some full screen apps
  * [common] fix invalid read from unaligned addresses (fixes #410)
  * [client] spice/wayland: fix jitter when moving the cursor slowly
  * [github] update build workflow to update apt, and update deps
  * [client] spice: fix failure to align and grab the pointer
  * [client] spice: input:captureOnly shouldn't capture the pointer at start
  * [client] spice: fix input:captureOnly support
  * [client] doc: added `win:rotate` and keybind to README.md
  * [client] config: make the help text for winRotate more descriptive
  * [client] doc: update README.md with new libraries and backend config
  * [client] x11: `xi` is now a required library for the `x11` backend
  * [client] cmake: fix typo in cmake configuration
  * [client] x11: implement screensaver (un)inhibit
  * [client] x11: register for absolute motion events while grabbed
  * [client] x11: fix failure to process the correct focus events
  * [client] spice: set inView false if the focus is lost
  * [client] x11: switch to using XInput2 for all events and warp
  * [client] spice: fix transposed cursor scale calculations
  * [client] Fix compiler warnings about potentially uninitialized variables
  * [client] spice: remove useless check, the displayserver should do this
  * [client] don't hide the cursor unconditionally at startup
  * [client] spice: align the guest pointer to local when entering the view
  * [client] x11: filter out grab/ungrab focus/leave events
  * [client] fix regression causing failure to warp when exiting the window
  * [client] realign the pointer when input is re-enabled
  * [client] always show the cursor when not using spice (fixes #409)
  * [client] all: fix regression with input disable toggle
  * [client] fix keybind regression for EGL
  * [client] x11: filter out duplicate button press events
  * [client] x11: cosmetic, rename `device` to `raw` for raw events
  * [client] x11: fix regression, raw event's dont give us the cursor pos
  * [client] x11: removed left behind ifdef for XINPUT
  * [client] x11: use raw keyboard and mouse button press events
  * [client] app: ignore resize events that don't change the size
  * [client] displayserver: move screensaver handling into displayservers
  * [client] wayland: inhibit idle while Looking Glass has keyboard focus
  * [cmake] wayland: build idle-inhibit-unstable-v1 header
  * [client] dont show the pointer at launch unless it really should be
  * [client] don't attempt to align to the guest with invalid pos data
  * [client] mouse: do not warp the cursor if it's outside the window
  * [client] x11: don't care if SDL has XInput support anymore
  * [client] x11: implement keyboard event handing via xinput
  * [client] spice: do not allow the inView to be set if mouse buttons held
  * [client] egl: force the use of nearest if needed
  * [client] add keybind <ScrollLock+R> to rotate the display at runtime
  * [client] spice: add not subtract to the rotation
  * [client] retain backwards compatibillity for the capture keycode
  * [client] all: properly support guest rotation
  * [client] app: rename up,right,down,left rotation to 0,90,180,270
  * [client] spice/wayland: fix capture mode relative movement
  * [client] add a SDL2 to uapi scancode table
  * [client] add a uapi to PS/2 scancode table
  * [client] wayland: implement key handling
  * [client] use uapi keybindings internally
  * [client] app: move SDL key event handling out of main.c
  * [client] app: add and expose app_handleKeyPress and app_handleKeyRelease
  * [host] dxgi: reverse the rotation angle.
  * [client] remove YUV420 support
  * [host] remove the remainder of the YUV420 support
  * [host] all: pass back the desktop rotation to the client
  * [client] wayland: do not fall back on SDL for scroll events
  * [client] wayland: do not fall back on SDL for button events
  * [client] wayland: clip desired guest cursor position
  * [client] mouse: dont leave the window if any mouse buttons are held
  * [client] x11: prevent default mouse button/wheel handling by SDL
  * [client] app: move SDL mouse event handling out of main.c
  * [client] x11: use XInput for button events if possible
  * [client] app: add and expose new app_handleButtonPress/Release methods
  * [client] app: move SDL window event handing out of main.c
  * [client] app: add new app_handleCloseEvent for displayserver backends
  * [client] app: always call the default eventFilter for unhandled events
  * [client] app: expose app_handleFocusEvent to displayservers
  * [host] windows: make mousehook.c work on secure desktop
  * [client] mouse: correct issues with cursor alignment on enter/exit/focus
  * [client] mouse: do not send mouse updates to the guest if not focused
  * [client] mouse: process mouse up event even if not in view
  * [client] mouse: remove erroneous guard for setCursorInView
  * [client] rename warpMouse to warpPointer
  * [client] wayland: be explicit about lack of warp support
  * [client] wayland: gracefully degrade when protocols are unsupported
  * [client] mouse: don't smooth large cursor jumps (ie, warp to align)
  * [host] windows: sleep for 1 second instead of 1 millisecond
  * [host] windows: allow capture of login screen
  * [client] egl: remove external dependency on libdrm
  * [client] wayland: update absolute mouse position
  * [client] mouse: prevent processing out of capture mode with invalid data
  * [client] mouse: grab the pointer when entering capture mode if needed
  * [client] wayland: report that wayland has no warp support
  * [client] mouse: do not grab the pointer if the platform has no warp
  * [client] mouse: centralize the cursor view state management
  * [client] wayland: fix early return preventing signal being set
  * [client] wayland: move wayland early init code out of main.c
  * [client] displayserver: add new `earlyInit` to the interface
  * [client] wayland: move wayland specific mouse code out of main.c
  * [client] mouse: force the cursor to the in view state when capturing
  * [client] mouse: window enter should not enable drawing the cursor
  * [client] mouse: stop `setGrabQuiet` from grabbing/ungrabbing the pointer
  * [client] wayland: fix mouse logic after refactor
  * [client] major restructure of platform specific code
  * [host] windows: test native build on GitHub Actions
  * [host] windows: avoid quoting issues with CreateProcessAsUserA
  * [obs] build with both GCC and Clang in Github Actions
  * [client] build with both GCC and Clang in Github Actions
  * [host] windows: close handle to token in enablePriv
  * [host] windows: add timestamps to service logs
  * [host] windows: remove ImpersonateLoggedOnUser call
  * [host] windows: handle defined exit codes in service
  * [client] egl: move rotation into the fragment shader
  * [client] all: add screen rotation support `win:rotate`
  * [client] egl: remove no longer used yuv shader
  * [host] windows: improve restart logic and remove mutex hack
  * [host] windows: define exit codes for future use
  * [host] windows: avoid leaking process and thread handles
  * [client] minor nit: compare double to double const
  * [obs] build pull requests and master with GitHub Actions
  * [host] windows: build pull requests and master with GitHub Actions
  * [common] ivshmem/linux: add stubs for ivshmemInit and ivshmemFree
  * [host] linux: link with libX11 and libGL
  * [host] linux: include missing headers
  * [host] xcb: remove undefined getPointer member from Capture_XCB
  * [host] xcb: fix xcb_create signature error
  * [host] xcb: fix xcb_getFrame compile error
  * [host] linux: build pull requests and master with GitHub Actions
  * [module] build pull requests and master with GitHub Actions
  * [client] build pull requests and master with GitHub Actions
  * [all] updated LGMP and PureSpice submodules
  * [client] spice: correctly use fabs for floating point
  * [client] render/opengl: remove braces so fallthrough comment is recognized
  * [client] spice: remove suprious const on function return type
  * [client] enable useful extra warnings
  * [client] add support for compiling with UndefinedBehaviorSanitizer
  * [all] use explicit void parameter lists
  * [client] clipboard/wayland: make DnD a no-op
  * [client] clipboard/wayland: avoid writing back to guest clipboard
  * [client] clipboard/wayland: fix null mimetype receive error
  * [client] wm/wayland: correctly handle double keyboard grab
  * [client] wm: fix duplicate declaration of static struct
  * [client] wm/wayland: bypass SDL loop for pointer events
  * [client] clipboard/wayland: make use of boilerplate from wm.c
  * [client] clipboard/wayland: address style nits
  * [client] clipboard: try each clipboard until one initializes
  * [client] clipboard/wayland: ignore SIGPIPE from clients that hang up
  * [client] clipboard/wayland: implement better text mimetype heuristic
  * [client] clipboard/wayland: support keyboard capability hotplug
  * [client] clipboard/wayland: implement host-to-VM transfers
  * [client] clipboard/wayland: implement VM-to-host image copy
  * [client] clipboard/wayland: implement VM-to-host text copy
  * [client] clipboard/wayland: implement a no-op Wayland clipboard
  * [client] spice/wayland: ignore mouse moves when dpiScale is unknown
  * [client] spice/wayland: use correct coordinate space
  * [client] wm/wayland: generate protocol files into the build dir
  * [client] spice/wayland: correctly update guest cursor location
  * [client] wm/wayload: implement keyboard grabbing
  * [client] removed last remnents of the decoders & parsers
  * [client] wm/wayland: implement grab mode for capture
  * [client] wm/wayland: don't grab keyboard
  * [cmake] add option to build Wayland headers
  * [client] spice: zero the error accumulators when switching grab modes
  * [client] spice: use modf in `cursorToInt` for fractional tracking
  * [client] spice: use simple custom Wayland mouse logic
  * [client] spice: set absolute position and focus state on Wayland
  * [client] no need to set the hint here anymore as it's set in wm.c now
  * [client] wm: specify SDL_FALSE to SDL_SetWindowGrab in wmUngrabPointer
  * [client] wm: added new platform agnostic wmWarpMouse
  * [client] remove grab/ungrab stubs
  * [client] spice: create and use platform agnostic grab/ungrab methods
  * [client] clipboard: fix heap-buffer overflow in clipboardRequest
  * [client] spice: fix cursor position mismatch with UI scaling
  * [client] fix screensaver enable
  * [client] add support for compiling with AddressSanitizer
  * Revert "[client] spice: better x11 grab/ungrab behaviour"
  * [client] don't show capture message at startup unless it's on
  * [client] spice: better x11 grab/ungrab behaviour
  * [client] egl: actually set the `dma` texture member
  * [client] egl: detect the NVIDIA driver and disable DMA support
  * [client] spice: fix loss of click/focus on resize
  * [client] fix ignoreQuit on Wayland
  * [client] add `input:captureOnly` to disable input when not captured
  * [client] updated README with new option description
  * [client] spice: allow mouse smoothing in capture but only if not RAW
  * [client] updated README with new options
  * [client] spice: added basic mouse smoothing for non-capture mode
  * [client] spice: fixed grabKeyboardOnFocus regression
  * [client] cursor: ensure cursor is rendered at init and aligned
  * [client] fix issues with cursor not always showing
  * [client] spice: when in autoCapture limit the exit delta
  * [client] refactor `struct CursorState` to use `struct DoublePoint`
  * [client] spice: dont ignore input that doesn't exit the window
  * [client] spice: don't grab the keyboard input unless we are focused
  * [client] spice: obey input:grabKeyboard
  * [client] spice: added new `input:autoCapture` mode
  * [client] spice: rewrite cursor handling code to take advantage of xinput
  * [client] updated the PureSpice submodule
  * [client] spice: filter out events that have < 2 axis
  * [client] all: use nanosleep instead of usleep for better precision
  * [client] spice: flag the cursor as inView unconditionally in capture
  * [client] added new feature input:rawMouse for RAW mouse input
  * [client] spice: filter out duplicate X xinput events
  * [client] spice: don't use the raw data values for raw input
  * [common] linux: stop event signals accumulating after they are serviced
  * [client] spice: apply sensitivity when in raw capture mode
  * [client] spice: x11 use xinput2 raw mode if possible for captured mouse
  * [client] spice: detect end of warp based on serial and x & y match
  * [client] spice: refactor g_cursor.last to g_cursor.pos
  * [client] spice: fix reversed warp offset math and incorrect lookbehind
  * [client] spice: general improvements to cursor warp logic
  * [client] ll: add new method ll_peek_tail
  * [client] spice: look for x11 warp completion events in key/btn events.
  * [client] spice: prevent the cursor from escaping while captured
  * [client] spice: fix rounding issue causing entry->exit in the same event
  * [host] use the HotSpot information as provided by DXGI
  * [client] spice: always flush XWarpPointer calls
  * [client] fix the warp logic to account for still pending warps to finish
  * [client] ll: fix failure to properly track the list size
  * [client] move new scaling variables into the CursorState struct
  * [client] print out the client version too when there is a mismatch
  * [client] if the host version doesn't match wait for it to be upgraded
  * spice: scale mouse input based on host DPI information
  * get display DPI info to scale mouse movement
  * [client/host] disable stack execution
  * [client] spice: don't rely on the cursor position when it's not visible
  * [client] always update positional information when new format
  * [client] doc: updated the readme with the latest options and bindings
  * [client] spice: add option to ignore the windows key
  * [client] spice: add new keybinds <ScrLck>+<LWin>, <ScrLck>+<RWin>
  * [client] cosmetics
  * [client] spice: properly handle high-precision scroll wheel input
  * [client] require 8 bit colour when creating OpenGL context
  * [client] egl: disable EGL when running on Wayland
  * [client] spice: use xlib directly for warping
  * [client] spice: just minor refactoring and commenting of code
  * [client] fix invalid method names
  * [client] fix hang in eglSwapBuffers when exiting while not visible
  * [client] set default opengl:vsync=off
  * [client] fix Wayland detection logic
  * [client] spice: don't ignore all enter window events
  * [client] video: ensure that the renderer is always updated on resize
  * [client] spice: also grab keyboard when in capture mode
  * [client] spice: use XGrabPointer when in grab mode
  * [client] spice: be more aggressive with window warp for high DPI mice
  * [client] spice: fix borderless due to another SDL bug
  * [client] rename `state` to `g_state`
  * [client] refactor cursor variables into their own global struct
  * [module] bump the version
  * [module] fix loading on 5.10, new member nr_range must be specified
  * [client] spice: correct enter/leave event handling
  * [client] spice: fix mouse warp on window focus
  * [client] spice: correct oob hotspot
  * [client] spice: correct rounding errors when reaching edges
  * [client] spice: take into account the render rect for the new x/y pos
  * [client] spice: don't process cursor input when the local cursor is oob
  * [client] spice: don't use SDLs capture mode under X11, we have our own
  * [client] spice: take the cursor hotspot into account
  * [doc] update devicenames in module/README.md
  * [doc] update Looking Glass website in README.md
  * [host] nsis: change 'Stopping' to imperative 'Stop'
  * [host] nsis: log more details about the process
  * [cmake] remove --long from version.cmake
  * [host] nsis: amended installer welcome description
  * [host] nsis: adds colour to installer and welcome screen
  * [host] nsisi: add welcome page to installer
  * [cmake] replace git diff logic with git describe --dirty
  * [cmake] ensure the version is flagged as dirty in all cases
  * [client] egl: actually do front buffer rendering
  * [client] egl: only use a single texture but multiple PBOs
  * [client] egl: check for EGLImage creation failure
  * [client] egl: improve DMA logic
  * [host] dynamically locate CreateProcesssAsUserA for pre-win 10
  * [client] spice: calculate the entry point delta correctly
  * [client] spice: stop the cursor skipping the letterboxing
  * [client] spice: fix mouse exiting when the window is letterboxed/padded
  * [client] spice: only check for a valid position if needed
  * [client] spice: don't disable warp when the future cursor pos is invalid
  * [client] spice: adjust ordering to avoid dropping mouse input events
  * [client] spice: don't scale mouse if it's 1:1
  * [client] reworked the mouse tracking logic
  * [client] added streaming clipboard support for large transfers
  * [client] clipboard: correctly alert for large buffers
  * module: fix kernel module compilation on Linux 5.10+
  * [client] remove left behind debug output
  * [client] update the PureSpice submodule to fix large clipboard bug
  * [client] clipboard: refactor for readabillity
  * [client] don't grab keyboard if spice input is disabled
  * [client] egl: detect if egl is even available
  * [client] added new option input:grabKeyboardOnFocus
  * [client] added support for spice side/extra buttons
  * [client] set fullscreen after window creation to keep window dimensions
  * [client] always set the minimize on focus loss hint
  * [client] grab the keyboard when the window has focus
  * [client] add option to always show cursor
  * [host] don't allocate LGMP_Q_POINTER_LEN cursor shape buffers
  * [client] egl: cleanup/refactor of cursor texture code
  * [client] fixed incorrect warpState
  * [client] egl: fixed typo
  * [client] egl: added colorblind support (egl:cbMode=0/1/2/3)
  * [client] fix divide by zero fault with fpsMin disabled (set to 0)
  * [repos] updated the submodules from a prior accdental reversal
  * [module] updated description, copyright and author
  * [host] don't fail if windows is dumb and doesnt give us the cursor info
  * [host] enlarge the cursor buffer size for large cursor shapes
  * [client] egl: no need to create textures when using DMA mode
  * [client] egl: remove deprecated YUV420 support
  * [all] move defines for LGMP_QUEUE_*_LEN into KVMFR.h
  * [module] fix integer overflow in kvmfr_dmabuf_create
  * [module] fix compile on >= 5.9.0
  * [module] remove now deprecated uio support
  * [client] egl: select the correct fourcc type for dma mode
  * [client] common: added spin timeout to framebuffer wait
  * [client] fix usage of uninitialized time variable
  * [client] egl: added DMA texture support for direct upload
  * [client] added initial framework for dma buffer support
  * [common] linux: added helpers for ivshmem DMA usage
  * [common] linux: added support for kvmfr dmabuf
  * convert clipboard data type variable to Looking Glass enum before passing it to function
  * change 'frameCount' to be atomic
  * [lgmp] updated the submodule
  * [client] reworked frame timing waits for better responsiveness
  * [client] fix transposed tsDiff arguments
  * [repos] updated PureSpice submodule
  * [all] updated the LGMP submodule
  * [host] init ivshmem options before testing
  * [host] windows: check the ivshmem device exists in the service
  * [host] set the program name/description in the app.manifest
  * [client] fix race with call to `on_restart`
  * [client] add new keybind to toggle the video stream (ScrLck+V)
  * [client] added new option win:dontUpscale
  * [host] dxgi: fix incorrect bpp value
  * [client] seperate frame setup and data events
  * [host] dxgi: ensure formatVer is incremented on re-init
  * [all] added new format version field to frame header
  * [common] linux: print reason for failure to open the shm file/device
  * [client] opengl: added RGBA16F support
  * [obs] added RGBA16F support
  * [client] egl: fix RGBA16F support
  * [client] egl: correct invalid value for texture row length
  * [host/client] fix invalid initialization of RGBA16F
  * [host/client] added experimental RGBA16 float support (EGL only)
  * [obs] added monochrome cursor support
  * [obs] added masked color cursor support
  * [obs] added RGBA cursor support
  * Add option to skip splash screen fade out
  * [all] more versioning fixes
  * [all] set the working directory for git versioning commands
  * [all] pass the project path to the version.cmake script
  * [host] fix nsis build failure to do invalid path to new VERSION file
  * [all] be smarter about getting the git version
  * [all] updated issue template and readme in preperation for B2
  * [host] dxgi: don't try to get the hotspot of a null cursor
  * [host] dxgi: fix memory leak if an error occurs

-------------------------------------------------------------------
Wed Sep 16 14:51:08 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200821~gitB2rc4:
  * [client] don't hide the cursor when SPICE is disabled
  * [client] ensure the cursor is updated when the window looses/gains focus
  * [client] added new input:mouseRedraw option
  * [client] only resync the timer if we got an early frame
  * [client] spice: improve mouse syncronization with the host
  * [all] update KVMFR to provide cursor hotspot information
  * update client/README.md: spice:captureOnStart from #278
  * Update host/README.md: c-host -> host
  * [client] egl: ensure overflow occurs for state value checks
  * [host] dxgi: rework locking and retry logic for lower latency
  * [host] dxgi: improve frame signaling mechanics
  * [host] update information about PsExec now LG can run as a service
  * [host] updated the readme with regards to log file location
  * [host] Windows: fix uninstaller product name
  * [host] Windows: multiple fixes to the installer
  * [Host] Convert installer to setup service instead of scheduled task
  * [Host] Change default install dir "Looking-Glass" to "Looking Glass"
  * [Host] Correct installer and shortcut names
  * [Host] Installer command line options and install location selection add
  * [Host] Add instructions on how to build NSIS installer.
  * [Host] NSIS script change names from C-Host to Host
  * [c-host] Add NSIS installer script
  * [host] Windows: service (un)install now starts/stops the service
  * [common] linux: fix issue with infinite timeout events
  * [host] increase sleep timeout to 100ms
  * [host] shutdown capture if there are no subscribers
  * [host] Windows: change "Open Log File" to "Log File Location"
  * [host] Windows: don't open the log file, instead show it's location
  * [host] Windows: run with HIGH priority if started by the service
  * [host] send the correct cursor shape on client connection
  * [host] Windows: poll more freqently for a stopped LG process
  * [client] rework the start/restart logic to use an enum
  * [client] egl: don't fade the splash when restarting
  * [client] be quicker at detecting restart and quieter about it
  * [client] fix crash on shutdown while waiting for a restart
  * [client] egl: properly wait for a new frame on restart
  * [client] gracefully restart if the host application restarts
  * [host] Windows: added missing linker library
  * [host] windows: fix crosscompile take 2
  * [host] windows: fix linux crosscompile
  * [host] Windows: improved service restart detection
  * [host] Windows: added missing service files
  * [host] Windows: Implemented service to launch LG as the SYSTEM user
  * [common] properly define _GNU_SOURCE and set the thread names
  * [common] added a sleep to the framebuffer spinlock and a sane timeout
  * [doc] readme updated with PsExec information
  * [all] update the LGMP submodule
  * [client] always use spice mouse host mode
  * [client] reset the frame time when we get a frame signal
  * [client] we are getting the clock anyway, just reset the time
  * [client] use atomics to track frame counts and avoid extra signals
  * Revert "[common] linux: improve event mechanics"
  * [common] linux: improve event mechanics
  * [obs] cosmetic
  * [obs] microsttuer fix, be sure to always grab the latest frame
  * [host] dxgi: default to using the acquire lock
  * [host] dxgi: boost GPU thread priority if possible

-------------------------------------------------------------------
Mon Aug 03 13:37:22 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200803~gitB2rc2:
  * [common] fixed debug formatting across platforms
  * [common] framebuffer: fixed incorrect streaming usage
  * [common] adjust framebuffer read/write strategy for better cache usage
  * [common] unroll the framebuffer write loop and increase the chunk size
  * [host] don't stop the timer when restarting capture
  * [common] framebuffer: added missing header include
  * [common] framebuffer: use stream load instead of plain load
  * [common] fixed framebuffer write SIMD code performance
  * [common] improve frambuffer copy to avoid cache pollution (SIMD)
  * [common] linux: implement timers
  * [client] egl: make better use of atomics and fix modulus bug
  * [client] add option to capture input on start

-------------------------------------------------------------------
Sat Jun 27 17:39:19 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200530~gitB2rc2:
  * [client] egl: don't map the texture until it's needed
  * [host] search the applications local directory for the config
  * [client] egl: fix non-streaming texture updates
  * [client] egl: dont re-setup the fps texture on each update
  * [client] egl: don't unmap/map all buffers for each frame
  * [client] report the host version on mismatch if possible
  * [client] stop people running the client as root
  * [client/host] share the host version with the client for diagnostics
  * [host] send the latest cusror information when a new client connects
  * [c-host] renamed finall to just plain `host`

-------------------------------------------------------------------
Fri May 22 20:11:29 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200522~gitB2rc2:
  * [misc] minor readme update
  * [obs] remove useless advance operation
  * [client] check for underflow when checking frame time
  * [client] implemented better clock drift correction
  * [client] put back the fps correction from drift/skew
  * [client] more fps limiter fixes
  * [client] revert cusror update render trigger
  * [client] rename `fpsLimit` to `fpsMin`
  * [client] fix the fps limiter
  * [client] allow mouse movements to trigger render updates
  * [client] egl: fix context binding enabling a lock free implementation
  * [client] drop the default FPS target to 60 now that the fps is dynamic
  * [client] remove microstutter warning when using the fps display
  * [client] egl: alter warning about low fps as it doesn't apply anymore
  * [client] allow frame updates to be triggered by a timed event
  * [client] egl: move context init to lock function
  * [client] egl: make better use of the second thread for streaming
  * [obs] add delay to fix startup
  * [client] add short delay to improve initial startup
  * [client/obs] update to use new LGMP init api
  * [client] egl: use atomic members instead of locking the entire state
  * [obs] improvements to help prevent client timeouts
  * [client] egl: add low FPS warning when failing to keep up
  * [client] egl: reworked the streaming texture pipeline

-------------------------------------------------------------------
Tue May 19 09:13:26 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200519~gitB1:
  * [profiler] client: updated to use new lgmp API and path
  * [all] remove github specific unused config file
  * [all] project cleanup
  * [client] egl: use proper atomics for pbo counting
  * [obs] update to use new LGMP interface
  * [client] fix host wait logic and print more useful help
  * [c-host] add kvmfr version to host output
  * [client] cleanup debug output
  * [client/host] added enforcement of KVMFR versioning
  * [obs] fix another potential deadlock
  * [obs] remove debug printf
  * [client & host] update the LGMP project to fix timeout issues
  * [obs] fix potential deadlock
  * [obs] use thread to handle frame advance when obs is behind
  * use a timer for the LGMP host instead of a thread
  * [client] egl: typo fix in info message
  * [client] fix missing release_key_binds for mouse sensitivity bindings
  * [client] add quit keybind
  * update PureSpice to fix clipboard bug
  * updated PureSpice submodule
  * update PureSpice submodule
  * update PureSpice submodule
  * [spice] updated the submodule to fix a minor shutdown glitch
  * [client/obs] improve frambuffer_read functions to support copy pitch
  * [client] opengl: render frame if config didn't change
  * [client] update PureSpice submodule to resolve build issue with -O3
  * [c-host] dxgi: add more robust error handling on cursor shape failure
  * [client] removed accidental debug commit
  * [c-host] dxgi: close the desktop on deinit
  * [c-host] Enable secure desktop capture using SetThreadDesktop
  * [common] fix framebuffer_prepare to use atomic_store
  * [common] fix FrameBuffer to use atomics correctly

-------------------------------------------------------------------
Thu Apr 09 17:23:29 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200407~gitB1:
  * [client] provide better mouse tracking when exiting/entering the window
  * [c-host] LGMP: increase the timeouts

-------------------------------------------------------------------
Thu Apr 02 10:31:56 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200402~gitB1:
  * [client] fix buffer overflow in opengl_options
  * [module] added missing kvmfr.h, fixes #253
  * [spice] updated the submodule, fixes #249

-------------------------------------------------------------------
Tue Mar 10 13:50:04 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200311~gitB1:
  * [module] fix compilation for linux 5.6

-------------------------------------------------------------------
Tue Feb 25 16:38:05 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200225~gitB1:
  * [common] fix build for newer versions of binutils

-------------------------------------------------------------------
Fri Feb 14 14:03:23 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200212~gitB1:
  * [c-host] dxgi: dont send null movements when only the visibility changed
  * [c-host] dxgi: fix failure to provide cursor visibility information

-------------------------------------------------------------------
Fri Feb 07 22:15:06 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200203~gitB1:
  * [client] updated the PureSpice submodule
  * [client] updated spice submodule to fix shutdown bug
  * [client] update to properly disconnect from spice
  * [repos] updated submodules
  * [doc] added new github sponsorship option to README.md
  * [github] updated sponsorship for github sponsors
  * Fixed typo in issue template
  * [all] updated the main README.md file
  * [client] moved spice into a seperate repository

-------------------------------------------------------------------
Fri Jan 31 08:52:36 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200129~gitB1:
  * [c-host] revert locking series, this needs more thought
  * [c-host] make pointer post function thread safe
  * [c-hots] fix incorrect unlock timing
  * [c-host] increase the queue length and remove debug output
  * [c-host] dxgi: use low level mouse input by default
  * [c-host] nvfbc: no need for a cursor position event with LGMP
  * [all] cleanup use of atomic locking and switch to C11 stdatomic
  * [spice] reworked to avoid locking requirements on the input channel
  * [spice] improve connection code to use a single buffer
  * [LGMP] update the submodule
  * [kvmfr] stop the module building the test application by default
  * [common] `1e9` is a floating point notation
  * [common] fix building on mingw for linux
  * [lgmp] update module again with actual fix!
  * [LGMP] updated the module again
  * [c-host] don't hog CPU resources if queues are full
  * [common] added timestamps to log output
  * [c-host] respect the full queue
  * [LGMP] updated the submodule with the fixed locking mechanics
  * [c-host] nvfbc: correct frame change check logic
  * [c-host] nvfbc: do not send frames that have not changed
  * [obs] update the LGMP module to fix low frame rate capture issue
  * [c-host] increase delay as lgmp clients can now remove empty messages
  * [common] linux: signal should signal all listeners
  * [LGMP] submodule update again
  * [LGMP] another submodule update
  * [LGMP] updated the submodule again
  * [client] fix hang when trying to terminate an unconnected client
  * [all] updated LGMP module, a rebuild of host and client IS required
  * [client] always update the renderer cursor state
  * [all] make cursor visible a flag and send it seperate to position
  * [c-host] decrease LGMP polling interval to a sane value and comment
  * [c-host] dxgi: invisible cursors do not have position information
  * [lgmp] updated the lgmp submodule
  * [c-host] increased the polling delay as there is a better fix for LGMP
  * [c-host] increase lgmp host process resolution
  * [c-host] win: fixed improper signal detection in event code
  * [client] updated to use new cursor state flags
  * [c-host] inform the client if we have positional cursor information
  * [c-host] mousehook: ignore repeated hook events
  * [kvmfr] fixed incorrect buffer size calculation
  * [c-host] fix bounds checking on frame index
  * [c-host] actually use the 2nd LGMP frame

-------------------------------------------------------------------
Thu Jan 23 13:41:33 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200121~gitB1:
  * [common] fixed improper comment parsing, fixes #233
  * [client] increase the lgmp queue timeouts
  * [spice] prepare spice for external usage
  * [client] cosmetics
  * [client] added checking for invalid arguments to custom string options

-------------------------------------------------------------------
Fri Jan 17 19:37:57 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200117~gitB1:
  * [all] moved time and locking methods to the common library
  * [egl] added fallback for platforms not supporting eglGetPlatformDisplay

-------------------------------------------------------------------
Tue Jan 14 22:16:01 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200113~gitB1:
  * [client] override new behaviour in SDL 2.0.15 and disable xinput2

-------------------------------------------------------------------
Mon Jan 13 09:01:13 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200113~gitB1:
  * [all] expose the FrameBuffer struct for correct sizeof calculations
  * [all] align the frame data to the page boundary
  * [c-host] adjust maximum size to account for alignment
  * [c-host] ensure frames are page aligned
  * [common] added agnostic function sysinfo_getPageSize
  * [kvmfr] don't recreate the pages for each map
  * [lgmp] updated the module to bring in support for aligned allocations
  * [client] enable SDL_SYSWMEVENT on X11 to work around SDL2 bugs
  * [kvmfr] bump the version in dkms.conf
  * [kvmfr] added the ability to obtain a dmabuf of the ivshmem memory

-------------------------------------------------------------------
Sun Jan 12 16:03:27 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200112~gitB1:
  * [common] add comment support to the ini parser
  * [common] revert /dev/uio0 naming change behaviour
  * [c-host] nvfbc: free event on deinit
  * [c-host] nvfbc: fixed invalid nvfbc init
  * [c-host] update NvFBC to use new capture interface
  * [spice] turn on TCP_QUICKACK
  * [client] don't send mouse click events when out of view
  * [client] don't draw the cursor if it leaves the frame
  * [client] more cursor tweaks for better integration with the WM
  * [client] more cursor tweaks and some cleanup
  * [client] fix mouse acceleration when in capture mode
  * [client] improved sync with guest cursor position
  * [c-host] updated to use new LGMP API to increase the timeout
  * [obs] implemented intial OBS Looking Glass Client plugin
  * [all] updated LGMP submodule
  * [client] don't fail on invalid magic at startup
  * [profiler] updated to use LGMP
  * [common] numerious bad usage bug fixes
  * [c-host] increase the pointer queue length
  * [lgmp] updated submodule
  * [lgmp] updated submodule
  * [client/c-host] updated to use new LGMP naming conventions
  * [c-host] cleanup dxgi cursor code a bit
  * [client] handle pointer visibility properly
  * [client] added support for LGMP
  * [c-host] use the correct buffer for the cursor shape
  * [c-host] improved intial connection sync
  * [c-host] don't overflow the pointerMemory array
  * [LGMP] start of c-host conversion to use LGMP

-------------------------------------------------------------------
Mon Jan 06 13:22:12 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200106~gitB1:
  * [common] link setupapi for ivshmem windows implementation
  * [common] properly detect all versions of Windows 8
  * [c-host] dont use DX12 feature levels on Windows8
  * [client] check for clock drift and correct for it

-------------------------------------------------------------------
Sun Jan 05 22:02:09 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200106~gitB1:
  * [common] added back support for shared memory files

-------------------------------------------------------------------
Fri Jan 03 09:03:51 UTC 2020 - pousaduarte@gmail.com

- Update to version 20200103~gitB1:
  * [c-host] dxgi: check for failure of getDesc1
  * [client] fixed strange resize effect due to loss of precision
  * [client] fix issue with windowmanager forcing the window size (i3wm)
  * [client] added new `win:forceAspect` option
  * [client] use the event data instead of calling SDL_GetWindowSize
  * [client] update client to use the common ivshmem* methods
  * [c-host] init platform app struct
  * [common] move ivshmem code into the common library
  * [client] switch from SDL_Cond to LGEvent
  * [client] switch from SDL_Thread to lgThread
  * [common] moved linux agnostic code into the common library
  * [common/c-host] move agnostic code into `common` library

-------------------------------------------------------------------
Sat Dec 28 15:53:01 UTC 2019 - pousaduarte@gmail.com

- Update to version 20191228~gitB1:
  * Fix client not building on void linux Thanks to

-------------------------------------------------------------------
Thu Dec 19 19:28:33 UTC 2019 - pousaduarte@gmail.com

- Update to version 20191219~gitB1:
  * [c-host] fix #220, invalid handle provided to WaitForObjects
  * [client] fix return value in spice_read_nl error path

-------------------------------------------------------------------
Tue Dec 17 18:57:03 UTC 2019 - pousaduarte@gmail.com

- Update to version 20191217~gitB1:
  * [c-host] dxgi: fix segfault with maxTextures=1 on client reconnect
  * [c-host] nvfbc: fix build attempt 2 :)
  * [c-host] nvfbc: fix failure to build due to new event interface
  * [c-host] dxgi: futher event improvements
  * [c-host] add spinlock support to events and alter dxgi to use them
  * [c-host] dxgi: added new `useAcquireLock` option for quirked GPUs
  * [common] locked section macro should use it's argument
  * [c-host] dxgi: interlock so we can map outside of the capture thread

-------------------------------------------------------------------
Sun Dec 15 12:52:39 UTC 2019 - pousaduarte@gmail.com

- Update to version 20191215~gitB1:
  * [c-host] DXGI profiled and tuned again :)
  * [profile] added a tool to help profile the host capture perf
  * [c-host] windows: don't attach to the debuggers console
  * [c-host] windows: fix --help output in command prompt
  * [c-host] readme: change windows instructions to use MSYS2
  * [c-host] readme: added dev setup instructions for Windows

-------------------------------------------------------------------
Thu Dec 12 19:05:02 UTC 2019 - pousaduarte@gmail.com

- Update to version 20191213~gitB1:
  * [client] Use eglGetPlatformDisplay() to fix surface creation
  * [client] opengl: handle configuration failure properly
  * [client] opengl: fixed failure to render full frame

-------------------------------------------------------------------
Tue Dec 10 22:31:56 UTC 2019 - pousaduarte@gmail.com

- Update to version 20191210~gitB1:
  * [client] fix rare race condition when renderer is not ready

-------------------------------------------------------------------
Fri Nov 15 19:33:32 UTC 2019 - pousaduarte@gmail.com

- Update to version 20191115~gitB1:
  * respect minimizeOnFocusLoss

-------------------------------------------------------------------
Thu Oct 31 14:25:10 UTC 2019 - pousaduarte@gmail.com

- Update to version 20191030~gitB1:
  * [misc] added sponsorship config for github

-------------------------------------------------------------------
Sat Oct 26 12:29:24 UTC 2019 - pousaduarte@gmail.com

- Update to version 20191026~gitB1:
  * [client] cleanup and re-order startup/shutdown code
  * [client] properly shutdown on failure to connect to the spice server
  * [client] don't require wayland-egl, fixes #204

-------------------------------------------------------------------
Thu Oct 24 18:14:38 UTC 2019 - pousaduarte@gmail.com

- Update to version 20191024~gitB1:
  * [c-host] windows: update ivshmem driver header and usage

-------------------------------------------------------------------
Wed Oct 16 18:15:45 UTC 2019 - pousaduarte@gmail.com

- Update to version 20191014~gitB1:
  * [common] obey the destination buffer size
  * [all] bump KVMFR version due to incompatible changes
  * [host] cosmetics

-------------------------------------------------------------------
Wed Oct 09 20:55:58 UTC 2019 - pousaduarte@gmail.com

- Update to version 20191009~gitB1:
  * [client] fix xor support for masked color cursors
  * [common] fix bug in framebuffer_read
  * [all] fix the version
  * [client/host] added new asyncronous memory copy

-------------------------------------------------------------------
Sun Sep 01 20:05:51 UTC 2019 - pousaduarte@gmail.com

- Update to version 20190830~gitB1:
  * [client] egl: improved streaming texture syncronization
  * [client] fix shutdown race condition with the frame thread
  * [client] egl: more verbose error on texture egl failures
  * [client] fix invalid shutdown of renderer outside of it's thread
  * [EGL] add debug printf helper

-------------------------------------------------------------------
Sat Jul 27 10:03:56 UTC 2019 - pousaduarte@gmail.com

- Update to version 20190723~gitB1:
  * [client] fix failure to build due to broken symlink, fixes #173

-------------------------------------------------------------------
Tue Jul 16 07:23:19 UTC 2019 - pousaduarte@gmail.com

- Update to version 20190715~gitB1rc6:
  * [client] added missing include

-------------------------------------------------------------------
Wed Jul 10 20:41:01 UTC 2019 - pousaduarte@gmail.com

- Update to version 20190710~gitB1rc6:
  * [client] autodetect monitor refresh rate for fps limit
  * Implement option to disable minimizing window on focus loss. Default behavior is not changed - not configuring these options unfocused window is minimized.

-------------------------------------------------------------------
Sat Jun 22 10:49:06 UTC 2019 - pousaduarte@gmail.com

- Update to version 20190619~gitB1rc6:
  * [all] allow disable of backtrace support during build
  * [client] fix typo in SDL_VIDEODRIVER from prior patch, whoops :)
  * [client] don't override SDL_VIDEODRIVER if it is already set
  * [client] improve streaming texture performance

-------------------------------------------------------------------
Sat Jun 15 22:05:29 UTC 2019 - pousaduarte@gmail.com

- Update to version 20190612~gitB1rc5:
  * [c-host] not all versions of mingw support wcstombs_s

-------------------------------------------------------------------
Sun Jun 09 13:16:26 UTC 2019 - pousaduarte@gmail.com

- Update to version B1c5~git20190606:
  * Rewrite dkms.conf
  * Update makefile to allow kernel override

-------------------------------------------------------------------
Fri May 31 17:48:17 UTC 2019 - pousaduarte@gmail.com

- Update to version B1c5~git20190531:
  * [client] README.md cosmetics
  * [client] updated documentation for new keybinds
  * [client] added keybinds to send Ctrl+Alt+Fn
  * [all] made a nicer icon, hopefully just a placeholder for now
  * [client] allow the screensaver to run
  * [client] fix invalid access on early termination

-------------------------------------------------------------------
Wed May 29 21:13:34 UTC 2019 - pousaduarte@gmail.com

- Update to version B1c5~git20190528:
  * [c-host] dxgi: fix invalid cursor type define
  * [c-host] take just the ivshmem headers and omit the kvm-guest submodule
  * [host] removed old host application from the project, see c-host
  * [c-host] resend the last on client reconnect if a timeout occurs
  * [all] fix missing cursor when client reconnects

-------------------------------------------------------------------
Mon May 27 12:51:31 UTC 2019 - pousaduarte@gmail.com

- Update to version B1c3~git20190527:
  * [client] egl: remove accidental commit of debug code
  * [client] egl: expose a few new tuneables
  * [client] main: properly shutdown if renderer fails to init
  * [client] typo in config help text
  * [c-host] dxgi: allow out of order frame mapping
  * [common] option: fixed missing null terminator
  * [common] fix failure to initialize structure
  * [client] check for failure to map pbo memory
  * [client] fix the binary path when debugging
  * [c-host] dxgi: don't stall the GPU pipeline to map textures to ram
  * [client] Add win:maximize to maximize on startup
  * [client] Fix typo in example of README.md

-------------------------------------------------------------------
Fri May 24 14:05:12 UTC 2019 - pousaduarte@gmail.com

- Update to version B1c2~git20190524:
  * [common] fixed issue with building for windows (typo)
  * [client] main: add + sign to mouse sensitivit alerts
  * [client] fix typo
  * [client] main: new feature to increase/decrease mouse sensitivity
  * [client] main: better UX with the escape key combinations
  * [doc] client: document defaults instead of my preconfigured values
  * [doc] fixed another formatting snafu
  * [doc] fix formatting a bit
  * [doc] Updated project documentation in leu of Beta 1 release
  * [egl] alert: fix fuzzy font bug and make alerts a little more plesant
  * [module] update instructions and add dkms.conf
  * [client] shutdown application on window close even if ignoreQuit is set
  * [all] corrected NV keybinding information in README.md
  * [client] egl: query maximum multisample support for MSAA context
  * [common] added new sysinfo unit and multisample query support
  * [client] egl: add options for maximum NV level and initial level
  * Set theme jekyll-theme-cayman
  * [all] futher tweaks to the readme.md
  * [all] updated the main readme in preperation of beta 1
  * [c-host] nvfbc: expose option to disable cursor decoupling
  * [c-host] nvfbc: print out the SDK version and enable NvFBC
  * [c-host] correct NvFBC information in the README.md
  * [c-host] just another minor readme update
  * [c-host] try to be more compatible with mingw headers
  * [c-host] minor readme updates
  * [c-host] fixed project for cross compliation for Win on Linux
  * [client] egl: fix streaming texture re-init crash
  * [client] app: new options to reduce CPU usage
  * [client] egl: use persistant mapped texture buffers
  * [client] fix race condition on initial uniform access
  * [c-host] added tray icon and context menu
  * [client] added missing semi-colon (not sure how that happened)
  * [client] fixed typo in option description
  * [client] port all configuration parsing to use the new option helper
  * [common] option: add debug errors for invalid options
  * [common] option: fix another invalid usage of an unset variable
  * [common] option: allow short options to toggle boolean values
  * [common] option: trim whitespace from option names and values
  * [common] option: fix crash on failure to parse invalid config file
  * [common] option: fix incorrect column header padding
  * [common] option: fix invalid access of null/invalid options
  * [common] option: added shortopt support and pretty help print
  * [common] added stringutils with alloc_sprintf helper
  * [common] fix stringlist const free bug

-------------------------------------------------------------------
Sat May 18 15:11:09 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190517:
  * [c-host] windows: fix dxgi option struct syntax
  * [c-host] windows: add log file output option
  * [c-host] option: fix memory corruption due to usage of old pointers

-------------------------------------------------------------------
Mon May 13 12:45:24 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190512:
  * [common] track if option set failed and print help if so
  * [c-host] linux: implemented `getValues` support for shmDevice option
  * [common] add getValues callback for options
  * [common] added new StringList helper module
  * [c-host] be compatible with new option ABI
  * [common] rework option API to allow for custom types

-------------------------------------------------------------------
Sat May 11 10:19:29 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190511:
  * [common] make local struct local
  * [c-host] load config from looking-glass-host.ini if available
  * [common] added config file loading capability
  * [c-host] linux: remove extra shm device name validation
  * [common] remove "Option" from the option help output
  * [common] further option help cleanup
  * [c-host] update to use new option validator and tidy up output
  * [common] seperate validator and clean up output
  * [c-host] linux: fix shmDevice file size check
  * [c-host] implement shmDevice option validator and help
  * [common] validate all options including defaults
  * [host] [c-host] added support to specify IVSHMEM device
  * [common] fix option parser memory leak
  * [c-host] nvfbc: remove debug line from prior commit
  * [c-host] dxgi: initialize option to NULL for consistancy
  * [c-host] dxgi: add the ability to specify the adapter and/or output.
  * [common] match the correct option
  * [c-host] fix build under windows
  * [c-host] initial agnostic option api and parser
  * [c-host] windows: fix errors from prior commit
  * [c-host] provide a platform agnostic method of passing args to app_main
  * [c-host] linux: updated to use the correct headers

-------------------------------------------------------------------
Sat Apr 20 18:35:43 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190419:
  * [client] egl: implement pixel perfect upscaling

-------------------------------------------------------------------
Sun Apr 14 11:10:24 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190414:
  * [client] perform proper shutdown on SIGTERM

-------------------------------------------------------------------
Fri Apr 12 17:14:05 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190412:
  * [common] fix build under arch, thanks @techfreak for pointing this out
  * [c-host] nvfbc: disable ARGB10 until NVIDIA fix the API (if ever)
  * [c-host] fix NvFBC build after moving headers
  * [common] implemented crash handler for linux (including backtrace)
  * [c-host] added initial crash handler stub
  * [build] make "common" a static library (part 2/2)
  * [build] make "common" a static library (part 1/2)
  * [c-host] add ability to provide NvFBC privData
  * [c-host] better formatting of README.md
  * [c-host] a few build tweaks and updated README.md
  * [c-host] stop the capture when stopping threads
  * [c-host] cmake: fix bad method of setting CFLAGS
  * [c-host] remove extra NvFBC noise
  * bump version
  * [c-host] tons of windows specific fixes
  * [c-host] nvfbc: continued implementation of NvFBC
  * [c-host] added initial nvfbc support
  * [c-host] fix multiple re-inits due to threads flagging for reinit
  * [c-host] show the build version
  * [c-host] restructure project to use cmake

-------------------------------------------------------------------
Sat Apr 06 13:01:31 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190405:
  * Add install binary target

-------------------------------------------------------------------
Sat Mar 30 14:37:09 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190331:
  * [client] egl: make nightvision enhance luminosity before gain
  * [client] main: move config free into new `config_free` method
  * [client] main: move config and option parsing into a seperate unit
  * [client] more cleanup and added alerts for new events
  * [client] main: don't ignore keybinds when spice is disabled
  * [all] fix typo in readme
  * [all] fix readme table formatting
  * [all] updated README.md
  * [client] main: added <escape>+I for spice input enable toggle
  * [client] main: fix errornous double keybind registration
  * [client] main: add full screen toggle key bind <escape>+F
  * [client] egl: added new super+N binding to increase image gain
  * [client] main: add interface for modules to register key binds
  * [client] main: prevent the cursor thread starting too early
  * [client] cmake: list enabled features in configure output
  * [client] cmake: cosmetics
  * [client] added options to disable/enable interfaces
  * [client] use cmake to generate renderers/fonts/clipboards headers/code
  * [client] egl: remove the rest of the shaders into seperate files
  * [client] cmake: fix inconsistent versioning
  * [client] egl: fix minor error in CMakeLists
  * [client] egl: move shaders into seperate files and build into objects
  * [client] project restructure part 2/2
  * [client] egl: requires gl
  * [all] added pre-commit script and VERSION
  * [client] project restructure part 1/2

-------------------------------------------------------------------
Tue Mar 26 19:58:37 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190326:
  * [egl] don't assume SDL is compiled with Wayland support

-------------------------------------------------------------------
Wed Mar 20 21:40:59 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190318:
  * [CLIENT] cosmetic code changes
  * [CLIENT] Fixed invalid value initialization
  * [CLIENT] Added option for custom window title

-------------------------------------------------------------------
Mon Mar 04 13:41:45 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190304:
  * [c-host] dxgi: added pointer support
  * [c-host] app: added pointer interface and support
  * [c-host] change getFrame/Pointer to return a real status
  * [c-host] initial stubs for pointer support
  * [c-host] linux: updated, but not working yet :)
  * [c-host] dxgi: reworked for better pipelining
  * [c-host] dxgi: remove needsUnmap bool
  * [c-host] dxgi: cleanup init code failure path
  * [c-host] rework events
  * [c-host] app: fix updateEvent race problem
  * [c-host] app: reinit on failure to capture a frame
  * [c-host] dxgi: fixed memory leak
  * [c-host] dxgi: allow a 2nd frame to be captured during a prior copy
  * [c-host] dxgi: only flag frame updates if there was actually an update
  * [c-host] fix deadlock when there is no update
  * [c-host] fixed build under linux
  * [c-host] app: inital capture is now working

-------------------------------------------------------------------
Sun Mar 03 15:32:25 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190303:
  * [c-host] remove testing code
  * [c-host] dxgi: implement getFrame
  * [c-host] app: fix deadlock on reinit
  * [c-host] windows: added event support
  * [c-host] dxgi: release resources
  * [c-host] linux: add getFrame support to xcb capture
  * [c-host] app: add initial frame capture support
  * [c-host] add app_quit for clean shutdown support
  * [c-host] add platform event interface and linux support
  * [c-host] linux: initial xcb capture

-------------------------------------------------------------------
Fri Mar 01 17:32:44 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190301:
  * [c-host] linux: added initial stubs for XCB capture
  * [c-host] dont use a interface that fails to create
  * [c-host] linux: correct device name comparison
  * [c-host] linux: simplify read from device
  * [c-host] linux: check the device name
  * [c-host] correct buffer size for stncat
  * [c-host] implemented linux ivshmem support
  * [c-host] update linux startup
  * [c-host] improve capture reinitialization
  * [c-host] removed debug code
  * [c-host] general windows fixes
  * [c-host] added linux thread support
  * [c-host] added cursor and frame thread stubs
  * [c-host] add missing pointer initialization
  * [c-host] added platform agnostic thread interface
  * [c-host] more windows basics and ivshmem pointer init
  * [c-host] don't include windows.h in the main app
  * [c-host] fix makefile for linux builds
  * [c-host] move dxgi capture into windows directory
  * [c-host] move windows dll folder into windows dir
  * [c-host] added linux platform stubs
  * [c-host] added windows ivshmem unmap support
  * [common] gnuc on windows still uses / as the directory separator
  * [c-host] initial ivshmem code and platform specific init
  * [c-host] only include windows defines when building on windows
  * [c-host] added new pure C host project, see README.md
  * [host] added missing file from build
  * [host] move windows specific debug code to the host

-------------------------------------------------------------------
Wed Feb 27 15:21:07 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190226:
  * [client] main: fixed help text typo
  * [client] main: help output cosmetics
  * [client] main: better error text for changed spice options
  * [client] main: add options to control spice features
  * [client] x11: remove noise about unsupported formats
  * [client] fixes #135, double free crash
  * Revert "[client] x11: prevent race condition causing double free"
  * [client] x11: prevent race condition causing double free
  * [client] x11: fix bidirectional clipboard functionallity
  * [client] spice: correct sending of large va agent buffers
  * [client] x11: ignore clipboard select events from ourself
  * [client] x11: don't notify to clear if no property
  * [client] initial host to client clipboard sync working

-------------------------------------------------------------------
Fri Feb 22 20:01:51 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190223:
  * [client] spice: implement full clipboard guest copy support
  * [client] cosmetics
  * [client] core: added initial clipboard interface and x11 stubs
  * [all] update copyright dates
  * [client] spice: better align the spice api for x11 cliboard integration
  * [client] spice: added clipboard callbacks to decouple spice from SDL
  * [client] spice: fixed copying large amounts of text to the clipboard
  * [client] spice: fix read to allow for larger amounts of data
  * [client] spice: fix memory leak
  * [client] spice: implemented guest -> client clipboard sync

-------------------------------------------------------------------
Thu Feb 21 20:58:10 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190222:
  * [client] spice: implement channel caps and initial clipboard support
  * [client] spice: remove extra debug output
  * [client] spice: fix incorrect message size for agent messages
  * [client] spice: fix unitialized value
  * [client] spice: protocol updates for performance and agent support
  * client: cosmetics
  * [client] update viewport size after window is created
  * [client] spice: correct issue with new channel list support
  * [client] spice: initial agent support
  * [client] spice: minor fixes, don't assume inputs channel exists

-------------------------------------------------------------------
Tue Feb 19 20:50:10 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190219:
  * [client] spice: remove useless mouse queue, this is not needed

-------------------------------------------------------------------
Mon Feb 11 19:11:28 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190210:
  * [client] spice: use correct enumeration for SpiceLinkReply

-------------------------------------------------------------------
Fri Feb 08 13:21:19 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190207:
  * [host] dxgi: fixed reversed logic for fallback
  * [host] fix compiler warnings
  * [host] fallback to IDXGIOutput1 if IDXGIOutput5 is not available

-------------------------------------------------------------------
Sun Jan 27 21:29:00 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190125:
  * [client] spice: debug print unsigned int re #127
  * change spice port type to unsigned short

-------------------------------------------------------------------
Fri Jan 18 13:53:38 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190117:
  * [client] spice: fix incorrect cursor button state being sent

-------------------------------------------------------------------
Sat Jan 12 19:26:46 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190112:
  * [client] update client to handle new cursor move code
  * [host] use a global hook to obtain cursor move pos

-------------------------------------------------------------------
Thu Jan 10 19:04:58 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190109:
  * [host] NvFBC: user specified privateData for debug

-------------------------------------------------------------------
Tue Jan 08 20:11:28 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190108:
  * updated links to latest accurate urls. added trello board url.

-------------------------------------------------------------------
Fri Jan 04 19:30:49 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190103:
  * [host] nvfbc: initial updates to re-enable support

-------------------------------------------------------------------
Wed Jan 02 16:21:19 UTC 2019 - pousaduarte@gmail.com

- Update to version 12~git20190102:
  * [client] egl: fix graphical glitch with splash
  * [client] [Patch 2/2] fixes #106
  * [host] [Patch 1/2] fix copy of padded resolutions
  * [client] egl: added untested support for wayland

-------------------------------------------------------------------
Mon Dec 17 14:28:44 UTC 2018 - pousaduarte@gmail.com

- Update to version 12~git20181217:
  * Store the initial window size in the state

-------------------------------------------------------------------
Sun Dec 16 13:45:24 UTC 2018 - pousaduarte@gmail.com

- Update to version 12~git20181216:
  * [client] egl: fixed uninitialized variable bug
  * [client] fix early render issue
  * [client] make EGL the default renderer
  * [client] egl: implemented alerts and some minor fixes to fps
  * [client] egl: slight correction to splash
  * [client] egl: added splash screen rendering

-------------------------------------------------------------------
Thu Dec 13 17:16:31 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20181213:
  * [client] egl: fix cursor regression
  * [client] egl: fix mono cursor double height regression
  * [client] warn about poor FPS display performance
  * [client] pre-calculate the frame time
  * [client] don't calculate FPS if we are not showing it
  * [client] use clock_nanosleep for more accurate frame timing
  * [client] rename fps variables to be more correct
  * Revert "[client] improve fps target accuracy"
  * [client] improve fps target accuracy
  * [client] egl: corrected fps alpha blending
  * [client] egl: moved desktop rendering into seperate unit
  * [client] egl: add and use default quad helper for models
  * [client] egl: moved fps code into seperate unit
  * [client] egl: added missing files from last commit
  * [client] egl: migrate cursor code into seperate unit
  * [client] define GL_GLEXT_PROTOTYPES globally
  * [client] egl: costmetics
  * [client] egl: moved egl sources into subdirectory
  * [client] egl: add checking to egl_shader_get_uniform_location
  * [client] egl: rename "shader" to "this" for consistancy
  * [client] opengl: fixed incorrect colors and added 10-bit RGBA support

-------------------------------------------------------------------
Tue Dec 11 13:31:15 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20181211:
  * [client] egl: removed accidental commit of test code
  * [client] removed use of now removed frame type, fixed #105

-------------------------------------------------------------------
Fri Dec 07 12:55:46 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20181207:
  * [host] initiate the texture copy earlier
  * [host] removed incomplete h264

-------------------------------------------------------------------
Tue Dec 04 13:34:57 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20181204:
  * [host] updated to take advantage of DXGI v1.5
  * [client] added support for RGBA, BGRA and 10-bit RGBA

-------------------------------------------------------------------
Tue Nov 20 13:54:02 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20181120:
  * [client] added missing lg-fonts.c to the repo
  * [client] egl: added FPS rendering
  * [client] remove other render modes from font ABI
  * [client] move FPS calculations out of renderers
  * [client] font: implemented font ABI and updated OpenGL to use it

-------------------------------------------------------------------
Fri Nov 02 13:32:31 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20181102:
  * [host] simplify capture logic and fix re-init bug

-------------------------------------------------------------------
Fri Oct 19 18:09:25 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20181019:
  * [host] fix hang on capture error
  * [host] fix failure to re-init
  * [host] increase cursor ring size to avoid a race
  * [host] remove unused critical sections
  * [host] accumulate cursor updates rather then queue

-------------------------------------------------------------------
Wed Oct 10 12:40:05 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20181009:
  * [client] use mouse visibility info properly
  * [host] correct cursor visibility information
  * [host] correct mouse position with hotspot offset
  * [host] fix cursor visibility bug
  * [host] improve mouse sync with the client

-------------------------------------------------------------------
Fri Oct 05 11:37:47 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20181004:
  * [client] consume all SDL events in the filter
  * [dxgi] cleaned up retry logic
  * [client] better usage of SDL event loops

-------------------------------------------------------------------
Wed Oct 03 20:15:52 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20181004:
  * [egl] implement window positioning
  * [egl] improve texture upload performance
  * [client] tighten timings
  * [host] general performance improvements

-------------------------------------------------------------------
Sat Sep 29 18:10:58 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20180930:
  * [host] better sync, helps enormously with 4K!!!
  * [dxgi] fix crash caused by failure to release in some instances.

-------------------------------------------------------------------
Wed Sep 26 18:13:54 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20180926:
  * [host] DXGI capture improvements
  * [egl] fix incorrect xor blending for monochrome cursors
  * [egl] added monochrome cursor rendering

-------------------------------------------------------------------
Mon Sep 24 18:09:21 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20180924:
  * [egl] fix performance issue with cursor updates and add todo message
  * [egl] fix incorrect mouse size and position scaling
  * [egl] fix incorrect mouse colors
  * [egl] added intial cursor support

-------------------------------------------------------------------
Sun Sep 23 20:48:57 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20180923:
  * [egl] simplify yuv to rgb shader
  * [egl] implemented YUV420 decode support in hardware
  * [egl] don't re-create the buffer each frame
  * [egl] make new OpenGL ES renderer available
  * [egl] cleanup texture API
  * [egl] split out texture code into it's own object
  * [egl] added basic shaders and use dma to xfer buffer to the gpu
  * [egl] initial commit of new modern OpenGL ES renderer

-------------------------------------------------------------------
Sat Aug 04 20:42:43 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20180803:
  * Default XDG_SESSION_TYPE to `unspecified`

-------------------------------------------------------------------
Mon Jul 30 11:30:06 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20180730:
  * Corrects an error in a debug message
  * [client] Adds back support for wayland

-------------------------------------------------------------------
Sun Jul 29 11:41:58 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20180728:
  * [client] cleanup of renderer API for better usage
  * [client] disable multisample after logo is gone
  * [host] remove the invalid usage of SafeRelease
  * [host] don't uselessly try to scale 1:1 textures
  * [client] implemented initial slow yuv420 support
  * [host] correct YUV output, do not copy padding bytes
  * [host] correct RGBtoYUV shader output
  * [host] correct invalid copy size for U & V planes
  * [host] fix compiler warnings
  * [host] fixed project Release shader build
  * [host] added YUV420 output support
  * [host] removed unused shader view
  * [host] ignore compiled shader headers
  * [host] remove compiled shader headers from repo
  * [host] remove the depth buffer, it's unused
  * [host] added format converter class
  * [h264] cosmetics
  * [dxgi/h264] fix failure to re-init h264 correctly

-------------------------------------------------------------------
Fri Jul 27 07:55:58 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20180726:
  * [parser/nal] no need to check for null before free (fixes #87)
  * [host] move H264 out of DXGI into seperate class
  * [memcpy] fix error caused by switch to shorter OPs
  * [dxgi] update DXGI to use timeout return value
  * [host] add timeout return value for repeated frame

-------------------------------------------------------------------
Tue Jul 24 12:27:35 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20180724:
  * [host] flag paused when waiting for sec desktop
  * [client] implement stream paused alert

-------------------------------------------------------------------
Mon Jul 23 07:50:02 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20180723:
  * Updated README.md
  * [host] replaced MultiMemcpy with plain memcpySSE

-------------------------------------------------------------------
Fri Jul 20 12:12:38 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20180720:
  * [client] add switch to disable alert messages, fixes #83
  * [opengl] added fade out to wait screen
  * [opengl] render alerts and fps on wait screen
  * [client] scale up the logo and put a gradient behind it
  * [client] render the looking glass logo (almost)
  * [client] enable multisampling
  * [client] allow window resize event's before startup

-------------------------------------------------------------------
Tue Jul 10 08:02:11 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20180710:
  * [common] no need to use AVX operands here either
  * [host] replaced use of AVX in memcpySSE

-------------------------------------------------------------------
Tue Jun 05 13:06:24 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20180605:
  * [client] Allow keyboard capture (#26)

-------------------------------------------------------------------
Fri Jun 01 17:14:10 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20180601:
  * [host] fix crash on screen blanking

-------------------------------------------------------------------
Thu May 31 10:05:48 UTC 2018 - pousaduarte@gmail.com

- Update to version 11~git20180531:
  * [client] fix too early release of OpenGL context
  * [client] only provide linker flags at link time
  * [host] improve capture performance
  * Fixed typo in word wish

-------------------------------------------------------------------
Tue May 29 10:32:42 UTC 2018 - opensuse-packaging@opensuse.org

- Update to version 11~git20180529:
  * [host] remove debug tracing noise
  * [host] don't count re-init requests as failures
  * [client] use atomic locking by default
  * [client] fixed warning/error text
  * [client] remove xlib shim as it is no longer needed
  * [client] replace custom Makefile with cmake build
  * [client] remove h264 decoder for now
  * [client] remove useless linking against libssl
  * [client] added nettle/bignum.h to rsa.c, CentOS 7 seems to need it
  * [client] removed invalid MS Windows specific hint
  * [client] don't scale the mouse when in capture mode
  * [client] added missing library for `floor` function
  * [opengl] added support for alerts
  * [client] added linked list utility
  * [client] added support for alert text
  * [client] alert the user when capture mode is on or off
  * [client] add alert method to renderer api
  * [client] added the ability to specify the capture key (-m)
  * [client] allow the system screensaver to operate, -S to disable
  * [client] remove noise about scaling/alignment as this is fixed
  * Code cleanup
  * Fixing scaled mouse movement
  * [doc] make the module README a Markdown file
  * [doc] Updated module readme
  * [client] start rendering a little earlier
  * [opengl] render a blue screen while waiting for sync
  * [host] ask for unicode with mingw-w64 makefile
  * [client] add support for masked colour cursors (fixes #61)
  * [host] fixed missed cursor shape updates

-------------------------------------------------------------------
Fri May 25 12:09:03 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180525:
  * [client] reduce weight of FPS limiter feedback

-------------------------------------------------------------------
Thu May 24 12:41:54 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180524:
  * [client] prevent usleep underflow in FPS limiter
  * [host] cosmetics
  * [host] don't assume the capture was successful
  * [host] add critical section for m_cursorInfo
  * [client] added FPS limiter for when running without vsync
  * [client] adjustments for better sync
  * [host] update to KVMFR v6 and decouple mouse
  * [kvmfr] decouple cursor flags from frame flags and fix timings

-------------------------------------------------------------------
Wed May 23 12:22:07 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180523:
  * [client] add unix socket support, fixes #67
  * [doc] Fix formatting
  * [doc] Rename DEBUGGING file for Markdown formatting
  * [doc] Added some documentaion for how to debug the LG client

-------------------------------------------------------------------
Tue May 22 12:18:01 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180522:
  * [host] use the new memcpySSE implementation
  * [client] removed unused define in rsa.c
  * [client] switch to nettle and gmp for RSA EME-OAEP support
  * [spice] initial GnuTLS implementation (incomplete)
  * [spice] relocate openssl code into seperate function

-------------------------------------------------------------------
Mon May 21 17:25:59 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180522:
  * [common] fix getopt license to be compatible
  * [client] use glFinish to prevent buffering and re-enable by default

-------------------------------------------------------------------
Mon May 21 12:25:53 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180521:
  * [module] enable write-through mapping for the device
  * [module] added 'test' to Makefile to simplify development testing
  * [client] fixed crash when specifying the shmFile as a command

-------------------------------------------------------------------
Sat May 19 21:04:54 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180519:
  * [common] tune windows memcpySSE asm implementation:wq

-------------------------------------------------------------------
Sat May 19 11:24:30 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180519:
  * [common] inline memcpy into memcpySSE for the final bytes
  * [common] more SSE improvements
  * [common] inline get_pc to memcpySSE
  * [x86] use a proper call/ret to obtain the current IP

-------------------------------------------------------------------
Fri May 18 20:49:39 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180518:
  * [common] new sse2 memcpy improvements
  * NASM version of a SSE2 memcpy
  * Incoming new memcpy implementation

-------------------------------------------------------------------
Wed May 16 13:06:43 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180516:
  * [client] allow the mouse and keyboard to operate early
  * [client] remove dependencies on libva until h264 is ready
  * [opengl-basic] removed basic renderer as it is no longer needed
  * [h264] disable the module until I or someone finds time to finish it
  * [opengl] numerous improvements to buffer transfer

-------------------------------------------------------------------
Tue May 15 12:41:44 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180515:
  * [module] rename defines from LG to KVMFR
  * [module] added kvmfr kernel module for VM->VM shared memory
  * [main] make it possible to manually specify the memory size
  * [opengl] fix free bug with new contiguous buffer
  * [opengl] use a single contiguous buffer for the AMD pinned buffer
  * [decoders] change the API to allow more flexability in the future
  * [opengl] Add support for AMD_pinned_memory if it is available
  * [spice] fix out by one error in call to strncpy
  * [opengl] glxWaitVideoSyncSGI is not well supported in Mesa 18

-------------------------------------------------------------------
Mon Feb 05 14:34:17 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180205:
  * [client] enable configuration of spice via config
  * [client] cosmetics

-------------------------------------------------------------------
Fri Feb 02 11:05:41 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180202:
  * [client]: ignore Alt-F4 in ignoreQuit mode (#46)

-------------------------------------------------------------------
Tue Jan 30 12:25:37 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180130:
  * [host] mingw-w64 compile fixes (#44)
  * [client] fix event loop sleep (#45)

-------------------------------------------------------------------
Mon Jan 29 17:18:11 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180129:
  * [client] remoted accidential commit of experimental method from header
  * [client] fix improper spice socket shutdown
  * [client] no need to supress bin directory creation command
  * [client] fix concurrent make, fixes #43
  * [client] prevent 100% CPU usage in event loop, fixes #41
  * [client] fix SDL mutex compile errors (#42)

-------------------------------------------------------------------
Thu Jan 25 11:35:04 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180125:
  * [client] makefile: use $(CC) instead of assuming gcc
  * [client] added xlib-shim to disable calls to XSync
  * [client] spice: add channel and mouse locking
  * [client] use SDL_SetEventFilter for better mouse performance
  * Ignore SDL_MOUSEBUTTONDOWN events incompatible with SPICE (#38)

-------------------------------------------------------------------
Sat Jan 06 15:07:28 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180106:
  * [client] h264: unroll silly loop
  * [client] h264: setup slice parameters correctly (incomplete)
  * [client] nal: corrections to parsing logic
  * [client] h264: vaapi deprecated these fields, FMO is not supported

-------------------------------------------------------------------
Fri Jan 05 15:00:18 UTC 2018 - pousaduarte@gmail.com

- Update to version 10~git20180106:
  * [client] h264: use parameters from nal (incomplete)
  * [client] h264: don't treat parse failure as fatal
  * [client] nal: removed useless debug print
  * [client] nal: added final SLICE parser features
  * [client] nal: added SLICE parser
  * [client] nal: added PPS parser
  * [client] fixed nal parser memory leaks
  * [client] Makefile: stop at the first error
  * [client] added initial NAL unit parser
  * [host] dxgi: fixed missed header update for timeout fix

openSUSE Build Service is sponsored by