Commit Graph

4263 Commits

Author SHA1 Message Date
Jonathan Rubenstein
f8d73a9c1b [doc] install_libvirt: Cleanup 2026-11-06 12:28:09 +11:00
Jonathan Rubenstein
ecc5f77734 [doc] legacy_host: Move direction to not install both servers to this page 2026-11-06 12:28:09 +11:00
Jonathan Rubenstein
f295420e6f [doc] install: Cleanup 2026-11-06 12:28:09 +11:00
Jonathan Rubenstein
5a433d3580 [doc] build: Cleanup 2026-11-06 12:28:09 +11:00
Jonathan Rubenstein
33f540411c [doc] build: Soften intro 2026-11-06 12:28:09 +11:00
Jonathan Rubenstein
5d02b7e21f [doc] build: Remove Fetching with APT warning
Technically incorrect, as installing dependencies doesn't build anything
Also confusing
2026-11-06 12:28:09 +11:00
Jonathan Rubenstein
97e6df54c9 [doc] quickstart: Cleanup 2026-11-06 12:28:09 +11:00
Jonathan Rubenstein
de617eef73 [doc] requirements: Cleanup 2026-11-06 12:28:09 +11:00
Jonathan Rubenstein
eb120d3299 [doc] overview: Finishing touches 2026-11-06 12:28:09 +11:00
Jonathan Rubenstein
c6f40a6f82 [doc] index: Modify intro sentence 2026-11-06 12:28:09 +11:00
Jonathan Rubenstein
505cb622e6 [doc] overview: Specify distro release target as Debian Stable 2026-11-06 12:28:09 +11:00
Jonathan Rubenstein
7cd507326c [doc] build: Reformat font requirement 2026-11-06 12:28:09 +11:00
Jonathan Rubenstein
d302a9e04f [doc] build: Reformat May be disabled to clearly list affected features 2026-11-06 12:28:09 +11:00
Jonathan Rubenstein
bf94eb309c [doc]: Remove mentions of libusbredirparser 0.7.1 or newer
Documentation targets Debian Stable which is at 0.15.0 already
2026-11-06 12:28:09 +11:00
Jonathan Rubenstein
81d25aec9b [doc] build: Add Audio subsection and reformat 2026-11-06 12:28:09 +11:00
Jonathan Rubenstein
b957caceaa [doc] build: Add libfuse3-dev as required dep and sort 2026-11-06 12:28:09 +11:00
Geoffrey McRae
cdba29f2f6 [client] clipboard: keep controls responsive during stalls
Some checks failed
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
Release LGMP stream slots before dispatching clipboard data so an X11
INCR consumer cannot prevent control queue acknowledgements.

Retain one bounded record in client memory while the sink is blocked.
Cancel abandoned X11 transfers after requestor destruction or a finite
progress timeout.
2026-10-08 10:16:51 +11:00
Geoffrey McRae
6214dccf12 [client] input: defer LED sync while unavailable 2026-10-08 10:16:49 +11:00
Geoffrey McRae
7794d619d3 [idd] rgb24: disable packing by default 2026-10-08 10:16:49 +11:00
Geoffrey McRae
236efcb155 [host] nvfbc: keep C++ headers outside C linkage
Some checks failed
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-09-01 21:49:36 +10:00
Geoffrey McRae
8fbe3e7454 [repos] lgprotocol: import shared protocol definitions
Some checks failed
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
Add LGProtocol as a pinned submodule and consume its KVMFR protocol
definitions throughout the client, host, IDD, OBS, and profiler.

