Geoffrey McRae
58ba76a27f
[client] seperate frame setup and data events
2020-10-12 19:43:29 +11:00
Geoffrey McRae
b2961c7939
[all] added new format version field to frame header
2020-10-12 18:52:37 +11:00
Geoffrey McRae
90d1ed64e4
[client] opengl: added RGBA16F support
2020-10-11 20:44:22 +11:00
Geoffrey McRae
919b77df71
[client] egl: fix RGBA16F support
2020-10-11 20:34:34 +11:00
Geoffrey McRae
98e0e5fc0b
[client] egl: correct invalid value for texture row length
2020-10-11 19:59:44 +11:00
Geoffrey McRae
8a9f004ff6
[host/client] fix invalid initialization of RGBA16F
2020-10-11 19:39:47 +11:00
Geoffrey McRae
9c6bd888fd
[host/client] added experimental RGBA16 float support (EGL only)
2020-10-11 19:22:31 +11:00
Jonathan Rubenstein
66df00cee2
Add option to skip splash screen fade out
2020-10-09 03:28:58 +11:00
Geoffrey McRae
a94d3734c2
[all] pass the project path to the version.cmake script
2020-10-09 02:51:28 +11:00
Geoffrey McRae
e6c88a4af3
[all] be smarter about getting the git version
2020-10-09 02:17:20 +11:00
Geoffrey McRae
8692e9af80
[client] don't hide the cursor when SPICE is disabled
...
Fixes #304
2020-08-21 15:40:22 +10:00
Geoffrey McRae
7d2b39058c
[client] ensure the cursor is updated when the window looses/gains focus
2020-08-20 16:05:55 +10:00
Geoffrey McRae
6927dbecd2
[client] added new input:mouseRedraw option
...
This new option, when enabled (the default) enables cursor movements to
trigger frame updates in the client, improving responsiveness at the
cost of increased FPS while the mouse is moving around.
2020-08-20 15:50:33 +10:00
Geoffrey McRae
f9b6dcc986
[client] only resync the timer if we got an early frame
...
This prevents a slow update (ie, 30ups) from pulling the refresh rate
below the minimum (ie, 60fps).
2020-08-20 15:18:45 +10:00
Geoffrey McRae
5c912e3c27
[client] spice: improve mouse syncronization with the host
2020-08-20 14:52:24 +10:00
Geoffrey McRae
7e362050f7
[all] update KVMFR to provide cursor hotspot information
...
This commit bumps the KVMFR protocol version as it adds additional
hotspot x & y fields to the KVMFRCursor struct. This corrects the issue
of invalid alignment of the local mouse when the shape has an offset
such as the 'I' beam.
2020-08-20 13:51:01 +10:00
Ash
10fbdeb294
update client/README.md: spice:captureOnStart from #278
2020-08-19 23:08:34 +10:00
Geoffrey McRae
c66a339bbc
[client] egl: ensure overflow occurs for state value checks
2020-08-15 22:39:10 +10:00
Geoffrey McRae
969effedde
[host] update information about PsExec now LG can run as a service
2020-08-13 11:41:16 +10:00
Geoffrey McRae
e3f97e384b
[client] rework the start/restart logic to use an enum
2020-08-11 15:14:58 +10:00
Geoffrey McRae
76e119f8ad
[client] egl: don't fade the splash when restarting
2020-08-11 14:54:48 +10:00
Geoffrey McRae
bfb12c74fb
[client] be quicker at detecting restart and quieter about it
2020-08-11 14:52:22 +10:00
Geoffrey McRae
fa50b7824c
[client] fix crash on shutdown while waiting for a restart
2020-08-11 14:45:43 +10:00
Geoffrey McRae
da8b2d0cec
[client] egl: properly wait for a new frame on restart
2020-08-11 14:45:08 +10:00
Geoffrey McRae
74649ddb96
[client] gracefully restart if the host application restarts
2020-08-11 14:30:44 +10:00
Geoffrey McRae
82e0b7b6ab
[doc] readme updated with PsExec information
2020-08-09 20:11:19 +10:00
Geoffrey McRae
3302d353cf
[client] always use spice mouse host mode
...
Since we only ever use offset movements as SPICE doesn't properly
support absolute x/y positional information without a virtual tablet
device (which breaks relative mode needed for capture), just always run
in this mode. This fixes an issue when the spice guest tools are
installed and the mouse fails to work when not captured.
2020-08-09 16:17:08 +10:00
Geoffrey McRae
1899d9f1da
[client] reset the frame time when we get a frame signal
...
This stops a duplicate frame rendering bug due to failure to discipline
based on the signal timing.
2020-08-09 15:55:12 +10:00
Geoffrey McRae
fb9b772db0
[client] we are getting the clock anyway, just reset the time
2020-08-09 15:54:45 +10:00
Geoffrey McRae
302b988524
[client] use atomics to track frame counts and avoid extra signals
2020-08-09 15:14:17 +10:00
Geoffrey McRae
06aee158de
[client] egl: make better use of atomics and fix modulus bug
2020-07-24 17:39:16 +10:00
Samuel Bowman
bd42445ea7
[client] add option to capture input on start
2020-07-17 08:39:32 +10:00
Geoffrey McRae
ede96fa486
[client] egl: don't map the texture until it's needed
...
The texture buffer may still be in use if we try to re-map it
immediately, instead only map when we need it mapped, and unmap
immediately after advancing the offset allowing the render thread to
continue while the unmap operation occurs
2020-05-30 16:50:27 +10:00
Geoffrey McRae
fcbdf7ba4f
[client] egl: fix non-streaming texture updates
2020-05-29 16:54:25 +10:00
Geoffrey McRae
e8c949c1e7
[client] egl: dont re-setup the fps texture on each update
2020-05-29 16:47:21 +10:00
Geoffrey McRae
28c93ef5ac
[client] egl: don't unmap/map all buffers for each frame
2020-05-29 15:48:59 +10:00
Geoffrey McRae
d7921c5d5f
[client] report the host version on mismatch if possible
2020-05-29 14:24:06 +10:00
Geoffrey McRae
6d296f2b44
[client] stop people running the client as root
2020-05-29 14:18:02 +10:00
Geoffrey McRae
553e2830bb
[client/host] share the host version with the client for diagnostics
2020-05-29 14:14:31 +10:00
Geoffrey McRae
08062e3fc3
[client] check for underflow when checking frame time
2020-05-22 22:02:44 +10:00
Geoffrey McRae
4441427943
[client] implemented better clock drift correction
2020-05-22 20:45:59 +10:00
Geoffrey McRae
f5da432d38
[client] put back the fps correction from drift/skew
2020-05-22 18:39:19 +10:00
Geoffrey McRae
60f665a65c
[client] more fps limiter fixes
2020-05-22 18:28:16 +10:00
Geoffrey McRae
9b6174793a
[client] revert cusror update render trigger
...
While it makes the mouse a bit nicer it causes frame skips during cursor
movement.
2020-05-22 18:16:48 +10:00
Geoffrey McRae
dedab38b99
[client] rename fpsLimit
to fpsMin
2020-05-22 18:15:17 +10:00
Geoffrey McRae
4580b18b04
[client] fix the fps limiter
2020-05-22 18:06:29 +10:00
Geoffrey McRae
88dad36449
[client] allow mouse movements to trigger render updates
...
Now EGL is lockless we can allow cursor updates to trigger frame updates
directly.
2020-05-22 18:00:18 +10:00
Geoffrey McRae
075c82b32c
[client] egl: fix context binding enabling a lock free implementation
2020-05-22 17:47:19 +10:00
Geoffrey McRae
ae2ffd0a28
[client] drop the default FPS target to 60 now that the fps is dynamic
2020-05-21 14:59:51 +10:00
Geoffrey McRae
26eea64689
[client] remove microstutter warning when using the fps display
...
This warning was added when it was thought to be the cause of the
microstutters, however this has been disproven with the latest batch of
changes.
2020-05-21 14:16:01 +10:00