Geoffrey McRae
08b68ff740
[client] egl: avoid deprecated preset string copy
2026-11-06 14:40:25 +11:00
Geoffrey McRae
f9fa437c20
[client] egl: use compiler stack allocation builtin
2026-11-06 14:40:25 +11:00
Geoffrey McRae
1ff31304cd
[client] windows: compile DirectWrite font support as C++
2026-11-06 14:40:25 +11:00
Geoffrey McRae
78b6a31e7d
[client/common] windows: fix native clang-cl build
2026-11-06 14:40:25 +11:00
Geoffrey McRae
ad0207afc5
[client] windows: use vcpkg OpenSSL for MsQuic
2026-11-06 14:40:25 +11:00
Geoffrey McRae
1995edc1e6
[client] windows: pin vcpkg baseline
2026-11-06 14:40:25 +11:00
Geoffrey McRae
57f18d7e80
[client] windows: add native clang-cl build
...
Build the Windows client against the MSVC ABI while retaining clang
language support. Use vcpkg for ANGLE and libsamplerate, and build
MsQuic with its bundled static OpenSSL.
2026-11-06 14:40:25 +11:00
Geoffrey McRae
c456596bd7
[client] network: report detailed transport failures
...
Report the exact MsQuic status and initialization stage when network
transport construction or connection fails.
Diagnose certificate, stream, protocol, and peer shutdown failures
instead of returning only the generic transport error.
2026-11-06 14:40:25 +11:00
Geoffrey McRae
aa064e3fa6
[client] tests: support native Windows builds
...
Use platform-appropriate temporary-file handling and function signatures
when compiling the standalone tests with MSVC-compatible Clang.
2026-11-06 14:40:25 +11:00
Geoffrey McRae
f44570f039
[client] network: restore clipboard after reconnect
2026-11-06 14:37:38 +11:00
Geoffrey McRae
450d20c8d8
[client/idd] network: tolerate transient wireless stalls
2026-11-06 14:37:38 +11:00
Geoffrey McRae
ead2b8adf0
[client] network: crop aligned video planes
2026-11-06 14:37:38 +11:00
Geoffrey McRae
d345b5c31e
[client] network: use bulk delivery for video
2026-11-06 14:37:38 +11:00
Geoffrey McRae
bdf5fed38d
[client/idd] network: implement tiled video transport
2026-11-06 14:37:38 +11:00
Geoffrey McRae
2f981a9a60
[client] network: fix wavelet reconstruction
...
Decode each subblock from its proper bitplane offset.
Keep reconstructed wavelet levels in separate textures.
This lets inverse transforms safely write the next level.
2026-11-06 14:37:38 +11:00
Geoffrey McRae
0992f695ad
[client/idd] network: publish guest information
2026-11-06 14:37:38 +11:00
Geoffrey McRae
437e19c13b
[client] network: defer clipboard offers until claimed
2026-11-06 14:37:38 +11:00
Geoffrey McRae
5f2e1e116c
[client/idd] network: report connection shutdown errors
2026-11-06 14:37:38 +11:00
Geoffrey McRae
fb0ab64053
[client] windows: correct compatibility GUID
2026-11-06 14:37:38 +11:00
Geoffrey McRae
80031f80e3
[client] network: enable transport by default
2026-11-06 14:37:38 +11:00
Geoffrey McRae
02accb6c3e
[client] network: build MsQuic automatically on Linux
2026-11-06 14:37:38 +11:00
Geoffrey McRae
53c25dd5a9
[client/idd] network: add GPU video transport
2026-11-06 14:37:38 +11:00
Geoffrey McRae
d24d11c3b7
[client/idd] network: add clipboard and bulk transfer
2026-11-06 14:37:38 +11:00
Geoffrey McRae
a43227cba6
[client/idd] network: add bidirectional audio
2026-11-06 14:37:38 +11:00
Geoffrey McRae
ffa7f10085
[client/idd] network: bound pending QUIC sends
2026-11-06 14:37:38 +11:00
Geoffrey McRae
a67034b14f
[client/idd] network: add recovery, cursor, and control
2026-11-06 14:37:38 +11:00
Geoffrey McRae
6dfba7519c
[client/idd] network: add password authentication
2026-11-06 14:37:38 +11:00
Geoffrey McRae
5138f470b7
[client/idd] network: add negotiated input service
2026-11-06 14:37:38 +11:00
Geoffrey McRae
d477d169d4
[client] network: add datagram send path
2026-11-06 14:37:38 +11:00
Geoffrey McRae
6eb7c1698c
[common] network: use LGProtocol codecs
2026-11-06 14:37:38 +11:00
Geoffrey McRae
04ac46c049
[client] network: add QUIC transport foundation
2026-11-06 14:37:38 +11:00
Geoffrey McRae
ed3b269919
[client] egl: import shared GPU textures
2026-11-06 14:37:38 +11:00
Geoffrey McRae
a3f822685c
[build] msquic: add static network dependency
2026-11-06 14:37:37 +11:00
Geoffrey McRae
ca0738ec0d
[client] windows: add WASAPI audio support
2026-11-06 14:34:25 +11:00
Geoffrey McRae
eabc56a6de
[common/client] platform: abstract runtime services
2026-11-06 14:34:25 +11:00
Geoffrey McRae
a7d2e4592f
[client] windows: add native display and input
2026-11-06 14:34:25 +11:00
Geoffrey McRae
18541865f0
[client] egl: add portable texture upload fallback
2026-11-06 14:34:25 +11:00
Geoffrey McRae
7ea69f3d1c
[client] input: add platform-neutral keycodes
2026-11-06 14:34:25 +11:00
Geoffrey McRae
382f35e503
[common/client] ivshmem: add portable external frames
2026-11-06 14:34:25 +11:00
Geoffrey McRae
6d367d4ab2
[common/client] platform: make filesystem access portable
2026-11-06 14:34:25 +11:00
Geoffrey McRae
a60da36420
[common] windows: add native path and UTF support
2026-11-06 14:34:25 +11:00
Geoffrey McRae
62a8786fe2
[common/client] platform: add portable worker primitives
2026-11-06 14:34:25 +11:00
Geoffrey McRae
9c8343df96
[common/client] platform: make timing waits portable
2026-11-06 14:34:25 +11:00
Geoffrey McRae
d045ac6ba7
[client] build: add Windows platform composition
2026-11-06 14:34:25 +11:00
Geoffrey McRae
36e170d93a
[client/idd] audio: support multiple playback clients
...
Replace the single-owner PCM queues with one shared LGMP SPMC stream.
Give each admitted client reliable state and an independent playback
cursor, while clients without clock authority resample locally.
Extend the audio protocol with per-client epochs and barriers.
Keep capture exclusive and bound authority backpressure so slow
secondary readers cannot affect the disciplined low-latency path.
2026-11-06 14:34:25 +11:00
Geoffrey McRae
95234cea86
[client] audio: fall back when feedback is unavailable
2026-11-06 14:34:25 +11:00
Geoffrey McRae
56f3305fe8
[client/idd] audio: prevent recording transport stalls
...
Give microphone data priority over replaceable clock feedback and
reduce feedback traffic on the shared client-to-host FIFO.
Retry short FIFO stalls outside the realtime thread and coalesce
consecutive packets in the existing fixed Windows buffers.
Avoid one broker write per tiny PipeWire quantum without adding
allocations or intentional capture latency.
2026-11-06 14:34:25 +11:00
Geoffrey McRae
efc9952e74
[idd] audio: support 32-bit and common channel layouts
...
Advertise signed and floating-point 32-bit formats across mono,
stereo, quad, surround, 5.1, and 7.1 at every supported rate.
Carry sample encoding through the broker and LGMP protocol so integer
and floating-point streams remain distinct.
Expand packet, shared-memory, and ring capacity for eight-channel
32-bit audio.
2026-11-06 14:34:25 +11:00
Geoffrey McRae
f7b1133785
[client] audio: poll LGMP streams at 25 microseconds
...
Use the active polling floor as the maximum wait and advertised
playback delivery reserve. Keep learned scheduling jitter adaptive.
2026-11-06 14:34:25 +11:00
Geoffrey McRae
25d87e1c6d
[client] lgmp: test same-generation audio restart
...
Queue playback STOP, START, and DATA for the same wire generation.
Verify that the client creates a fresh local generation and delivers the
first restarted packet.
2026-11-06 14:34:25 +11:00