Geoffrey McRae
d3836d4548
[c-host] Enable secure desktop capture using SetThreadDesktop
...
Closes #263 - Credit to https://github.com/DataBeaver for this gem!
2020-04-12 13:35:40 +10:00
Geoffrey McRae
dbd7db7787
[common] fix framebuffer_prepare to use atomic_store
2020-04-12 13:16:55 +10:00
Geoffrey McRae
1222fd40b7
[common] fix FrameBuffer to use atomics correctly
...
Might Fix #248
2020-04-12 13:14:53 +10:00
Geoffrey McRae
b5f4c639fd
[client] provide better mouse tracking when exiting/entering the window
2020-04-07 14:54:38 +10:00
Geoffrey McRae
cddeeff3fc
[c-host] LGMP: increase the timeouts
2020-04-07 14:54:38 +10:00
Geoffrey McRae
b953b2b807
[module] added missing kvmfr.h, fixes #253
2020-03-22 09:20:09 +11:00
Geoffrey McRae
367a73d033
[spice] updated the submodule, fixes #249
2020-03-22 09:12:54 +11:00
Geoffrey McRae
1ac13658e1
[module] fix compilation for linux 5.6
2020-03-11 00:28:44 +11:00
Geoffrey McRae
582ed6b5d1
[c-host] dxgi: dont send null movements when only the visibility changed
2020-02-12 18:40:28 +11:00
Geoffrey McRae
e2adbaa5c1
[c-host] dxgi: fix failure to provide cursor visibility information
2020-02-12 18:36:11 +11:00
Geoffrey McRae
4acf800ace
[client] updated the PureSpice submodule
2020-02-03 17:31:56 +11:00
Geoffrey McRae
7cc305c2f5
[client] updated spice submodule to fix shutdown bug
2020-02-01 14:31:46 +11:00
Geoffrey McRae
95f5962186
[client] update to properly disconnect from spice
2020-02-01 14:24:23 +11:00
Geoffrey McRae
f4c2996a3a
[repos] updated submodules
2020-02-01 14:22:07 +11:00
Geoffrey McRae
10c4037694
[doc] added new github sponsorship option to README.md
2020-02-01 11:44:51 +11:00
Geoffrey McRae
52be6deccf
[github] updated sponsorship for github sponsors
2020-02-01 11:43:42 +11:00
Geoffrey McRae
9cc21c2a62
[all] updated the main README.md file
2020-01-31 21:43:58 +11:00
Geoffrey McRae
0b7f422d5d
[client] moved spice into a seperate repository
2020-01-31 21:39:57 +11:00
Geoffrey McRae
0ca760fad6
[c-host] revert locking series, this needs more thought
...
Revert "[c-host] make pointer post function thread safe"
This reverts commit 3feed7ba07
.
Revert "[c-hots] fix incorrect unlock timing"
This reverts commit 57f1f2d1fe
.
Revert "[c-host] increase the queue length and remove debug output"
This reverts commit b0f9f15a60
.
Revert "[c-host] dxgi: use low level mouse input by default"
This reverts commit dc4d820666
.
Revert "[c-host] nvfbc: no need for a cursor position event with LGMP"
This reverts commit e30b54ddb2
.
2020-01-29 23:23:31 +11:00
Geoffrey McRae
b0f9f15a60
[c-host] increase the queue length and remove debug output
2020-01-29 22:05:47 +11:00
Geoffrey McRae
939bb07603
[all] cleanup use of atomic locking and switch to C11 stdatomic
2020-01-29 19:06:09 +11:00
Geoffrey McRae
cc2c49644d
[spice] reworked to avoid locking requirements on the input channel
...
POSIX `send` is thread safe, to take advantage of this the code has been
changed to construct a contiguous buffer and perform the send in a
single operation preventing any risk of a race condition.
Only the main channel still requires an interlock as the VD agent
requires multiple sends to transmit a full buffer.
2020-01-29 18:53:33 +11:00
Geoffrey McRae
29f221d547
[spice] improve connection code to use a single buffer
2020-01-29 16:52:23 +11:00
Geoffrey McRae
2e32ceb6e0
[LGMP] update the submodule
2020-01-29 14:03:12 +11:00
Geoffrey McRae
2cbc9b6426
[kvmfr] stop the module building the test application by default
2020-01-29 14:01:52 +11:00
Geoffrey McRae
3f3a8f898d
[common] 1e9
is a floating point notation
2020-01-29 14:01:14 +11:00
Geoffrey McRae
6e62ea5364
[common] fix building on mingw for linux
2020-01-28 05:10:38 +11:00
Geoffrey McRae
5d39b6160a
[lgmp] update module again with actual fix!
2020-01-28 04:28:55 +11:00
Geoffrey McRae
418149c9a6
[LGMP] updated the submodule with the fixed locking mechanics
2020-01-27 22:12:20 +11:00
Geoffrey McRae
60acc3ef44
[obs] update the LGMP module to fix low frame rate capture issue
2020-01-27 15:05:25 +11:00
Geoffrey McRae
8dbc1daaf4
[common] linux: signal should signal all listeners
2020-01-27 14:33:57 +11:00
Geoffrey McRae
5a23d048bd
[LGMP] submodule update again
2020-01-27 13:14:16 +11:00
Geoffrey McRae
b658ea6459
[LGMP] another submodule update
2020-01-27 13:06:46 +11:00
Geoffrey McRae
dc91a0d807
[LGMP] updated the submodule again
2020-01-27 12:49:36 +11:00
Geoffrey McRae
c1fd6552d2
[client] fix hang when trying to terminate an unconnected client
2020-01-27 12:25:47 +11:00
Geoffrey McRae
6b2e78acdf
[all] updated LGMP module, a rebuild of host and client IS required
2020-01-27 11:29:54 +11:00
Geoffrey McRae
7b11ab04c6
[client] always update the renderer cursor state
2020-01-27 02:11:21 +11:00
Geoffrey McRae
bced5f95ff
[all] make cursor visible a flag and send it seperate to position
2020-01-27 02:07:32 +11:00
Geoffrey McRae
9d7f773b9c
[c-host] decrease LGMP polling interval to a sane value and comment
2020-01-27 01:55:14 +11:00
Geoffrey McRae
fea0a98b9e
[c-host] dxgi: invisible cursors do not have position information
2020-01-27 01:47:40 +11:00
Geoffrey McRae
dcc9625803
[client] updated to use new cursor state flags
2020-01-26 17:30:16 +11:00
Geoffrey McRae
b4cf8f76c8
[c-host] mousehook: ignore repeated hook events
2020-01-26 16:23:35 +11:00
Geoffrey McRae
687eddcc63
[kvmfr] fixed incorrect buffer size calculation
2020-01-24 17:07:09 +11:00
Geoffrey McRae
9d6d137b50
[c-host] fix bounds checking on frame index
2020-01-24 16:31:03 +11:00
Geoffrey McRae
a75b95694b
[c-host] actually use the 2nd LGMP frame
2020-01-24 16:06:38 +11:00
Geoffrey McRae
c7aa8871e4
[common] fixed improper comment parsing, fixes #233
2020-01-21 16:35:21 +11:00
Geoffrey McRae
f9d919bdbb
[client] increase the lgmp queue timeouts
2020-01-20 14:18:45 +11:00
Geoffrey McRae
4d0f019ad5
[spice] prepare spice for external usage
2020-01-19 06:51:21 +11:00
Geoffrey McRae
e6154e685f
[client] cosmetics
2020-01-19 06:49:56 +11:00
Geoffrey McRae
2c59b5f557
[client] added checking for invalid arguments to custom string options
2020-01-19 06:48:20 +11:00
Geoffrey McRae
4746c89227
[all] moved time and locking methods to the common library
2020-01-17 14:35:08 +11:00
Geoffrey McRae
278d851c7c
[egl] added fallback for platforms not supporting eglGetPlatformDisplay
2020-01-17 11:50:00 +11:00
Geoffrey McRae
406e22a681
[client] override new behaviour in SDL 2.0.15 and disable xinput2
...
xinput2 is used to get touch interface events with the side effect of
consuming MotionNotify events which we use because of SDL2's inability
to correctly track the window size. Since we are not that intertested in
touch for our usecase, we just turn the events off again.
2020-01-13 22:21:12 +11:00
Geoffrey McRae
17e05c6fd5
[all] expose the FrameBuffer struct for correct sizeof calculations
2020-01-13 19:30:49 +11:00
Geoffrey McRae
9846762991
[all] align the frame data to the page boundary
2020-01-13 19:17:09 +11:00
Geoffrey McRae
ad8a8b52be
[c-host] ensure frames are page aligned
2020-01-13 15:52:54 +11:00
Geoffrey McRae
0d29527758
[common] added agnostic function sysinfo_getPageSize
2020-01-13 15:52:31 +11:00
Geoffrey McRae
7a96c9fe24
[kvmfr] don't recreate the pages for each map
2020-01-13 15:42:45 +11:00
Geoffrey McRae
c71e5c63ca
[lgmp] updated the module to bring in support for aligned allocations
2020-01-13 15:19:25 +11:00
Geoffrey McRae
f82a164d75
[client] enable SDL_SYSWMEVENT on X11 to work around SDL2 bugs
2020-01-13 14:03:26 +11:00
Geoffrey McRae
5d4e9b1ead
[kvmfr] bump the version in dkms.conf
2020-01-13 13:45:05 +11:00
Geoffrey McRae
788f885759
[kvmfr] added the ability to obtain a dmabuf of the ivshmem memory
...
This is to enable the ability to use dri3 to create dmabuf backed
pixmaps directly.
2020-01-13 13:39:24 +11:00
Geoffrey McRae
6aeafc6651
[common] add comment support to the ini parser
2020-01-12 22:44:41 +11:00
Geoffrey McRae
1aadf91901
[common] revert /dev/uio0 naming change behaviour
2020-01-12 22:37:10 +11:00
Geoffrey McRae
7de030bb69
[c-host] nvfbc: free event on deinit
2020-01-12 18:09:11 +11:00
Geoffrey McRae
0eafa7de5d
[c-host] update NvFBC to use new capture interface
2020-01-11 21:51:59 +11:00
Geoffrey McRae
e554635e48
[spice] turn on TCP_QUICKACK
...
https://assets.extrahop.com/whitepapers/TCP-Optimization-Guide-by-ExtraHop.pdf
2020-01-11 16:03:28 +11:00
Geoffrey McRae
5e915dd1ff
[client] don't send mouse click events when out of view
2020-01-11 13:11:12 +11:00
Geoffrey McRae
13f55011c0
[client] don't draw the cursor if it leaves the frame
2020-01-11 12:56:46 +11:00
Geoffrey McRae
05dc713dac
[client] more cursor tweaks for better integration with the WM
2020-01-11 06:03:16 +11:00
Geoffrey McRae
80f3c7934a
[client] more cursor tweaks and some cleanup
2020-01-11 05:22:12 +11:00
Geoffrey McRae
1341bf8fbd
[client] fix mouse acceleration when in capture mode
...
SDL2 really doesn't do this well, instead I have implemented our own
capture method that allows us to maintain better client/server cursor
sync.
2020-01-11 04:53:46 +11:00
Geoffrey McRae
5b163063c3
[client] improved sync with guest cursor position
2020-01-11 03:41:44 +11:00
Geoffrey McRae
c2a15ad89d
[c-host] updated to use new LGMP API to increase the timeout
2020-01-10 20:04:46 +11:00
Geoffrey McRae
c92312a6c6
[obs] implemented intial OBS Looking Glass Client plugin
...
Yes, it works! but no cursor support yet
2020-01-10 18:14:08 +11:00
Geoffrey McRae
3253e7fd10
[all] updated LGMP submodule
2020-01-10 18:12:42 +11:00
Geoffrey McRae
e5178793b3
[client] don't fail on invalid magic at startup
2020-01-10 18:07:18 +11:00
Geoffrey McRae
bec4f83778
[profiler] updated to use LGMP
2020-01-10 18:04:22 +11:00
Geoffrey McRae
22f04a926f
[common] numerious bad usage bug fixes
2020-01-10 18:04:22 +11:00
Geoffrey McRae
1ef406bbaf
[lgmp] updated submodule
2020-01-10 11:19:34 +11:00
Geoffrey McRae
0aa8711796
[lgmp] updated submodule
2020-01-10 11:04:16 +11:00
Geoffrey McRae
bea7c94cae
[client/c-host] updated to use new LGMP naming conventions
2020-01-10 11:01:35 +11:00
Geoffrey McRae
6f551c770c
[client] handle pointer visibility properly
2020-01-09 21:18:35 +11:00
Geoffrey McRae
2d755a45e0
[client] added support for LGMP
2020-01-09 20:32:42 +11:00
Geoffrey McRae
0b8f1a18b2
[LGMP] start of c-host conversion to use LGMP
2020-01-09 15:42:32 +11:00
Geoffrey McRae
8caa220ad5
[common] link setupapi for ivshmem windows implementation
2020-01-06 20:59:34 +11:00
Geoffrey McRae
b8203bec53
[common] properly detect all versions of Windows 8
2020-01-06 20:55:21 +11:00
Geoffrey McRae
5db4c32035
[c-host] dont use DX12 feature levels on Windows8
...
Fixes #218
2020-01-06 20:53:15 +11:00
Geoffrey McRae
9282ed19b2
[client] check for clock drift and correct for it
...
Fixes #224
2020-01-06 20:38:01 +11:00
Geoffrey McRae
45ee79014d
[common] added back support for shared memory files
2020-01-06 00:20:30 +11:00
Geoffrey McRae
0dc0e6490c
[c-host] dxgi: check for failure of getDesc1
2020-01-03 17:29:07 +11:00
Geoffrey McRae
127113a59b
[client] fixed strange resize effect due to loss of precision
2020-01-03 17:23:48 +11:00
Geoffrey McRae
49bf115c84
[client] fix issue with windowmanager forcing the window size (i3wm)
2020-01-03 16:51:24 +11:00
Geoffrey McRae
2196516e2b
[client] added new win:forceAspect
option
...
Fixes #225
2020-01-03 15:53:44 +11:00
Geoffrey McRae
899dbff7e9
[client] use the event data instead of calling SDL_GetWindowSize
2020-01-03 15:26:07 +11:00
Geoffrey McRae
4345d94d68
[client] update client to use the common ivshmem* methods
2020-01-03 15:17:14 +11:00
Geoffrey McRae
074af5d16c
[c-host] init platform app struct
2020-01-03 14:56:13 +11:00
Geoffrey McRae
89d6ea0b5d
[common] move ivshmem code into the common library
2020-01-03 14:53:56 +11:00
Geoffrey McRae
c5baf212c8
[client] switch from SDL_Cond to LGEvent
2020-01-03 00:09:07 +11:00
Geoffrey McRae
ba31c78412
[client] switch from SDL_Thread to lgThread
2020-01-02 23:59:06 +11:00