Geoffrey McRae
9679c94b91
[idd] helper: synchronize clipboard files
2026-08-14 19:09:11 +10:00
Geoffrey McRae
9ce121f97e
[idd] helper: add clipboard file primitives
2026-08-14 18:13:22 +10:00
Geoffrey McRae
3525796a00
[idd] lgmp: route clipboard file operations
2026-08-14 16:09:08 +10:00
Geoffrey McRae
88fd0da19e
[idd] clipboard: route file dataset records
2026-08-14 16:09:08 +10:00
Geoffrey McRae
71acbe71ad
[idd] clipboard: accept restarted client generations
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
2026-08-14 12:46:11 +10:00
Geoffrey McRae
c868082a7f
[client/idd] fix copyright headers
2026-08-14 12:36:43 +10:00
Geoffrey McRae
b786167f72
[idd] clipboard: add direct synchronization
2026-08-14 10:22:37 +10:00
Geoffrey McRae
4602f20e62
[common] clipboard: define streamed clipboard ABIs
2026-08-14 10:06:34 +10:00
Geoffrey McRae
1e4f274553
[idd] helper: follow the active console session
2026-08-14 09:40:48 +10:00
Geoffrey McRae
caf8515e9d
[idd] logging: make periodic statistics opt-in
2026-08-14 03:14:36 +10:00
Geoffrey McRae
879b8429e7
[idd] capture: log committed frame graph
2026-08-14 02:30:31 +10:00
Geoffrey McRae
1dcab65ab9
[idd] capture: version frame graph changes
2026-08-14 02:30:31 +10:00
Geoffrey McRae
70bc66b3f1
[idd] capture: execute texture frame graphs
2026-08-14 02:30:31 +10:00
Geoffrey McRae
deb963774e
[idd] transport: route immutable texture frames
2026-08-14 02:30:31 +10:00
Geoffrey McRae
ba7a037f23
[idd] d3d: add leased D3D11 texture interop
2026-08-14 02:30:31 +10:00
Geoffrey McRae
3dd5abb05e
[idd] capture: define immutable texture products
2026-08-14 02:30:31 +10:00
Geoffrey McRae
a8eb49fb17
[idd] postprocess: separate calibrated frame branches
2026-08-14 02:30:31 +10:00
Geoffrey McRae
43d918b5f3
[idd] capture: build frame processing graph
2026-08-14 02:30:31 +10:00
Geoffrey McRae
081dcf8879
[idd] transport: isolate frame configuration
2026-08-14 02:30:30 +10:00
Geoffrey McRae
eb74a8ec9d
[idd] transport: define texture frame profiles
2026-08-14 02:30:30 +10:00
Geoffrey McRae
91c501d602
[idd] logging: suppress duplicate pipeline initialization
2026-08-14 02:30:30 +10:00
Geoffrey McRae
8c21f61e91
[idd] postprocess: centralize compute effect utilities
2026-08-13 21:48:37 +10:00
Geoffrey McRae
af309de438
[idd] common: centralize atomic operations
2026-08-13 21:44:31 +10:00
Geoffrey McRae
5d12ee4bce
[idd] common: centralize nonzero sequences
2026-08-13 21:44:07 +10:00
Geoffrey McRae
cd6bcc3a41
[idd] transport: centralize source identity
2026-08-13 21:42:24 +10:00
Geoffrey McRae
84bda112ac
[idd] postprocess: centralize color transform state
2026-08-13 21:41:45 +10:00
Geoffrey McRae
3d7df86a01
[idd] postprocess: centralize frame format utilities
2026-08-13 21:40:53 +10:00
Geoffrey McRae
34835dd1af
[idd] lgmp: pointer motion data doesn't require 1MB buffers
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
2026-08-13 16:01:29 +10:00
Geoffrey McRae
5b9d4923a7
[idd] transport: coordinate recovery requests
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
2026-08-13 04:28:09 +10:00
Geoffrey McRae
fbc4640623
[idd] transport: arbitrate interaction requests
2026-08-13 04:28:09 +10:00
Geoffrey McRae
5b09d4f90a
[idd] transport: intersect frame capabilities
2026-08-13 04:28:09 +10:00
Geoffrey McRae
c601468871
[idd] transport: configure active instances
2026-08-13 04:28:09 +10:00
Geoffrey McRae
c92acb0a34
[idd] transport: isolate interactive services
2026-08-13 04:08:49 +10:00
Geoffrey McRae
51f432db00
[idd] transport: track asynchronous frame readiness
2026-08-13 04:08:49 +10:00
Geoffrey McRae
8792c3c446
[idd] transport: fan out frame publication
2026-08-13 04:08:49 +10:00
Geoffrey McRae
bd4d31f0bd
[idd] transport: add frame sink boundary
2026-08-13 04:08:49 +10:00
Geoffrey McRae
801a1e58f8
[idd] transport: centralize source and control state
2026-08-13 04:08:49 +10:00
Geoffrey McRae
1ebf80fbe8
[idd] transport: add multi-instance lifecycle manager
2026-08-13 04:08:49 +10:00
Geoffrey McRae
bacf376305
[idd] recovery: restore fallback display
...
Add a protocol-independent recovery channel outside LGMP so clients can
request a usable guest display even when transport versions differ.
Synchronize recovery state with the helper across driver restarts and
restore the configured topology without persisting temporary changes.
2026-08-11 23:50:13 +10:00
Geoffrey McRae
9898e9bcec
[common/idd] recovery: reserve IVSHMEM control region
...
Define a fixed, protocol-independent recovery ABI in the final 64 KiB
of IVSHMEM.
Provide crash-safe multi-client requests and coherent producer status.
Exclude the region from LGMP allocation and frame capacity so future
protocol mismatches retain a stable control path.
2026-08-11 23:50:13 +10:00
Geoffrey McRae
61a49ebaba
[idd] common: use CSRWLock throughout the drivers
...
Make CSRWLock own the native lock and provide scoped guards for shared,
exclusive, early-unlock, and non-blocking use.
Replace direct SRW lock management throughout the IDD, input driver,
and helper while preserving the existing lock scopes.
2026-08-11 23:50:13 +10:00
Geoffrey McRae
efa1b1bbee
[idd] installer: use staged LGInput package
...
Read the LGInput catalog, binary, and INF from the package root.
The driver packaging target stages these files for signing and export.
2026-08-09 02:29:33 +10:00
Geoffrey McRae
4367fbc277
[client/idd] input: avoid replaying absolute position
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / idd (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
2026-08-09 02:07:38 +10:00
Geoffrey McRae
c89c01ae5a
[idd] input: preserve relative mode on reset
2026-08-09 01:57:51 +10:00
Geoffrey McRae
487920ada3
[client/idd] input: add transport diagnostics
2026-08-09 01:55:45 +10:00
Geoffrey McRae
5b90384123
[client/idd] input: report endpoint status
2026-08-09 01:36:54 +10:00
Geoffrey McRae
726086a969
[idd] input: report volume keys as consumer controls
...
Expose a Consumer Control HID report for the system volume usages that
Windows does not handle through the Keyboard/Keypad usage page.
Translate the existing mute and volume keyboard usages at the LGInput
boundary, preserve normal keyboard state, and force a neutral consumer
report across resets and HID device reactivation.
2026-08-09 01:02:33 +10:00
Geoffrey McRae
ced2fb531e
[idd] input: preserve reports under backpressure
...
Move named pipe writes off the LGMP input worker so a stalled LGInput
endpoint cannot block queue draining or lease maintenance.
Coalesce motion only under queue pressure while preserving mode, button,
wheel, and keyboard transitions. Reset HID state after discontinuities
and carry all 32 mouse button bits through the pipe and HID reports.
2026-08-08 23:42:27 +10:00
Geoffrey McRae
83c552fb9d
[idd] input: receive LGMP input reports
...
Add an optional input transport and a dedicated LGMP receiver that
validates source ownership, generations, ordered sequences, and leases.
Poll input outside the 10 ms control timer. Forward mouse and keyboard
state through the LGInput pipe, and neutralize the endpoint before
ownership changes or transport failures can leave input held.
2026-08-08 22:56:02 +10:00
Geoffrey McRae
04fd31219c
[idd] input: add mouse and keyboard IPC messages
...
Replace raw HID report forwarding with typed absolute mouse, relative
mouse, and keyboard messages.
Expose absolute and relative modes as separate Mouse collections because
Windows MouHID requires one X/Y motion mode per mouse device.
2026-08-08 20:18:05 +10:00