Commit Graph

2908 Commits

Author SHA1 Message Date
Geoffrey McRae
92f27cc0f0 [host] dxgi: use DwmFlush to sync to presentation interval
This change reduces the host GPU and CPU load by a large margin
improving guest system performance along with removing latency spikes
when moving the mouse. This is default enabled but can be disabled with
the new option `dxgi:dwmFlush=no` as it limits the capture rate to the
refresh rate of the guests output which may not be desireable.
2022-01-06 18:39:08 +11:00
Geoffrey McRae
208b722348 [client] main: failure to find a renderer is an error 2022-01-06 15:19:35 +11:00
Geoffrey McRae
67509d7a2d [client] main: format the guest information a bit better 2022-01-06 15:19:16 +11:00
Geoffrey McRae
c20bb27b67 [client] main: move checkUUID to after informational prints are done
This change makes the client print the check failure as the last thing
before disconnecting making it more obvious to the user.
2022-01-06 15:18:10 +11:00
Geoffrey McRae
8cdeaceed9 [client] main: fix reversed check logic from testing/debug 2022-01-06 14:40:34 +11:00
Geoffrey McRae
7bcd0dd97f [client] main: if spice is in use check the guest uuid matches
If the guest supports sending us it's UUID and PureSpice has also
reported the guest's UUID, check them to see if the user has
accidentially connected to the wrong spice socket.
2022-01-06 14:38:46 +11:00
Geoffrey McRae
5bb1f01dea [host] windows: parse the UUID from the SMBIOS 2022-01-06 14:22:38 +11:00
Geoffrey McRae
297d0be2dc [obs] allow for the larger KVMFR header size now 2022-01-05 21:57:49 +11:00
Geoffrey McRae
fdb38a227e [host] app: implement stubs for platform specific guest information 2022-01-05 21:04:57 +11:00
Geoffrey McRae
7ccd202d36 [client] main: fix out by one error in the bounds check for os type 2022-01-05 20:40:13 +11:00
Geoffrey McRae
177a997883 [client] main: parse the KVMFR records and log the details 2022-01-05 20:27:43 +11:00
Geoffrey McRae
b3f6c75ade [host] app: zero memory allocated for lgmp userdata 2022-01-05 20:13:12 +11:00
Geoffrey McRae
912ca62a7b [common] only define min/max if they have not already been defined 2022-01-05 19:45:09 +11:00
Geoffrey McRae
952ebea2c5 [all] refresh copyright dates 2022-01-05 19:42:46 +11:00
Geoffrey McRae
0d27092ef5 [all] move min/max and upcast macros into common/util.h 2022-01-05 19:41:57 +11:00
Geoffrey McRae
ebf20dd108 [host] nvfbc: fix failure to startup 2022-01-05 19:31:47 +11:00
Geoffrey McRae
7cc9b5f77c [host] app: remove debug line and fix my failure to count 2022-01-05 19:25:51 +11:00
Geoffrey McRae
0ccc84959e [host] app: fix out by one compiler warning 2022-01-05 19:23:19 +11:00
Geoffrey McRae
ba9f2b85b6 [host/client] kvmfr: update to include extra user data about the VM
This change allows the host to provide information to the client about
how the VM is configured, information such as the UUID, CPU
configuration and capture method both for informational display in the
client as well as debugging in the client's logs.

