Commit Graph

2131 Commits

Author SHA1 Message Date
Jonathan Rubenstein
e96a80dd20 [doc] faq: Correct log file tray operation 2021-07-07 23:19:54 +10:00
Jonathan Rubenstein
c626385845 [doc] index: Nuke trello and add ethereum address 2021-07-07 23:19:54 +10:00
Geoffrey McRae
54d0dc351b [common] debug: remove missed debug_print forward 2021-07-07 23:08:47 +10:00
Geoffrey McRae
1effd5fddc [common] debug: add color support to debug messages
People often miss the warnings about invalid arguments in their command
line, this last minute patch attempts to address this by making
warnings, errors, fixme's and fatal errors stand out if stdout is a TTY.
2021-07-07 23:05:46 +10:00
Geoffrey McRae
ada6ada576 [host] app: always send the cursor position to the client
If the guest VM is not showing a cursor when it starts such as on the
Windows login screen, the client never gets the current position of the
cursor, which prevents the client from attempting to send mouse
movements. This change ensures the client gets the mouse location on
startup.
2021-07-06 09:53:42 +10:00
Jonathan Rubenstein
dacd0ab844 [doc] faq/install: Move Clipboard Synch instructions to Installation 2021-07-06 07:27:16 +10:00
Jonathan Rubenstein
8c43972786 [doc] faq: Touchup 2021-07-06 07:27:16 +10:00
Jonathan Rubenstein
acac8b40cb [doc] module: Touchups 2021-07-06 07:27:16 +10:00
Jonathan Rubenstein
6f5e5aa0c2 [doc] obs: Touchup 2021-07-06 07:27:16 +10:00
Jonathan Rubenstein
13e9488667 [doc] install/troubleshooting: AppArmor instructions already in Installation 2021-07-06 07:27:16 +10:00
Jonathan Rubenstein
13e76e6db2 [doc] troubleshooting: B4 touchup 2021-07-06 07:27:16 +10:00
Jonathan Rubenstein
e2c3ffcbb4 [doc] host: Touchups and sentence flow corrections 2021-07-06 07:27:16 +10:00
Jonathan Rubenstein
733e634f4d [doc] install: Touch ups and tweaks 2021-07-06 07:27:16 +10:00
A.J. Ruckman
1a7b7ce01e [client] Fix narrowing issues with win:shrinkOnUpscale param
Conversion from the float values srcW/srcH to the int values for the client window dimensions would sometimes round down, causing the client to scale instead of matching the host's resolution.
2021-07-06 01:46:33 +10:00
Geoffrey McRae
6c545806ab [all] cmake: check for VERSION file before using git describe
In order to make it easier for package maintainers that manage LG inside
their own git repository we should use the version file if it exists
over calling git describe.
2021-07-05 10:12:01 +10:00
Geoffrey McRae
7c1e8a85cd [client] egl: fix race on resolution change
A resolution switch could cause the renderer state to become invalid as
the texture format may change while it's being rendered. This fixes this
by adding a lock around the format change and render calls to the
renderer.
2021-07-04 21:56:16 +10:00
Geoffrey McRae
82e10c1b7e [host] app: fix inverted cursor shape logic
We should only advance the pointerIndex if the buffer was not swapped
out for storage. This is to ensure that we do not overwrite cursor
memory that the client(s) may still be using.
2021-07-04 19:45:10 +10:00
Geoffrey McRae
cd10e02862 Revert "[host] avoid manual windres command"
This reverts commit d82f2e510d.
While the proposed change is more correct, it breaks the generation of
the file due to failure to locate the resource files, such as
`resources/icon.ico`.
2021-07-04 19:30:06 +10:00
Geoffrey McRae
e9b009db9f [host] app: fix issue with wrong cursor shape being sent for new clients
When a new cursor shape is provided by the capture interface we need to
retain a copy of it incase a new client connects which will not yet have
the cursor shape. The logic here was flawed causing the wrong shape to
be sent to a new client in some instances.
2021-07-04 19:04:54 +10:00
arcnmx
d82f2e510d [host] avoid manual windres command 2021-07-03 04:28:28 +10:00
arcnmx
2386781d4f [host] install cmake target 2021-07-03 03:30:53 +10:00
arcnmx
1345e92ec0 [client] install cmake target 2021-07-03 03:30:53 +10:00
Geoffrey McRae
7b95cc72ed [client] opengl: do not render a sync pending texture 2021-07-02 21:48:31 +10:00
Geoffrey McRae
203ebc73eb [client] x11/opengl: enable double buffering for OpenGL
Drawing to the front buffer directly requires special handling to
prevent seeing the draw progress (avoiding glClear, etc) and as a result
the output is quite bad unless a compositor is running. Also vsync if
enabled will not function without double buffering enabled.

