Geoffrey McRae
868504d22d
[client] core: fix dynamic res switch race issue
2025-03-28 23:18:41 +11:00
Geoffrey McRae
d839a45d0b
[client] kvmfr: report the local window size to the VM
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-28 16:38:02 +11:00
Geoffrey McRae
5382a94945
[client] evdev: implement mouse support
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-08 19:14:46 +11:00
Geoffrey McRae
4278a10fe1
[client] evdev: read up to 256 events at a time
2025-03-08 18:19:10 +11:00
Geoffrey McRae
35e6a6e81a
[client] evdev: handle device removal and hot-plug
2025-03-08 13:28:31 +11: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
7c285a45fb
[app] core: place the local cursor inside the window on capture
2025-03-07 12:21:20 +11:00
Geoffrey McRae
968fd42d46
[all] common: set the backtrace define for the entire project
2025-03-07 11:32:24 +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
554f5bf75d
[client] overlay: use graph address as imgui id
2025-03-05 15:25:34 +11:00
Geoffrey McRae
b43f572af0
Revert "[client] overlay/status: don't return damage rect if nothing was drawn"
...
This reverts commit 7e9e38faa5d3144dac9e9c3abd357435b25c16ff as it
causes screen corruption when moving imgui overlay dialogs around.
2025-03-05 15:18:29 +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
Chris Spencer
03ca20d3e4
[client] overlay/msg: fix race condition in render
...
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
If an overlay is closed with overlayMsg_close, the message can be freed
while it is still being used by msg_render, resulting in a segfault. Lock
the message list for the duration of msg_render to fix this.
2025-03-05 10:59:05 +11:00
Chris Spencer
7e9e38faa5
[client] overlay/status: don't return damage rect if nothing was drawn
...
The renderer contains an optimization to skip ImGui if there is nothing to
show, but the status overlay always returns a damage rect, even if it
didn't draw anything, so the optimization can never take effect.
2025-03-05 10:58:10 +11:00
rs189
e25492a3a3
[client] x11/wayland: add application id
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 / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
2024-10-15 11:52:10 +11:00
Geoffrey McRae
d060e375ea
[client] fix typo
...
Fixes #1122 - Thanks @MadelineRitchie
2024-06-07 19:04:03 +10:00
Geoffrey McRae
0b210a280d
[all] update the copyright to 2024
2024-02-01 17:16:31 +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
a28deae569
[client] util: fix invalid pointer arithmatic
2023-11-11 14:03:40 +11:00
Geoffrey McRae
17fce1cf78
[client] util: fix failure to check result of ftell
for error
2023-11-11 13:48:41 +11:00
Geoffrey McRae
9f3f8cc5bd
[client] splash: remove 0
array specifier from func prototype
2023-11-11 13:48:41 +11:00
Geoffrey McRae
0524980cb4
[client] msg: make it clear we ignore the return for ll_shift
2023-11-11 13:48:41 +11:00
Geoffrey McRae
a0f5907cb6
[client] overlay: prevent possible divide by zero
2023-11-11 13:48:41 +11:00
Geoffrey McRae
0a9784d09d
[client] main: fix possible dereference of null g_state.ds
2023-11-11 13:48:41 +11:00
Geoffrey McRae
120e063a10
[client] main: prevent possible null pointer dereference
2023-11-11 13:48:41 +11:00
Geoffrey McRae
f59ef4422a
[client] app: prevent possible out of bounds array access
2023-11-11 13:48:41 +11:00
Geoffrey McRae
852825a97e
[client] util: fix failure to dereference pointer
2023-11-11 13:48:41 +11:00
Geoffrey McRae
86e8e99107
[all] add initial support for RGB24-bpp support
2023-11-10 06:28:05 +11:00
Geoffrey McRae
c665044bfa
[client] implement support for RGB24 packed data
2023-11-10 06:28:05 +11:00
Geoffrey McRae
6625cd733a
[client] main: log if the frame format is using PQ or not
2023-10-27 01:16:08 +11:00
Geoffrey McRae
2f36aaff5c
[client] egl: prepare for DXGI HDR10 support
2023-10-27 01:03:22 +11:00
Geoffrey McRae
2e515657dd
[all] update/add license headers
2023-10-20 15:36:34 +11:00
Geoffrey McRae
e658c2e0a2
[client] x11: change to a more visible "dot" cursor
...
This change alters the small square dot cursor to a more visible 16x16
cursor for X11. A new option `spice:largeDotCursor` can be set to use an
alternative 32x32 cursor for the vision impaired.
2023-09-13 21:54:31 +10:00
Geoffrey McRae
a3045e0b4a
[client] main: don't request activation just because we re-connected
2023-09-13 14:08:18 +10:00
Geoffrey McRae
9cadb64942
[client] main: make activation requests optional
2023-09-13 14:07:42 +10: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
ad43969c1a
[client] egl: add support to map HDR to SDR
2023-04-26 16:26:54 +10:00
Geoffrey McRae
4f4cf2be7d
[client] audio: provide option to prevent volume level sync
2023-04-16 19:10:35 +10:00
Geoffrey McRae
b7b302334c
[client] main: remove debug true
from if statement
2023-04-02 20:14:16 +10:00
Geoffrey McRae
28e74a73a4
[client] main: detect and warn on sub-optimal guest CPU configuration
2023-04-02 20:13:14 +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
Geoffrey McRae
48cd0c3789
[client] audio: add missing earlyInit call for audio devs
2023-01-24 13:35:18 +11:00
Geoffrey McRae
20b5957999
[client] update LGMP to fix buffer overflow bug
2022-11-07 21:57:10 +11:00
Geoffrey McRae
f0cb9d1167
[client] main: fix spice display fallback when waiting for LGMP upgrade
2022-11-07 19:16:52 +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
Chris Spencer
081a0a419d
[client] audio: use actual device period if larger than expected maximum
...
This is rare and I'm not sure what causes it, but PipeWire sometimes uses a
larger period size than requested for no obvious reason (e.g., we could
request a period size of 512, but PipeWire uses 2048 anyway). This causes
us to stay in a permanent state of underrunning because the target latency
is too low.
With this change, we use the actual device period in the target latency
calculation if it is larger than the expected maximum. We may still get
some glitches at the beginning of playback (because the startup latency is
based upon the expected maximum period size), but it will recover after a
few seconds as it adjusts to the new target latency.
2022-11-01 08:02:37 +11:00
Geoffrey McRae
9d8bc46812
[client] keybind: fix typo
2022-11-01 08:00:37 +11:00