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
brycerocky
bc0a4786f4
Use icon caching for system tray. ( #2238 )
2024-03-10 18:35:48 -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
972e5d2b14
Strip quotes out of the working directory path
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
9e299c295d
Fix predefined FPS values not taking effect
2024-03-05 23:16:27 -06:00
ReenigneArcher
4ebc7b5cef
build(macos): add build strategy matrix ( #2211 )
2024-03-05 08:56:09 -05: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
e430f51e2f
Add friendly message when encoder detection fails
2024-02-29 18:35:30 -06:00
Cameron Gutman
4252f5df7c
Add option to allow HEVC usage on older Intel GPUs without low-power encoding
2024-02-29 18:35:30 -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
ReenigneArcher
8074bf8c8d
fix(main): fix version printing ( #2167 )
2024-02-23 20:00:53 -05:00
Cameron Gutman
d1a635809a
Implement backwards compatibility for NVENC APIs back to Video Codec SDK v11.0
...
This allows NVENC on drivers 456.71 (October 2020) and later.
2024-02-16 22:31:48 -06: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
65493d09e8
Cloak MAC address from unpaired clients
2024-02-10 13:47:51 -06: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
Cameron Gutman
ee93890d86
Don't attempt to get the working directory of a URL
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
8373a8b947
Avoid recreating the display when no display parameters have changed
2024-02-06 20:00:24 -06:00
Cameron Gutman
aee88f336a
Don't fall back to undefined ref frame count on HEVC/AV1 if H.264 succeded with ref frame count specified
...
I don't think there are any encoders out there that support this for some codecs and not others.
2024-02-06 20:00:24 -06:00
Cameron Gutman
38d45b39ae
Don't populate QP rate control fallbacks for encoders guaranteed to support CBR/VBR
...
It just needlessly slows down encoder probing when the encoder or codec is not supported.
2024-02-06 20:00:24 -06: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
dea1155983
Inform clients of graceful termination when Sunshine exits
2024-02-04 16:43:59 -06:00
Cameron Gutman
be6f856840
Fix DSCP tagging for dual-stack sockets on Linux
2024-02-04 16:19:22 -06:00
Cameron Gutman
3578727ff9
Require RTSP encryption when encryption mode is set to mandatory
...
This also lets us provide a friendly error to the client when it is rejected.
2024-02-03 15:05:43 -06:00
Cameron Gutman
f80b23750b
Implement RTSP encryption support
...
RTSP encryption is mandatory for client that report core version 1 or later.
2024-02-03 15:05:43 -06:00
Cameron Gutman
ca29eac53a
Refactor RTSP handling to be session-based rather than socket-based
...
This is required to support per-session attributes like encryption keys during RTSP message processing.
2024-02-03 15:05:43 -06:00
Cameron Gutman
e62d6915db
Fix -Wreturn-local-addr warning in event_t::view()
2024-02-03 15:05:43 -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
c7700f96fc
Enable opportunistic QoS tagging for control messages
2024-02-02 18:30:48 -06:00