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
f82a164d75
[client] enable SDL_SYSWMEVENT on X11 to work around SDL2 bugs
2020-01-13 14:03:26 +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
e5178793b3
[client] don't fail on invalid magic at startup
2020-01-10 18:07:18 +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
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
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
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
Jonathan (JJRcop) Rubenstein
491ffc3576
Fix client not building on void linux
...
Thanks to
SharkWipf#8539,
Aiber#4888,
and Hadet#6969 on the VFIO discord
2019-12-28 00:07:39 +11:00
Rikard Falkeborn
6530ca62da
[client] fix return value in spice_read_nl error path
...
Returning -1 from a function with bool as return argument is the same as
returning true. If the channel is not connected, return false instead to
indicate the error.
2019-12-18 08:55:27 +11:00
Geoffrey McRae
85d46ed2b0
[profile] added a tool to help profile the host capture perf
2019-12-14 16:20:17 +11:00
Andrew Sheldon
70110b4a5a
[client] Use eglGetPlatformDisplay() to fix surface creation
...
[Why]
Recent versions of Mesa may have trouble with surface creation, resulting in
errors like:
egl.c:428 | egl_render_startup | Failed to create EGL surface (eglError: 0x300b)
[How]
Replace eglGetDisplay() with eglGetPlatformDisplay(). Requires EGL 1.5, but should
be supported with any desktop driver released in the past few years.
2019-12-13 00:35:35 +11:00
Geoffrey McRae
a6f23f00b4
[client] opengl: handle configuration failure properly
2019-12-12 23:32:31 +11:00
Geoffrey McRae
30e3a43311
[client] opengl: fixed failure to render full frame
2019-12-12 23:04:58 +11:00
Geoffrey McRae
dce6aaefea
[client] fix rare race condition when renderer is not ready
2019-12-10 03:30:04 +11:00
thejavascriptman
4843a278ff
respect minimizeOnFocusLoss
2019-11-15 18:13:11 +11:00
Geoffrey McRae
0e7e918e2c
[client] cleanup and re-order startup/shutdown code
2019-10-26 12:03:10 +11:00
Geoffrey McRae
7d6e061ade
[client] properly shutdown on failure to connect to the spice server
2019-10-26 11:27:05 +11:00
Geoffrey McRae
66891aa536
[client] don't require wayland-egl, fixes #204
2019-10-26 11:23:04 +11:00
Geoffrey McRae
9377fdfc37
[all] bump KVMFR version due to incompatible changes
2019-10-14 17:19:19 +11:00
Geoffrey McRae
4c0ca1c8e7
[client] fix xor support for masked color cursors
...
fixes #200
2019-10-09 19:48:42 +11:00
Geoffrey McRae
bca54ab1f6
[client/host] added new asyncronous memory copy
...
This changes the method of the memory copy from the host application to
the guest. Instead of performing a full copy from the capture device
into shared memory, and then flagging the new frame, we instead set a
write pointer, flag the client that there is a new frame and then copy
in chunks of 1024 bytes until the entire frame is copied. The client
upon seeing the new frame flag begins to poll at high frequency the
write pointer and upon each update copies as much as it can into the
texture.
This should improve latency but also slightly increase CPU usage on the
client due to the high frequency polling.
2019-10-09 13:53:02 +11:00
Geoffrey McRae
6d2c464436
[client] egl: improved streaming texture syncronization
2019-08-30 12:09:05 +10:00
Geoffrey McRae
e93bd7a3bf
[client] fix shutdown race condition with the frame thread
2019-08-30 11:54:26 +10:00
Geoffrey McRae
da94075e7b
[client] egl: more verbose error on texture egl failures
2019-08-30 11:40:38 +10:00
Geoffrey McRae
69522495de
[client] fix invalid shutdown of renderer outside of it's thread
2019-08-30 11:36:28 +10:00
Geoffrey McRae
fce88fc72c
[EGL] add debug printf helper
2019-08-30 11:33:43 +10:00
Geoffrey McRae
163a2e5d0a
[client] fix failure to build due to broken symlink, fixes #173
2019-07-23 11:06:51 +10:00
Geoffrey McRae
b979752989
[client] added missing include
2019-07-15 18:30:39 +10:00
orcephrye
8ad2d5f949
[client] autodetect monitor refresh rate for fps limit
2019-07-10 05:04:29 +10:00
Rokas Kupstys
745ba66119
Implement option to disable minimizing window on focus loss. Default behavior is not changed - not configuring these options unfocused window is minimized.
...
* Added config entry win:minimizeOnFocusLoss (default true).
2019-07-09 21:57:47 +10:00
Geoffrey McRae
4cf6dec592
[all] allow disable of backtrace support during build
2019-06-19 09:13:03 +10:00
Geoffrey McRae
d7fa0aeff9
[client] fix typo in SDL_VIDEODRIVER from prior patch, whoops :)
2019-06-19 09:03:15 +10:00