Geoffrey McRae
fbe08d00ce
[client] expose EGL stages in frame latency
...
Correlate received frames with the texture update actually consumed by
the renderer and retain damage until its token becomes renderable.
Split client latency into dispatch, import, queue, preparation, setup,
effects, desktop, composition, and swap stages in FRAME LATENCY.
Exclude diagnostic overlay work from composition and preserve client
wait time when producer timing is unavailable.
Publish joined samples through a bounded token queue, avoid sleeping
while producer timing is finalized, and correct Wayland photon units.
2026-08-03 23:53:33 +10:00
Geoffrey McRae
4f39270736
[client] add ImPlot and rework latency graphs
2026-08-03 23:53:33 +10:00
Geoffrey McRae
f5dee45adc
[client] renderers: only rebuild the font atlas if marked dirty
2026-07-30 15:14:29 +10:00
Geoffrey McRae
4f02eda913
[client] overlay: add ImGui support for non-latin characters
2026-07-30 12:39:47 +10:00
Geoffrey McRae
e754f5841e
[client] keybind: use physical keycodes for layout-independent hotkeys
...
Fixes #1298
2026-07-30 10:21:26 +10:00
Geoffrey McRae
36b33033a1
[client] transport: introduce pluggable frame transports
...
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
Move shared-memory ownership, LGMP session handling, queue access, and
DMA setup behind a transport interface. The LGMP backend preserves the
existing zero-copy frame and DMA paths while owning its lgmp:* options.
Expose the initialized EGL context through a versioned renderer interop
record for future accelerated decode backends. Add an LGMP-independent,
deterministic test transport for graphics-pipeline validation.
2026-07-29 13:36:49 +10:00
Geoffrey McRae
a5571f0e9e
[client] spice: separate clipboard state by direction
2026-07-28 13:10:38 +10:00
Geoffrey McRae
e73a3dec60
[client] spice: handle clipboard request failures
2026-07-28 13:05:40 +10:00
Geoffrey McRae
67e2675afa
[client] spice: fix clipboard transfer accounting
2026-07-28 13:00:38 +10:00
Geoffrey McRae
f4ee349880
[client] app: make shared application state access thread-safe
2026-07-28 12:41:35 +10:00
Geoffrey McRae
e4888c362a
[client] spice: make display switching atomic and failure-aware
2026-07-28 12:24:51 +10:00
Geoffrey McRae
78802319e3
[client] add a MPV glsl style effect loader
2026-07-23 09:43:59 +10:00
Geoffrey McRae
364485ded8
[client] wayland: implement HDR support
2026-07-16 05:34:09 +10:00
Geoffrey McRae
69f44a003d
[all] refresh copyright
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-05-31 15:13:57 +10:00
Geoffrey McRae
e9b7bdfea1
Revert "[all] refresh copyright"
...
Corrupted IDD sources due to lack of UTF-8 with BOM support in the
script.
2026-05-31 15:10:44 +10:00
Geoffrey McRae
98602fb95e
[all] refresh copyright
2026-05-31 15:03:37 +10:00
Geoffrey McRae
afbd844be8
[client] evdev: add new exclusive evdev while captured option
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Waiting to run
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Waiting to run
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Waiting to run
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Waiting to run
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Waiting to run
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Waiting to run
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Waiting to run
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Waiting to run
build / module (push) Waiting to run
build / host-linux (push) Waiting to run
build / host-windows-cross (push) Waiting to run
build / host-windows-native (push) Waiting to run
build / obs (clang) (push) Waiting to run
build / obs (gcc) (push) Waiting to run
build / docs (push) Waiting to run
2025-03-07 13:47:01 +11:00
Geoffrey McRae
66ac453c98
[client] input: add support for evdev keyboard capture mode
...
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Waiting to run
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Waiting to run
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Waiting to run
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Waiting to run
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Waiting to run
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Waiting to run
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Waiting to run
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Waiting to run
build / module (push) Waiting to run
build / host-linux (push) Waiting to run
build / host-windows-cross (push) Waiting to run
build / host-windows-native (push) Waiting to run
build / obs (clang) (push) Waiting to run
build / obs (gcc) (push) Waiting to run
build / docs (push) Waiting to run
The new configuration option `input:evdev` accepts a comma separated
list of `/dev/input/` keyboard devices to use for input when in capture
mode. This makes it possible to capture only a specific keyboard instead
of all keyboards.
2025-03-07 02:36:00 +11:00
Geoffrey McRae
50fee59b29
[client] app: fix broken keyboard input after imgui update
2025-03-05 16:07:06 +11:00
Geoffrey McRae
d9f2df361d
[client] cimgui: update to 1.91.8
2025-03-05 15:16:31 +11:00
Geoffrey McRae
551298ed5b
[doc] all: update copyright year
2025-03-05 12:24:38 +11:00
Geoffrey McRae
0b210a280d
[all] update the copyright to 2024
2024-02-01 17:16:31 +11:00
Geoffrey McRae
f59ef4422a
[client] app: prevent possible out of bounds array access
2023-11-11 13:48:41 +11:00
Geoffrey McRae
2e515657dd
[all] update/add license headers
2023-10-20 15:36:34 +11:00
Geoffrey McRae
193977895b
[client] add new option input:captureOnFocus
...
This option allows the client to automatically enter capture mode if the
window is focused.
Closes #1088
2023-09-11 21:02:32 +10:00
Geoffrey McRae
996e1b2f7a
[client] overlay: fix race on startup that caused a segfault
...
Fixes #1065
2023-03-30 14:59:37 +11:00
Ali Abdel-Qader
352cd2fafe
[client] remove non-prototype function declarations
...
With -Wstrict-prototypes on non-protyped functions are deprecated and
functions must include a void parameter if they do not take parameters.
2022-11-01 08:03:15 +11:00
Quantum
0c63a901be
[client] main: add support for spice cursor channel
2022-09-19 11:13:53 +10:00
Geoffrey McRae
da04a6dd54
[client] all: use the defined keyboard mapping for keybinds
...
Fixes #1007
2022-06-29 18:26:40 +10:00
Geoffrey McRae
0799910e70
[client] app: fix segfault when jitRender + spice display is in use
2022-05-28 00:52:03 +10:00
Geoffrey McRae
a4f5bc7320
[client] render_queue: fix failure to show spice at startup
2022-05-27 14:02:00 +10:00
Geoffrey McRae
9ccd93bfd8
[client] app: add option to disable dimming in overlay mode
2022-05-27 11:36:39 +10:00
Geoffrey McRae
b94869249c
[client] main: don't show the splash when transitioning to spice
2022-05-27 02:24:01 +10:00
Geoffrey McRae
5de175c1f3
[client] all: unify the LG splash screen into an overlay
2022-05-27 02:07:20 +10:00
Geoffrey McRae
8974ae4fb5
[client] add SVG loading support and use icons for status display
...
This brings nanosvg into the project for SVG loading and rendering.
Unfortunatly we can not at this time use a submodule for this project
until https://github.com/memononen/nanosvg/pull/214 is merged.
2022-05-26 04:11:31 +10:00
Geoffrey McRae
8aa36144dc
overlay: move init/free to the context of the render thread
...
This is done to allow overlays to make use of the renderer during
init/free.
2022-05-26 00:46:13 +10:00
Geoffrey McRae
d1e421f8a8
[client] spice: delay showing the spice display until spice is ready
2022-05-24 09:48:54 +10:00
Geoffrey McRae
b2221b114e
[client] spice: more fixes to video source transition
2022-05-24 00:05:22 +10:00
Geoffrey McRae
47b2a26898
[client] app: better handling of transition to/from spice display
2022-05-23 22:35:27 +10:00
Geoffrey McRae
16f39450b5
[client] spice: added initial framework for spice display fallback
2022-05-22 11:45:11 +10:00
Quantum
1685249f3a
[client] overlay: add record indicator
2022-03-19 18:52:07 +11:00
Quantum
75370e464d
[client] overlay/msg: fix type for app_msgBoxClose
...
It should not be taking a pointer to MsgBoxHandle.
Also changed the type of MsgBoxHandle to prevent similar bugs.
2022-03-19 10:04:23 +11:00
Quantum
c55d0a82f2
[client] overlay: add support for confirmation dialogs
2022-03-19 10:04:23 +11:00
Geoffrey McRae
3a8cb6a613
[client/common] fixes for issues detected through static analysis.
2022-03-07 10:14:52 +11:00
Geoffrey McRae
22b968ff53
[client] audio: change the audio latency graph sample point
...
This removes the need for locking while also giving a better result in
the graph output. Also when the graph is disabled via the overlay
options it will no longer cause redraws.
2022-01-28 10:59:12 +11:00
Geoffrey McRae
0ad26b7da7
[client] audio: redraw the graphs if they have been updated
2022-01-17 22:49:19 +11:00
Geoffrey McRae
464fee3e20
[client] overlay/graphs: allow the graph to have a custom title format
2022-01-17 22:08:56 +11:00
Geoffrey McRae
42ed0d7638
[client] app: allow key-repeat to work with keybinds
2022-01-17 20:33:57 +11:00
Geoffrey McRae
5a3fe151e4
[client] main: don't use Linux keybinds if the guest is not Linux
2022-01-17 20:26:45 +11:00
Geoffrey McRae
6bba9bc25d
[client/common] move ll from the client into the common code module
2022-01-12 12:22:18 +11:00