Geoffrey McRae
da820769e8
[host] windows: fix crash on failure to init a capture interface
2024-03-09 11:30:35 +11:00
Geoffrey McRae
545e736389
[host] windows: handle graceful shutdown on user switch
2024-03-06 15:02:37 +11:00
Geoffrey McRae
bfadf0a427
[host] app: print list of valid capture interfaces
2024-03-04 21:09:39 +11:00
Geoffrey McRae
0b210a280d
[all] update the copyright to 2024
2024-02-01 17:16:31 +11:00
Geoffrey McRae
72b25b99bc
[host] add new D12 capture interface
...
Note, this capture interface is not yet feature complete but does seem
to be stable.
2024-01-31 00:29:55 +11:00
Geoffrey McRae
e376e6fb53
[host] app: revert unintended change from last commit
2024-01-27 23:19:42 +11:00
Geoffrey McRae
34e8a2255e
[host] dxgi: d3d12 now writes direclty into ivshmem
...
This is still incomplete as d3d12 doesn't have any proper sync with the
captured frame and as such is still not suggested for general usage. This
change though is monumental for this project as it removes a full memory
copy reducing bandwidth consumption enormously.
2024-01-27 22:57:13 +11:00
Geoffrey McRae
5d4c1d348c
[all] refactor cpuInfo function names
2023-11-19 01:22:09 +11:00
Geoffrey McRae
929e88b9d3
[all] provide conditional path optimization hints to the compiler
2023-11-12 18:26:08 +11:00
Geoffrey McRae
96b5892c31
[host] app: prevent possible null deref and resource leak
2023-11-12 06:44:20 +11:00
Geoffrey McRae
cd6485f2ed
[host] downsample: fix resource leak on failure
2023-11-12 05:59:47 +11:00
Geoffrey McRae
ba8075a9fd
[host] app: fix unchecked return value
2023-11-11 20:50:42 +11:00
Geoffrey McRae
d592f13f88
[host] all: don't combine the downsampler rules
2023-11-10 06:28:05 +11:00
Geoffrey McRae
86e8e99107
[all] add initial support for RGB24-bpp support
2023-11-10 06:28:05 +11:00
Geoffrey McRae
30c577beeb
[host] all: make the downsample rule matching common
2023-11-10 06:28:05 +11:00
Geoffrey McRae
6c7f3c4197
[host] nvfbc: make the downsampleParser available outside of NvFBC
2023-11-10 06:28:05 +11:00
Geoffrey McRae
578d98fd22
[host] DXGI: initial implementation of RGB24 support
...
This commit breaks damage tracking and the dx12 backend and is not in
a state where it should be used by the general public.
2023-11-10 06:28:05 +11:00
Geoffrey McRae
b41840b010
[host] all: tell the client if HDR PQ is in use or not
2023-10-27 01:11:57 +11:00
Geoffrey McRae
ad65561511
[host] app: cleanup local variables during init.
2023-10-21 22:03:22 +11:00
Geoffrey McRae
2e515657dd
[all] update/add license headers
2023-10-20 15:36:34 +11:00
Geoffrey McRae
f84165ac66
[host] app: report to the client if the frame is actually HDR
2023-04-26 15:48:01 +10:00
Quantum
f519904c38
[host] app: clarify that config file not found is not fatal
...
This prevents users from thinking this is the problem they are facing.
2022-12-08 21:08:07 +11:00
Geoffrey McRae
875242fe15
[host] app: improve throttleFPS logic
2022-11-07 22:56:20 +11:00
Geoffrey McRae
697bbcd6d4
[host] app: correct timer restart on lgmp corruption recovery
2022-11-07 13:36:57 +11:00
Geoffrey McRae
ecca5720a9
[host] app: ensure that rand
will be random
2022-11-07 13:26:52 +11:00
Geoffrey McRae
8e706636d3
[host] app: don't stop the lgmpTimer on session recovery
2022-11-07 12:20:25 +11:00
matthewjmc
53c843d9dd
[common] Update framebuffer metadata + references
2022-05-16 20:01:09 +10:00
Geoffrey McRae
3134ec84de
[host] dxgi: add support for downsampling the capture before sending
...
This is an experimental & incomplete feature for those using
supersampling. Anything > 1200p will be downsampled by 50% before
copying out of the GPU to save on memory bandwidth.
Unfinished! Has issues with damage tracking and currently can not
be configured. Only dx11 has been tested at this point, everything
else will likely have problems/crash.
2022-05-01 19:45:44 +10:00
Geoffrey McRae
8b4551c39c
[all] convert KVMFR frame bools to flags in a bitfield
...
This will allow us to add additional flags in the future while remaining
backwards compatible with the host.
2022-02-10 20:32:38 +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
Tudor Brindus
fd28d0604e
[host/client] kvmfr: request activation based on guest state
2022-02-08 15:27:27 +11:00
Quantum
f247d7f0da
[host] app: don't read from UUID if none is returned
...
This allows the Linux host to start.
2022-01-26 23:05:31 +11:00
Geoffrey McRae
ccdf7b7c0e
[host] app: report the full capture name to the client
2022-01-26 19:32:55 +11:00
Geoffrey McRae
fd12d9901a
[host] app: dont use pointers when realloc may have changed them
...
This code was completely broken and corrupts the stack, replace it with
something that is actually safe.
2022-01-09 21:19:17 +11:00
Quantum
bf059a6eda
[host] app: send CPU socket count information
2022-01-07 21:03:20 +11:00
Quantum
194241c5a3
[common] cpuinfo: add sockets to interface
2022-01-07 21:03:20 +11:00
Geoffrey McRae
fdb38a227e
[host] app: implement stubs for platform specific guest information
2022-01-05 21:04:57 +11:00
Geoffrey McRae
b3f6c75ade
[host] app: zero memory allocated for lgmp userdata
2022-01-05 20:13:12 +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
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
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
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
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
9969896876
[host] app: zero the new client sub count
...
If a new client connects but there has not been a capture timeout the
new client count wont be zeroed on a valid capture. If there is a
timeout later the host will still think there is a new client and
re-send a frame when it should not. This fixes this by reading the value
on a valid frame which zeros the new subs count.
2021-10-20 15:56:35 +11:00
Quantum
e05bb196f0
[host] app: print CPU information on startup
2021-08-31 20:14:10 +10:00