Geoffrey McRae
4f8fa6e7aa
[client] fixes #135 , double free crash
2019-02-25 05:43:18 +11:00
Geoffrey McRae
dbd09a431a
Revert "[client] x11: prevent race condition causing double free"
...
This reverts commit 8d48dd973a
.
2019-02-25 04:59:51 +11:00
Geoffrey McRae
8d48dd973a
[client] x11: prevent race condition causing double free
2019-02-25 04:42:58 +11:00
Geoffrey McRae
c7666b314b
[client] x11: fix bidirectional clipboard functionallity
2019-02-24 15:35:31 +11:00
Geoffrey McRae
03628505ed
[client] spice: correct sending of large va agent buffers
2019-02-24 15:35:17 +11:00
Geoffrey McRae
b368873f4d
[client] x11: ignore clipboard select events from ourself
2019-02-24 12:16:32 +11:00
Geoffrey McRae
dd38f3ce13
[client] x11: don't notify to clear if no property
2019-02-24 12:10:57 +11:00
Geoffrey McRae
d8b01c0257
[client] initial host to client clipboard sync working
2019-02-24 11:43:32 +11:00
Geoffrey McRae
0a2fbe1f7f
[client] spice: implement full clipboard guest copy support
2019-02-23 04:24:30 +11:00
Geoffrey McRae
de0b54ae70
[client] cosmetics
2019-02-22 22:40:57 +11:00
Geoffrey McRae
54e8cce33c
[client] core: added initial clipboard interface and x11 stubs
2019-02-22 22:38:52 +11:00
Geoffrey McRae
08bf01b649
[all] update copyright dates
2019-02-22 22:16:14 +11:00
Geoffrey McRae
1a66c11091
[client] spice: better align the spice api for x11 cliboard integration
2019-02-22 19:51:14 +11:00
Geoffrey McRae
689a1de69b
[client] spice: added clipboard callbacks to decouple spice from SDL
2019-02-22 18:59:45 +11:00
Geoffrey McRae
0dfa7425c1
[client] spice: fixed copying large amounts of text to the clipboard
2019-02-22 12:33:55 +11:00
Geoffrey McRae
4098db039e
[client] spice: fix read to allow for larger amounts of data
2019-02-22 09:15:29 +11:00
Geoffrey McRae
a7834611d1
[client] spice: fix memory leak
2019-02-22 09:08:53 +11:00
Geoffrey McRae
9dd4e4756b
[client] spice: implemented guest -> client clipboard sync
2019-02-22 09:02:34 +11:00
Geoffrey McRae
108369414e
[client] spice: implement channel caps and initial clipboard support
2019-02-22 07:40:43 +11:00
Geoffrey McRae
00e07c0384
[client] spice: remove extra debug output
2019-02-22 07:39:55 +11:00
Geoffrey McRae
1ebee561bc
[client] spice: fix incorrect message size for agent messages
2019-02-22 07:38:05 +11:00
Geoffrey McRae
ec0db86663
[client] spice: fix unitialized value
2019-02-22 04:13:27 +11:00
Geoffrey McRae
3df4bb3a54
[client] spice: protocol updates for performance and agent support
...
Note: agent support is not complete at this point due to lack of documentation.
2019-02-22 03:04:06 +11:00
Geoffrey McRae
5bd748680f
client: cosmetics
2019-02-22 03:04:06 +11:00
Marius Barbu
e09ff31c09
[client] update viewport size after window is created
...
Make sure glViewport gets called as soon as we know the window
dimensions, otherwise nothing gets rendered until KVMFR communication is
established (mostly the splash).
Without the fix, './looking-glass-client -s' behaves differently than
'./looking-glass-client -s -F' in that the latter triggers a
SDL_WINDOWEVENT_SIZE_CHANGED and updates the viewport immediately after
window creation while the former doesn't and all rendering is delayed
until the frameThread successfully decodes the first frame.
As all the possible ways of updating the viewport (window creation,
window size change, frame size change) are covered with
updatePositionInfo(), the 'started' state becomes redundant and is
removed.
Note: this might be the wrong way to fix it (possible driver bug?),
glViewport's specification mentions that the default viewport size
matches the window size when the GL context is first attached.
Tested on:
Debian Buster with GNOME 3.30.2 on X.Org 1.20.3
Looking Glass (a12-21-g07e4c1c20f)
Locking Method: Atomic
Using: EGL
Vendor : Intel Open Source Technology Center
Renderer: Mesa DRI Intel(R) Haswell Desktop
Version : OpenGL ES 3.1 Mesa 18.3.2
Signed-off-by: Marius Barbu <msb@avengis.com>
2019-02-21 07:56:25 +11:00
Geoffrey McRae
07e4c1c20f
[client] spice: correct issue with new channel list support
2019-02-21 05:31:51 +11:00
Geoffrey McRae
daf854c692
[client] spice: initial agent support
2019-02-21 05:06:13 +11:00
Geoffrey McRae
65c1e0391c
[client] spice: minor fixes, don't assume inputs channel exists
2019-02-21 03:43:11 +11:00
Geoffrey McRae
769edba1a5
[client] spice: remove useless mouse queue, this is not needed
...
When this was first developed the official spice client was used as an example refrence, however upon inspecting the source of spice-server it has been determined that there is no server side queueing going on, and acks are simply sent after every 4 to reduce bandwidth.
2019-02-19 14:50:30 +11:00
Frediano Ziglio
2567447b24
[client] spice: use correct enumeration for SpiceLinkReply
...
SPICEC_ERROR_CODE_xxx constants are supposed to be used by old
client (obsoleted years ago).
SpiceLinkReply error field uses SPICE_LINK_ERR_xxx enumeration
constants.
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
2019-02-10 09:06:07 +11:00
Geoffrey McRae
473e4716fc
[client] spice: debug print unsigned int re #127
2019-01-25 14:17:06 +11:00
Dominik Csapak
59cac9c0cc
change spice port type to unsigned short
...
so that ports >32767 get displayed correctly,
also signed overflow is undefined behaviour
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2019-01-25 14:15:22 +11:00
Geoffrey McRae
92d87d983b
[client] spice: fix incorrect cursor button state being sent
2019-01-17 02:45:46 +11:00
Geoffrey McRae
bfc4a1bc16
[client] update client to handle new cursor move code
2019-01-12 00:00:21 +11:00
Geoffrey McRae
e4ae9134ae
[client] egl: fix graphical glitch with splash
2019-01-02 10:36:17 +11:00
Geoffrey McRae
640bc03c6b
[client] [Patch 2/2] fixes #106
2019-01-02 10:30:55 +11:00
Geoffrey McRae
667aed635d
[client] egl: added untested support for wayland
2019-01-02 00:04:40 +11:00
Alexander Olofsson
1d3a23e051
Store the initial window size in the state
...
Fixes #107
2018-12-17 16:07:21 +11:00
Geoffrey McRae
507732587e
[client] egl: fixed uninitialized variable bug
2018-12-16 12:17:12 +11:00
Geoffrey McRae
d1e3508d55
[client] fix early render issue
2018-12-16 11:02:51 +11:00
Geoffrey McRae
3a8998f1f9
[client] make EGL the default renderer
2018-12-16 11:02:40 +11:00
Geoffrey McRae
de5795e368
[client] egl: implemented alerts and some minor fixes to fps
2018-12-16 10:57:01 +11:00
Geoffrey McRae
fca71e2b95
[client] egl: slight correction to splash
2018-12-16 00:56:35 +11:00
Geoffrey McRae
0e2b371e59
[client] egl: added splash screen rendering
2018-12-16 00:54:37 +11:00
Geoffrey McRae
e1fa6b4057
[client] egl: fix cursor regression
2018-12-13 02:11:37 +11:00
Geoffrey McRae
b6c8d3fae5
[client] egl: fix mono cursor double height regression
2018-12-13 01:39:52 +11:00
Geoffrey McRae
eb1c61f335
[client] warn about poor FPS display performance
2018-12-13 01:34:23 +11:00
Geoffrey McRae
5842ce23a3
[client] pre-calculate the frame time
2018-12-13 01:34:14 +11:00
Geoffrey McRae
692d48df87
[client] don't calculate FPS if we are not showing it
2018-12-13 01:28:00 +11:00
Geoffrey McRae
49bd091359
[client] use clock_nanosleep for more accurate frame timing
2018-12-13 01:22:57 +11:00
Geoffrey McRae
5fe2db7e56
[client] rename fps variables to be more correct
2018-12-12 23:59:22 +11:00
Geoffrey McRae
b927f991d6
Revert "[client] improve fps target accuracy"
...
This reverts commit 4d7e1054bd
.
This causes FPS runaway after a time
2018-12-12 23:40:29 +11:00
Geoffrey McRae
4d7e1054bd
[client] improve fps target accuracy
2018-12-12 23:33:35 +11:00
Geoffrey McRae
42fa0e1d1f
[client] egl: corrected fps alpha blending
2018-12-12 22:38:08 +11:00
Geoffrey McRae
abfe3a9b4d
[client] egl: moved desktop rendering into seperate unit
2018-12-12 21:41:51 +11:00
Geoffrey McRae
b9f8f1a0ad
[client] egl: add and use default quad helper for models
2018-12-12 20:08:52 +11:00
Geoffrey McRae
608b67af77
[client] egl: moved fps code into seperate unit
2018-12-12 20:04:43 +11:00
Geoffrey McRae
2a65e39848
[client] egl: added missing files from last commit
2018-12-12 18:57:31 +11:00
Geoffrey McRae
c23bf6a0c4
[client] egl: migrate cursor code into seperate unit
2018-12-12 18:53:55 +11:00
Geoffrey McRae
50c460df5a
[client] define GL_GLEXT_PROTOTYPES globally
2018-12-12 16:53:30 +11:00
Geoffrey McRae
61f0577ab2
[client] egl: costmetics
2018-12-12 16:41:29 +11:00
Geoffrey McRae
a9aab3c1ee
[client] egl: moved egl sources into subdirectory
2018-12-12 16:39:04 +11:00
Geoffrey McRae
73da86ac0e
[client] egl: add checking to egl_shader_get_uniform_location
2018-12-12 16:32:16 +11:00
Geoffrey McRae
43d08df6b3
[client] egl: rename "shader" to "this" for consistancy
2018-12-12 16:31:25 +11:00
Geoffrey McRae
4654f317ca
[client] opengl: fixed incorrect colors and added 10-bit RGBA support
2018-12-12 10:55:18 +11:00
Geoffrey McRae
d2b83027b4
[client] egl: removed accidental commit of test code
2018-12-11 16:35:53 +11:00
Geoffrey McRae
7be930a69c
[client] removed use of now removed frame type, fixed #105
2018-12-11 16:34:41 +11:00
Geoffrey McRae
75ffcacfe4
[client] added support for RGBA, BGRA and 10-bit RGBA
2018-12-04 21:24:01 +11:00
Geoffrey McRae
1beeac545d
[client] added missing lg-fonts.c to the repo
2018-11-20 22:34:01 +11:00
Geoffrey McRae
ab98c87e7c
[client] egl: added FPS rendering
2018-11-20 09:50:09 +11:00
Geoffrey McRae
5b453d604e
[client] remove other render modes from font ABI
2018-11-20 05:50:22 +11:00
Geoffrey McRae
90fc2a8164
[client] move FPS calculations out of renderers
2018-11-20 05:26:51 +11:00
Geoffrey McRae
0ed9301ed9
[client] font: implemented font ABI and updated OpenGL to use it
2018-11-20 04:38:53 +11:00
Geoffrey McRae
2692ccc7b3
[client] use mouse visibility info properly
2018-10-09 18:33:18 +11:00
Geoffrey McRae
d8b4d0c1ce
[client] consume all SDL events in the filter
2018-10-04 17:18:09 +10:00
Geoffrey McRae
9613127162
[client] better usage of SDL event loops
2018-10-04 17:03:09 +10:00
Geoffrey McRae
4e7de236d3
[egl] implement window positioning
2018-10-04 02:31:37 +10:00
Geoffrey McRae
741dfd418d
[egl] improve texture upload performance
2018-10-04 00:09:47 +10:00
Geoffrey McRae
1d6dfa048e
[client] tighten timings
2018-10-04 00:09:47 +10:00
Geoffrey McRae
e70928d603
[egl] fix incorrect xor blending for monochrome cursors
2018-09-25 23:32:45 +10:00
Geoffrey McRae
e2b33348f3
[egl] added monochrome cursor rendering
2018-09-25 23:04:29 +10:00
Geoffrey McRae
3ff712fea5
[egl] fix performance issue with cursor updates and add todo message
2018-09-24 20:26:31 +10:00
Geoffrey McRae
2db26ae37e
[egl] fix incorrect mouse size and position scaling
2018-09-24 20:11:42 +10:00
Geoffrey McRae
375b97ca6f
[egl] fix incorrect mouse colors
2018-09-24 19:52:44 +10:00
Geoffrey McRae
d331a3dd5a
[egl] added intial cursor support
2018-09-24 19:48:11 +10:00
Geoffrey McRae
c0c63fd93b
[egl] simplify yuv to rgb shader
2018-09-23 20:56:18 +10:00
Geoffrey McRae
b5a47cae25
[egl] implemented YUV420 decode support in hardware
2018-09-23 20:45:20 +10:00
Geoffrey McRae
1f1c9dfa59
[egl] don't re-create the buffer each frame
2018-09-23 16:56:09 +10:00
Geoffrey McRae
0903b4a610
[egl] make new OpenGL ES renderer available
...
Note that this renderer is incomplete at this time as it doesn't
render the cursor.
2018-09-23 16:04:20 +10:00
Geoffrey McRae
884ad6557b
[egl] cleanup texture API
2018-09-23 15:56:47 +10:00
Geoffrey McRae
00658f3d64
[egl] split out texture code into it's own object
2018-09-23 15:48:44 +10:00
Geoffrey McRae
fff3ec30b8
[egl] added basic shaders and use dma to xfer buffer to the gpu
2018-09-22 18:00:52 +10:00
Geoffrey McRae
26434f7baf
[egl] initial commit of new modern OpenGL ES renderer
2018-09-22 16:26:55 +10:00
Andy Chun
f75e2fe8db
Default XDG_SESSION_TYPE to unspecified
...
Minimal systems in cases may not have XDG_SESSION_TYPE set at all, causing the program to segfault at the `strcmp`. This commit sets XDG_SESSION_TYPE to `unspecified` (according to https://www.freedesktop.org/software/systemd/man/pam_systemd.html ) if it is not defined in the environment.
2018-08-03 10:02:54 +10:00
Yvan da Silva
0674e04597
Corrects an error in a debug message
...
* This happened during the last edit.
2018-07-30 08:07:53 +10:00
Yvan da Silva
29f1d6cd42
[client] Adds back support for wayland
...
* Since LG is now using SDL2, the SDL_VIDEODRIVER must be set.
* This fixes SDL error 'Couldn't find matching GLX visual' when creating the window.
2018-07-30 08:07:53 +10:00
Geoffrey McRae
83592f7e4a
[client] cleanup of renderer API for better usage
...
* Added new on_render_start for render initialization
* Changed on_resize to execute inside the render thread
2018-07-28 14:49:37 +10:00
Geoffrey McRae
13cd50f92c
[client] disable multisample after logo is gone
...
We only use multisample to smooth out the edges of the LG logo, it is
pointless to leave it on after the logo is gone.
2018-07-28 10:36:41 +10:00
Geoffrey McRae
05bd587c74
[client] implemented initial slow yuv420 support
2018-07-28 08:41:39 +10:00
Geoffrey McRae
ef336d552c
[parser/nal] no need to check for null before free ( fixes #87 )
2018-07-26 06:09:12 +10:00