Cameron Gutman
25d8e2b478
Fix discarded std::clamp() result compiler warning
2024-04-13 18:53:00 -05:00
Gilles Schintgen
fcd4c07bd0
Improve frametiming for linux capture ( #2333 )
2024-04-12 19:36:56 -04:00
ReenigneArcher
ad5b816261
fix(linux): use correct setap command in logs ( #2400 )
2024-04-10 18:12:03 -04:00
hdL6c
7f795f0e19
fix(linux/capture): fix logical comparison of texture size ( #2349 )
...
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com >
2024-04-06 18:03:54 -04:00
ReenigneArcher
2af0ce364d
Revert "Add capture using WinRT Windows.Graphics.Capture API." ( #2320 )
2024-03-29 12:43:44 -04:00
KuleRucket
526121d81d
Populate host latency for kms/x11 grab ( #2273 )
2024-03-28 17:52:53 -04:00
Tejas Rao
8f1692a5ac
Add capture using WinRT Windows.Graphics.Capture API. ( #2149 )
...
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com >
2024-03-27 23:47:26 -04:00
ReenigneArcher
89e8b9628c
ci(tests): add test framework ( #1603 )
2024-03-24 19:52:24 -04:00
Cameron Gutman
15c5e76ed4
Use a copy+delete instead of a move operation for config migration
...
This can handle migration across filesystems.
2024-03-15 01:59:13 -05:00
Cameron Gutman
8c9e14e335
Only attempt a config migration once per launch
2024-03-15 01:59:13 -05:00
Cameron Gutman
aa1985dec8
Avoid calling Boost logging functions in appdata()
...
The app data directory is needed prior to logging initialization.
2024-03-15 01:59:13 -05:00
Cameron Gutman
f66a7d5da6
Fix dereferencing a null pointer if SUNSHINE_MIGRATE_CONFIG doesn't exist
2024-03-15 01:59:13 -05:00
Cameron Gutman
c13a30db78
Allow NVENC to be forced to try capturing non-Nvidia GPUs
2024-03-13 01:23:47 -05:00
Cameron Gutman
d8877982ff
Improve KMS debuggability and avoid known broken cases
2024-03-13 01:23:47 -05:00
Cameron Gutman
91744960c1
Avoid broken fallback to cross-adapter NVENC encoding with KMS
2024-03-11 19:02:16 -05:00
ReenigneArcher
a2785baf0a
fix(linux): automatically migrate config directory ( #2240 )
2024-03-10 22:03:20 -04:00
Cameron Gutman
ce3b625983
Fix undefined behavior when computing cursor end pointer
2024-03-08 23:48:57 -06:00
Cameron Gutman
7cdd156bce
Fix heap corruption with cursor pixel counts that aren't divisible by 8
2024-03-07 19:01:36 -06:00
Cameron Gutman
06c0ed1d1c
Temporarily add the working directory to our path when starting an app
...
CreateProcess() doesn't search in the child's specified working directory by default.
2024-03-07 18:14:28 -06:00
Cameron Gutman
6aeaaf5ec9
Fix process tree tracking when the cmd.exe trampoline is used
2024-03-07 18:14:28 -06:00
Cameron Gutman
9f94eebd32
Fix mismatched case and unhandled exception in open_drm_fd_for_cuda_device()
2024-03-05 00:07:04 -06:00
Cameron Gutman
529f1b84f8
Fix CUDA context leak causing encoder init failures using X11 capture with NVENC
2024-03-03 19:57:46 -06:00
Cameron Gutman
5606840c89
Stop enumeration after finding a working capture backend
2024-03-02 12:08:35 -06:00
Cameron Gutman
1ab30aa70b
Add log messages to indicate display numbers for KMS and Wlgrab
2024-03-02 12:08:35 -06:00
Cameron Gutman
75a97883e7
Rework dummy image handling to avoid RTX HDR driver bug
...
As a side effect, it avoids useless allocations and uploads of
a zeroed memory buffer to clear the dummy image textures.
2024-03-01 01:09:10 -06:00
Cameron Gutman
a0d5973799
Avoid display switching unexpectedly when the UAC secure desktop appears
2024-02-27 23:12:31 -06:00
Cameron Gutman
83e3ea5aa7
Use a common function to abort for debugging purposes
2024-02-27 21:21:16 -06:00
ReenigneArcher
8a7a6c48f8
build(cmake) properly find evdev ( #2176 )
2024-02-26 12:55:34 -05:00
Cameron Gutman
56da68c863
Preserve backwards-compatible argument escaping behavior for executables
2024-02-15 18:29:33 -06:00
Cameron Gutman
6ddc4b7ba3
Properly re-escape arguments when processing %*
2024-02-15 18:29:33 -06:00
Cameron Gutman
69a3edd9b0
Use Win32 APIs for UTF-16<->UTF-8 conversion
...
std::codecvt is deprecated since C++17 and broken for some characters/locales
2024-02-12 18:43:44 -06:00
ReenigneArcher
8689469ea8
refactor(main): move remaining entry related code ( #2127 )
2024-02-11 14:15:45 -05:00
Cameron Gutman
78ed91af5c
Treat escape sequences like other replacements
2024-02-10 09:52:35 -06:00
Cameron Gutman
c0ad9639c4
Fix spacing of multi-argument %* substitutions
2024-02-10 09:52:35 -06:00
Cameron Gutman
11c8cf176c
Simplify and fix handling of incomplete substitution strings
2024-02-10 09:52:35 -06:00
ReenigneArcher
cd2153f340
refactor(main): move file operation functions to new source ( #2124 )
2024-02-10 07:37:27 -05:00
ReenigneArcher
1c50bc502b
refactor(main): move map_port to network ( #2115 )
2024-02-09 09:15:47 -05:00
Cameron Gutman
aa76b2398b
Add support for starting URLs and regular files that aren't executable
...
This provides some limited ShellExecute-like behavior.
2024-02-08 01:59:40 -06:00
ReenigneArcher
0aa4f06c39
refactor(logging): separate logging from main ( #2110 )
2024-02-07 09:59:24 -05:00
Cameron Gutman
ff8c8ce3ab
Skip encoder reprobing if no GPU changes have occurred
2024-02-06 20:00:24 -06:00
ReenigneArcher
76e160bb0a
style(macos): various code style fixes ( #2086 )
2024-02-04 18:37:44 -05:00
Cameron Gutman
be6f856840
Fix DSCP tagging for dual-stack sockets on Linux
2024-02-04 16:19:22 -06:00
Cameron Gutman
2008bc0eaa
Use CS6 instead of CS7 for audio traffic
...
CS7 is reserved for network control traffic.
2024-02-02 18:30:48 -06:00
Cameron Gutman
bb3b7984f3
Add refcounting to Mac and Linux QoS state to ensure it works properly with multiple clients
...
This means we can't control DSCP tagging per-client, but it shouldn't pose a big problem as routers that blackhole DSCP tagged traffic are pretty rare.
2024-02-02 18:30:48 -06:00
Cameron Gutman
5c9533f6d7
Allow DSCP tagging and local traffic prioritization to be enabled separately on Mac and Linux
2024-02-02 18:30:48 -06:00
Cameron Gutman
fe8b0bad92
Implement workaround for qWAVE issues handling IPv4-mapped IPv6 addresses
2024-02-02 18:30:48 -06:00
Cameron Gutman
f70c3f1c0e
Fix crash on monitor index not found in KMS
2024-01-28 14:00:46 -06:00
Cameron Gutman
cf416f55e1
Fix KMS cursor capture on Nvidia GPUs
2024-01-28 14:00:46 -06:00
Cameron Gutman
8182f592e8
Implement NVENC support for KMS and wlgrab capture methods
2024-01-28 14:00:46 -06:00
Cameron Gutman
9a3553db04
Refactor to use pixel format helpers in VAAPI
2024-01-27 21:32:29 -06:00