Geoffrey McRae
2e515657dd
[all] update/add license headers
2023-10-20 15:36:34 +11:00
Geoffrey McRae
dab5618a6d
[host] linux: fix compilation
2023-04-26 16:31:02 +10:00
Quantum
a8521b821e
[all] cmake: standardize indentation to 2 spaces
2022-05-29 11:16:16 +10:00
Geoffrey McRae
7ed18e24e2
[host] linux/pw: add missing include for min
define
2022-05-04 12:28:20 +10:00
Geoffrey McRae
60834a5719
[host] xcb/pipewire/nfbc: use min
and correct inverted logic
2022-05-04 12:23:20 +10:00
Geoffrey McRae
81f91caf0e
[host] pw: fix build due to frame info structure changes
2022-05-04 10:59:44 +10:00
Geoffrey McRae
3d727a2254
[host] xcb: fix build due to frame info structure changes
2022-05-04 10:58:19 +10:00
vmfortress
6c76d6ada5
[host] xcb: fixed early start of pointer thread by adding xcb_start
2022-03-08 06:12:17 +11:00
Tudor Brindus
eeefc15e46
[host] build with -Wstrict-prototypes
2022-02-25 20:38:44 +11:00
Quantum
fc96b6691e
[host] linux: remove useless libX11 dependency
2022-02-14 15:08:29 +11:00
Quantum
5a94f82f10
[host] linux: remove useless GL dependency
2022-02-14 15:08:29 +11:00
Quantum
f01489720f
[host] linux: build with PipeWire by default
...
Since the client already depends on PipeWire by default, there is no
reason why the host shouldn't.
2022-02-12 22:13:31 +11:00
Tudor Brindus
9ddfa585ec
[host] cleanup some missing (void) parameters
2022-02-08 16:37:17 +11:00
Tudor Brindus
809e1095bd
[host] windows: plumb guest activation request to host
2022-02-08 15:27:27 +11:00
Quantum
d93510e9f2
[host] linux: allow getting system version
...
Result is something like:
Debian GNU/Linux 11 (bullseye), kernel: Linux 5.14.0-0.bpo.2-amd64 on x86_64
2022-01-27 05:47:53 +11:00
Geoffrey McRae
fdb38a227e
[host] app: implement stubs for platform specific guest information
2022-01-05 21:04:57 +11:00
Geoffrey McRae
952ebea2c5
[all] refresh copyright dates
2022-01-05 19:42:46 +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
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
vmfortress
8ab130deba
xcb: added basic cursor support via xcb_fixes
...
xcb interface now properly supports cursor integration through
a `pointerThread` similar to the nvfbc implementation.
2021-12-27 11:10:07 +11:00
vmfortress
fbf294efd9
xcb: Fixed return value of xcb_deinit
...
`xcb_deinit` returns `true` to fit the capture interface standard.
2021-12-27 11:10:07 +11:00
vmfortress
2824238b4d
xcb: added xcb_stop and xcb_initOptions support
...
Added basic functions and the necessary variables for the
`.initOptions` and `.stop` items in the capture interface.
2021-12-27 11:10:07 +11:00
Quantum
1e2caf4c9f
[host] pipewire: implement basic capture
...
It works, with the following limitations:
1. user is forced to select the monitor through platform-specific mechanisms
every time the client starts.
2. cursor is composed onto the screen, and no position can be reported.
2021-08-21 23:01:11 +10:00
Quantum
28eae3bd86
[host] linux: add skeleton pipewire capture backend
2021-08-21 23:01:11 +10:00
Quantum
4ecf749f7e
[host] remove all casts around malloc
2021-08-16 16:26:58 +10:00
Quantum
cdda89cef7
[host] use correct argument order for calloc
2021-08-16 16:25:59 +10:00
Tudor Brindus
982b4e6625
[host] use variable-relative sizeof where possible
2021-08-16 16:22:55 +10:00
Quantum
4f7ce91e7f
[host] capture: switch all asserts to DEBUG_ASSERT
2021-08-14 12:19:07 +10:00
Geoffrey McRae
2856928b57
[host] windows: implement KVMFR_FEATURE_SETCURSORPOS
2021-08-05 22:35:22 +10:00
Quantum
51b9cd4e5a
[all] copyright: use unicode copyright sign ©
...
This is done for consistency with the license strings in appstrings.c.
2021-08-04 21:16:35 +10:00
Quantum
9ab85fd0b8
[host] capture: stop sending DPI information
...
The client doesn't need DPI information anymore, so there is no point
fetching it.
2021-07-18 10:50:57 +10:00
Quantum
9ce4990793
[host] capture: pass frameIndex to capture backends
...
This allows capture backends to track damage made to each frame.
2021-07-18 10:41:50 +10:00
Geoffrey McRae
e477663a7e
[host] app: allow the capture interface to select async or sync mode
...
While it's correct for DXGI to use a asyncronous waitFrame model, other
capture interfaces such as NvFBC it is not correct. This change allows
the capture interface to specify which is more correct for it and moves
the waitFrame/post into the main thread if async is not desired.
2021-07-12 16:57:22 +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
2160dee23a
[host] linux: implement new truncated frame support
2021-06-12 19:10:32 +10:00
Quantum
24d0aa0c18
[all] normalize copyright on all source files
2021-06-06 11:53:05 +10:00
Geoffrey McRae
87568f97eb
[host] linux: add missing library to fix compilation
2021-06-04 12:44:21 +10:00
Geoffrey McRae
0b4e98881f
[host] app: add os_showMessage for Linux
...
Linux doesn't have a generic way to show a dialog box, so we just use
DEBUG_INFO to print the message out to the console.
2021-06-04 12:39:11 +10:00
Quantum
a4290b290b
[host] cmake: link correctly against libxcb-xfixes.so
...
We are using <xcb/xfixes.h>, so it makes sense to link against the
xcb library instead of libXfixes.so directly.
2021-03-15 12:12:48 +11:00
Quantum
f2c0b8c0b4
[host] allow user to select capture backend
...
This commit introduces a new option, app:capture, which can be set to
either DXGI or NvFBC to force the host application to use that backend.
This is very useful for testing DXGI on Quadro cards, which would default
to running with NvFBC.
2021-02-27 17:41:44 +11:00
Quantum
8e98f863b6
[host] windows: detect whether screensaver is disabled in the guest
...
This will allow us to add an option to disable the screensaver on the client
when an application in the guest requests it. This behaviour may be useful
when the guest is doing media playback.
2021-02-21 10:31:48 +11:00
Geoffrey McRae
f5587b6b6b
[host] all: pass back the desktop rotation to the client
2021-01-18 13:53:29 +11:00
Quantum
a55b5e4b06
[host] linux: link with libX11 and libGL
2021-01-15 08:49:30 +11:00
Quantum
e467db64d8
[host] linux: include missing headers
...
- <pwd.h> for getpwuid
- <unistd.h> for getuid
- "common/stringutils.h" for alloc_sprintf
2021-01-15 08:49:30 +11:00
Quantum
dd2d69fa37
[host] xcb: remove undefined getPointer member from Capture_XCB
2021-01-15 08:49:30 +11:00
Quantum
ed9e3d253b
[host] xcb: fix xcb_create signature error
...
Should have two arguments instead of zero.
2021-01-15 08:49:30 +11:00
Quantum
2723b4b7c0
[host] xcb: fix xcb_getFrame compile error
...
The argument should have been a pointer.
2021-01-15 08:49:30 +11:00
Tudor Brindus
a46a3a2668
[all] use explicit void parameter lists
...
This makes it a compile-time error to call a function that semantically
takes no parameters with a nonzero number of arguments.
Previously, such code would still compile, but risk blowing up the stack
if a compiler chose to use something other than caller-cleanup calling
conventions.
2021-01-14 17:29:37 +11:00
Quantum
7e4d323427
get display DPI info to scale mouse movement
2021-01-05 09:03:29 +11:00
Geoffrey McRae
67dec216d2
[host] search the applications local directory for the config
2020-05-30 12:31:26 +10:00