Commit Graph

281 Commits

Author SHA1 Message Date
Geoffrey McRae
97749b335a [client] start rendering a little earlier 2018-05-28 15:36:12 +10:00
Geoffrey McRae
a647a602bf [opengl] render a blue screen while waiting for sync 2018-05-28 15:30:31 +10:00
Geoffrey McRae
882b31aeaa [client] add support for masked colour cursors (fixes #61)
Also allows early SDL usage for cursor and keyboard control before
the host application starts
2018-05-28 11:40:56 +10:00
Geoffrey McRae
62e67c345c [client] reduce weight of FPS limiter feedback 2018-05-25 08:35:52 +10:00
Geoffrey McRae
5de9a8dce6 [client] prevent usleep underflow in FPS limiter 2018-05-24 18:10:23 +10:00
Geoffrey McRae
a4600e7278 [client] added FPS limiter for when running without vsync 2018-05-24 11:56:11 +10:00
Geoffrey McRae
c42bff99e2 [client] adjustments for better sync 2018-05-24 11:26:09 +10:00
Geoffrey McRae
df7183a572 [kvmfr] decouple cursor flags from frame flags and fix timings 2018-05-24 09:01:53 +10:00
Geoffrey McRae
7a5bbb1e59 [client] add unix socket support, fixes #67 2018-05-23 12:16:44 +10:00
Geoffrey McRae
a3cd0385d0 [doc] Fix formatting 2018-05-23 08:46:03 +10:00
Geoffrey McRae
8fdc11813d [doc] Rename DEBUGGING file for Markdown formatting 2018-05-23 08:45:07 +10:00
Geoffrey McRae
fb412e8440 [doc] Added some documentaion for how to debug the LG client 2018-05-23 08:44:11 +10:00
Geoffrey McRae
6f141fe393 [client] removed unused define in rsa.c 2018-05-22 15:40:08 +10:00
Geoffrey McRae
9b0f974648 [client] switch to nettle and gmp for RSA EME-OAEP support
Fixes #68
2018-05-22 15:36:36 +10:00
Geoffrey McRae
ceac6a60e6 [spice] initial GnuTLS implementation (incomplete) 2018-05-22 09:49:35 +10:00
Geoffrey McRae
cba6630aa0 [spice] relocate openssl code into seperate function
This is in preperation of switching to an alternative SSL library
as OpenSSL conflicts with the GNU licence.
2018-05-22 09:39:03 +10:00
Geoffrey McRae
b3aadccfc4 [client] use glFinish to prevent buffering and re-enable by default 2018-05-21 23:16:16 +10:00
Geoffrey McRae
b8a1743d8f [client] fixed crash when specifying the shmFile as a command 2018-05-21 21:46:48 +10:00
Geoffrey McRae
d097531926 [client] allow the mouse and keyboard to operate early 2018-05-16 18:19:32 +10:00
Geoffrey McRae
d339ca3599 [client] remove dependencies on libva until h264 is ready 2018-05-16 18:14:08 +10:00
Geoffrey McRae
adb1ca58b9 [opengl-basic] removed basic renderer as it is no longer needed 2018-05-16 18:13:20 +10:00
Geoffrey McRae
70ffe1de43 [h264] disable the module until I or someone finds time to finish it 2018-05-16 18:12:29 +10:00
Geoffrey McRae
cf4d16b528 [opengl] numerous improvements to buffer transfer 2018-05-16 17:58:36 +10:00
Geoffrey McRae
d0756cf00c [main] make it possible to manually specify the memory size 2018-05-15 20:07:48 +10:00
Geoffrey McRae
4fd59ce8c9 [opengl] fix free bug with new contiguous buffer 2018-05-15 19:25:22 +10:00
Geoffrey McRae
adca879fb9 [opengl] use a single contiguous buffer for the AMD pinned buffer 2018-05-15 19:23:57 +10:00
Geoffrey McRae
3a2d612b41 [decoders] change the API to allow more flexability in the future 2018-05-15 19:19:39 +10:00
Geoffrey McRae
332d53e016 [opengl] Add support for AMD_pinned_memory if it is available 2018-05-15 13:23:44 +10:00
Geoffrey McRae
ae1344d1a0 [spice] fix out by one error in call to strncpy 2018-05-15 09:56:42 +10:00
Geoffrey McRae
ae382949c8 [opengl] glxWaitVideoSyncSGI is not well supported in Mesa 18
It seems Mesa 18 has problems with the glxWaitVideoSyncSGI API so
we disable the 'preventBuffer' option by default
2018-05-15 09:54:24 +10:00
Geoffrey McRae
fd8d4d3d38 [client] enable configuration of spice via config 2018-02-05 19:08:31 +11:00
Geoffrey McRae
a2216e4b68 [client] cosmetics 2018-02-05 19:08:15 +11:00
Alam Arias
4fb9fc3b3f [client]: ignore Alt-F4 in ignoreQuit mode (#46)
* [client]: ignore Alt-F4 in ignoreQuit mode

* [client]: turn down the SNR for SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4

* [client]: turn down the SNR for SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS
2018-02-02 10:32:46 +11:00
arcnmx
d7321d5f5f [client] fix event loop sleep (#45) 2018-01-30 21:07:14 +11:00
Geoffrey McRae
35eda57cb2 [client] remoted accidential commit of experimental method from header 2018-01-29 17:30:46 +11:00
Geoffrey McRae
78a100135b [client] fix improper spice socket shutdown 2018-01-29 17:27:12 +11:00
Geoffrey McRae
dc6932a9ba [client] no need to supress bin directory creation command 2018-01-29 17:04:08 +11:00
Geoffrey McRae
d765674913 [client] fix concurrent make, fixes #43 2018-01-29 17:02:41 +11:00
Geoffrey McRae
2af522aea7 [client] prevent 100% CPU usage in event loop, fixes #41 2018-01-29 16:56:23 +11:00
arcnmx
9aba969296 [client] fix SDL mutex compile errors (#42) 2018-01-29 16:51:14 +11:00
Geoffrey McRae
2114b73c11 [client] makefile: use $(CC) instead of assuming gcc 2018-01-25 09:58:03 +11:00
Geoffrey McRae
d591e2fd36 [client] added xlib-shim to disable calls to XSync
The compiled xlib-shim.so can be used to intercept and prevent SDL
from calling XSync, which causes latency issues on some video
hardware.

To use specify the full path to the file in the LD_PRELOAD
environment variable, like so:

LD_PRELOAD=/full/path/xlib-shim.so ./looking-glass
2018-01-25 09:55:21 +11:00
Geoffrey McRae
c61d97b0ac [client] spice: add channel and mouse locking
This fixes a race condition which causes the mouse ringbuffer to
overflow. It also corrects out of order message index IDs due to
multiple threads sending messages asyncronously.
2018-01-25 07:41:11 +11:00
Geoffrey McRae
37ea662998 [client] use SDL_SetEventFilter for better mouse performance
This partially resolves lag issues on hosts running the amdgpu driver.
If mouse caputure is enable the lag issue returns, this is because SDL
calls `XSync` in `X11_WarpMouse` and `X11_WarpMouseGlobal`, if these
calls are removed all input lag issues dissapear.

This issue has been reported to SDL as the calls to `XSync` are not
required per the xlib documentation.
2018-01-24 23:46:11 +11:00
Aaron
3d9d275d61 Ignore SDL_MOUSEBUTTONDOWN events incompatible with SPICE (#38)
* Ignore SDL_MOUSEBUTTONDOWN events that aren't compatible with the SPICE PS/2 mouse
2018-01-15 10:55:17 +11:00
Geoffrey McRae
a02087e5e4 [client] h264: unroll silly loop 2018-01-06 13:47:35 +11:00
Geoffrey McRae
2ccf17b9b7 [client] h264: setup slice parameters correctly (incomplete) 2018-01-06 13:43:24 +11:00
Geoffrey McRae
8ccce5666c [client] nal: corrections to parsing logic 2018-01-06 13:40:31 +11:00
Geoffrey McRae
859e984827 [client] h264: vaapi deprecated these fields, FMO is not supported
fbed1dbb5b/va/va.h (L2840)
2018-01-06 09:47:49 +11:00
Geoffrey McRae
5e84cfb3f1 [client] h264: use parameters from nal (incomplete) 2018-01-06 00:11:38 +11:00