The format of the records allows this to be extended later with new
record types without needing to bump the KVMFR version.
2022-01-05 19:18:43 +11:00
Geoffrey McRae
ed61a7adf9 [client] spice: update PureSpice submodule to fix UUID format bug 2022-01-05 12:39:05 +11:00
Geoffrey McRae
d708651c53 [client] egl: check for null gl strings 2022-01-05 12:38:38 +11:00
Geoffrey McRae
0d00936aac [client] spice: update PureSpice submodule 2022-01-04 19:06:14 +11:00
Geoffrey McRae
6347f02efe [client] fix accidental submodule version change 2022-01-04 11:04:56 +11:00
Geoffrey McRae
dfdc407bc6 [all] ci: libdecor-dev is now libdecor-0-dev 2022-01-04 10:48:13 +11:00
Geoffrey McRae
ac2c62e560 [host] intiialize the app state earlier to prevent ovewriting re-inits
If there is LGMP corruption the LGMP thread will set the state to
REINIT which if this happens early enough will get overwritten if the
inital app state is set too late. Instead set the application initial
state early to avoid this.
2022-01-04 10:40:00 +11:00
Geoffrey McRae
4b8255aa28 [client] spice: allow spice startup to happen in parallel 2022-01-01 21:07:55 +11:00
Geoffrey McRae
b6fedf1420 update purespice submodule 2022-01-01 20:51:54 +11:00
Geoffrey McRae
c8b4787cb1 [client] don't report a spice error on graceful shutdown 2021-12-30 21:02:53 +11:00
Geoffrey McRae
d43126f433 [client] main: release the grab if the host application is stopped 2021-12-30 17:08:19 +11:00
Geoffrey McRae
6f39434bdc [host] correct reinit logic when LGMP corruption is detected 2021-12-30 14:34:45 +11:00
Geoffrey McRae
9b202d5566 [host] detect header corruption and re-initialize if so 2021-12-30 13:49:33 +11:00
Geoffrey McRae
764e52fb20 [client] undo commented code from debugging 2021-12-30 13:19:59 +11:00
Geoffrey McRae
6f17e89b16 [host] lgmp: update to fix regression in initialization of the header 2021-12-30 13:00:56 +11:00
Geoffrey McRae
d8e7a83226 [host] lgmp: update the lgmp submodule 2021-12-30 12:49:49 +11:00
Geoffrey McRae
c74d48691f [client] spice: update submodule and update to use new PSConfig members 2021-12-29 20:22:07 +11:00
Geoffrey McRae
7c8f42855d [client] spice: update submodule for improved logging 2021-12-29 18:18:33 +11:00
Geoffrey McRae
d1a765c179 [client] spice: update PureSpice submodule and adjust for new API usage 2021-12-29 16:02:22 +11:00
Geoffrey McRae
2ed3c82de0 [common] provide debug print methods for dependent libraries to use 2021-12-29 16:01:42 +11:00
Geoffrey McRae
17b77cfbc1 [client] spice: update PureSpice submodule and update includes 2021-12-29 00:18:25 +11:00
Geoffrey McRae
65ba2e8df9 [client] spice: update submodule and refactor calls & types 2021-12-28 22:04:35 +11:00
Quantum
e7fdf7e77a [host] pipewire: report stream state
This should provide some useful debug information and report stream
errors.
2021-12-28 19:23:14 +11:00
Jonathan Rubenstein
aa5922a1b4 [version.cmake] Add reminder to synchronize git-describe with docs/lgrelease.py 2021-12-28 19:18:42 +11:00
Geoffrey McRae
142902b7b3 [doc] fix typo and add Debian to the word list 2021-12-28 19:07:33 +11:00
Quantum
10110dd940 [host] app: support force quitting
This makes it much less painful to develop the host, as sometimes it
hangs and ^C doesn't work.
2021-12-28 19:04:47 +11:00
Geoffrey McRae
192fb1cdc7 [doc] add link to the wiki for dependencies on other distributions
ref #909
2021-12-28 19:04:24 +11:00
Geoffrey McRae
35efa551ef [client] egl: determine mouse scale using both horiz and vert size 2021-12-28 19:04:24 +11:00
Jonathan Rubenstein
f53adc7a05 [doc] build: Fix apt command overflowing page 2021-12-28 18:50:56 +11:00
Quantum
a21e897bb5 [host] pipewire: use new format for 10-bit colour
I recently added little-endian 10-bit colour formats to PipeWire, which
is what we actually use. The old r210 format is big endian.
2021-12-28 18:50:29 +11:00
Quantum
136737f25b [client] egl: simplify EGL torus code 2021-12-28 10:19:36 +11:00
Geoffrey McRae
95987a9c91 [client] core: set the correct cursor when exiting overlay 2021-12-27 11:52:06 +11:00