As OpenGL is the legacy fallback, there are no plans to implement clean
front buffer draw support, so just enable double buffering.
2021-07-02 21:45:12 +10:00
Geoffrey McRae
d24b031fc5 [client] opengl: cosmetics 2021-07-02 20:10:25 +10:00
Geoffrey McRae
55d185ef9c [client] opengl: no need to re-bind the already bound texture 2021-07-02 19:51:22 +10:00
Geoffrey McRae
9cbc255448 [client] opengl: do not prematurely delete overlay textures
Overlay textures exist for the lifetime of the renderer and as such
should not be deleted when the resolution changes.
2021-07-02 19:50:31 +10:00
Geoffrey McRae
212cc32097 [client] opengl: deconfigure is idempotent 2021-07-02 19:50:15 +10:00
Quantum
d385b49f5f [common] runningavg: avoid integer overflows
We receive values as int64_t, but when we compute the sum, we store it as
int. This doesn't make sense as we eventually cast it to double when
computing the average. We should instead store the sum as int64_t.
2021-06-28 14:47:19 +10:00
Quantum
6419279c3c [client] wayland/clipboard: prefer text/plain over text/html
When both text/plain and text/html are available, we should prefer the plain
text as we can't paste HTML.
2021-06-26 12:49:47 +10:00
Quantum
f3a1eaf557 [client] wayland: fix full screen toggle in capture mode regression
This was fixed in 9db3cd7b and accidentally broke again in 4b99bba2.
2021-06-20 09:27:33 +10:00
Geoffrey McRae
facbb54776 [client] x11: create _NET_WM_BYPASS_COMPOSITOR if it doesn't exist
If a compositor has not yet started or is not running the atom
`_NET_WM_BYPASS_COMPOSITOR` may not have yet been created. As such we
need to create it so that if a compositor is started it will see this
propery and honour it.
2021-06-17 11:16:26 +10:00
Geoffrey McRae
2160dee23a [host] linux: implement new truncated frame support 2021-06-12 19:10:32 +10:00
Geoffrey McRae
9f25f7fced [client] main: display error when the frame has been truncated 2021-06-12 19:06:32 +10:00
Geoffrey McRae
d36c4f0e83 [host] kvmfr: allow the frame size to exceed the available memory
This change allows the host to still transmit a frame that is truncated
if the IVSHMEM size is too small to allow for a full frame.
2021-06-12 18:44:28 +10:00
Quantum
4b99bba200 [client] wayland: lock confine-related code to avoid race
This should fix the occasional Wayland protocol errors that arise when
the UI thread and the cursor thread race.

Example of error that is fixed:

    zwp_pointer_constraints_v1@11: error 1: a pointer constraint with a wl_pointer of the same wl_seat is already on this surface
2021-06-08 21:04:14 +10:00
Geoffrey McRae
f07e4839b1 [client] egl: fix dmabuf support 2021-06-08 20:51:09 +10:00
Geoffrey McRae
964403b4f8 [client] egl: tex is now an array, so check it properly for assignment 2021-06-08 20:45:37 +10:00
Geoffrey McRae
20d20f5c8a [client] egl: fix incorrect texture usage
The existing code would overwrite the texture's data even if the texture
is currently being used to render to screen. This changeset generates a
texture for each buffer preventing this invalid usage.
2021-06-08 20:41:22 +10:00
Geoffrey McRae
d20e4d1de5 [common] framebuffer: make use of framebuffer_wait 2021-06-08 16:10:34 +10:00
Geoffrey McRae
e87d2f1a20 [common] framebuffer: add additional profiling support 2021-06-08 16:08:44 +10:00
Geoffrey McRae
4a75cc3bcf [common] framebuffer: simplify the remaining calculation
The pitches match so there is no need for the added complexity of this
calculation.
2021-06-08 15:14:54 +10:00
Geoffrey McRae
196050bd23 [common] framebuffer: improve client framebuffer read performance
Extensive profiling reveals that the glibc memcpy performs up to 2x
faster then the existing SIMD implementation that was in use here. This
patch also will copy large 1MB chunks if the pitch of the source and
destination match further increasing throughput.
2021-06-08 15:08:13 +10:00
Quantum
7300d00f66 [common] option: handle ini lines without trailing newline
Before, if the last line of an ini file has no trailing \n, it is ignored.
This commit changes the parser to process such lines.
2021-06-07 18:22:19 +10:00
Geoffrey McRae
21d86dd31d [common] option: prevent ascii filter from eating newlines 2021-06-07 11:29:17 +10:00
Geoffrey McRae
44bff58aa8 [common] option: ignore non-typeable ascii characters
Under windows text editors like to default to saving in UTF8 with a byte
order mask prefix preventing proper parsing of any option that is on the
first line of the file. Since the configuration file is only intended to
be plain ascii this change ignores all non-ascii characters solving this
issue.
2021-06-07 11:25:35 +10:00
Quantum
5c00f73d23 [client] x11: use correct spelling of _NET_WM_BYPASS_COMPOSITOR
The incorrect spelling, NETWM_BYPASS_COMPOSITOR, somehow worked in the
past, but it appears to not work right now. Corrgan on Discord reported
the issue and confirmed that changing the spelling allowed the compositor
to be bypassed and the client to update faster than 60 Hz on his mixed
refresh rate setup.
2021-06-07 11:17:06 +10:00
Quantum
62c7fc2588 [common] runningavg: refresh copyright notice 2021-06-06 13:36:55 +10:00
Quantum
e6eeb2bb65 [all] check if pull request author is in AUTHORS 2021-06-06 13:17:39 +10:00
Quantum
3ca2030c22 [all] add AUTHORS file 2021-06-06 12:59:59 +10:00