Keep Looking Glass framebuffer helpers local while removing duplicated
protocol headers and migrating users to KVMFR-scoped types.
2026-09-01 20:58:25 +10:00
Geoffrey McRae
8e43d41873 [idd] app: seed random generator at startup 2026-09-01 18:38:29 +10:00
Geoffrey McRae
8cd6219c86 [repos] lgmp: update upstream library 2026-09-01 18:38:24 +10:00
Geoffrey McRae
54ea580e35 [client] wayland: reuse remote clipboard text
Some checks failed
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-25 23:23:00 +10:00
Geoffrey McRae
b888be0ec3 [client] clipboard: advertise standard text formats 2026-08-25 22:22:21 +10:00
Geoffrey McRae
057073924a [idd] clipboard: handle delayed-render sequence changes 2026-08-25 22:22:11 +10:00
Geoffrey McRae
a1326af2f4 [lgmp] core: fix cross-compiler header geometry
Some checks failed
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
Update LGMP so MSVC and GCC agree on shared type alignment and clients
validate queue placement from the actual end of session data.
2026-08-25 13:31:44 +10:00
Geoffrey McRae
ace76d2595 [lgmp] core: order shared queue publication 2026-08-25 12:53:23 +10:00
Geoffrey McRae
039a759f85 [lgmp] core: harden shared-memory bounds
Some checks failed
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-24 22:52:58 +10:00
Geoffrey McRae
0062db4eef [host] d12: stop invalid pointer shape copies 2026-08-24 19:13:11 +10:00
Geoffrey McRae
4e75351c78 [client] transport: allow packed BGR storage heights 2026-08-24 19:13:11 +10:00
Geoffrey McRae
f3a6964ade [client] lgmp: align cursor transform snapshots 2026-08-24 19:13:11 +10:00
Geoffrey McRae
957e4ee54b [client] lgmp: validate frame message alignment 2026-08-24 19:13:11 +10:00
Geoffrey McRae
357d5fd3c5 [client] lgmp: snapshot session records 2026-08-24 19:13:11 +10:00
Geoffrey McRae
56ea0cfaba [client] opengl: validate framebuffer uploads 2026-08-24 19:13:11 +10:00
Geoffrey McRae
50b7ca603a [client] opengl: retain deferred frame leases 2026-08-24 19:13:11 +10:00
Geoffrey McRae
6579fe9098 [host] d12: bound damage metadata 2026-08-24 19:13:11 +10:00
Geoffrey McRae
9bbccfdcb9 [host] lgmp: account for frame header capacity 2026-08-24 19:13:11 +10:00
Geoffrey McRae
f664be88bc [host] dxgi: clean up failed frame writes 2026-08-24 19:13:11 +10:00
Geoffrey McRae
8336a27192 [common] rects: validate copy geometry 2026-08-24 19:13:10 +10:00
Geoffrey McRae
b78b92a53f [client] opengl: clean up failed configuration 2026-08-24 19:13:10 +10:00
Geoffrey McRae
197b4d060f [common] framebuffer: bound row copies 2026-08-24 19:13:10 +10:00
Geoffrey McRae
556e771926 [client] lgmp: bound pointer payloads 2026-08-24 19:13:10 +10:00
Geoffrey McRae
ef8636cbeb [client] lgmp: snapshot and validate frame layouts 2026-08-24 19:13:10 +10:00
Geoffrey McRae
abf98c0267 [host] pipewire: report truncated frames correctly 2026-08-24 19:13:10 +10:00
Geoffrey McRae
50b1c9b2e2 [client] cursor: validate shape geometry 2026-08-24 19:13:10 +10:00
Geoffrey McRae
8cb6a6873e [client] audio: recover physical underrun debt
Some checks failed
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
A stable clock model can request a negative recovery slew while the
unbounded ring is physically underrun. This leaves the reader ahead of
the writer indefinitely and outputs silence until playback is restarted.

Floor active recovery at the physical low-water requirement. Rebase the
device-clock phase by any extra refill so modeled latency remains at the
target without restarting the underrun correction cycle.

Add a deterministic regression for negative physical debt opposing the
stable clock model.
2026-08-22 19:33:27 +10:00
Geoffrey McRae
366a748549 [client] pipewire: honor playback quantum
Do not treat the capacity of an allocated PipeWire buffer as the
requested playback period when PipeWire supplies no per-buffer hint.
Use the current stream quantum when available and fall back to the
configured period.
2026-08-22 18:53:22 +10:00
Geoffrey McRae
ebf764ae25 [client] audio: reset playback cleanly on resume
Count one underrun per starvation episode and end the sync diagnostics
epoch when a logical source stops.

Resume a compatible backend synchronously so data after a same-wire
restart is accepted immediately. Rebase the first post-idle device tick
without passing a long gap through the short-step clock filter.

Cancel in-flight backlog trims before fresh audio can be queued.
2026-08-22 18:53:22 +10:00
Geoffrey McRae
d8e7966087 [client] audio: fix underrun clock recovery
Recover stable local playback in the device clock domain and restart
rate control from the measured feed-forward clock ratio.

Ignore catch-up packet sizing until the normal source cadence returns.
2026-08-22 18:53:22 +10:00