Commit Graph

116 Commits

Author SHA1 Message Date
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
f66a7d5da6 Fix dereferencing a null pointer if SUNSHINE_MIGRATE_CONFIG doesn't exist 2024-03-15 01:59:13 -05:00
c13a30db78 Allow NVENC to be forced to try capturing non-Nvidia GPUs 2024-03-13 01:23:47 -05:00
d8877982ff Improve KMS debuggability and avoid known broken cases 2024-03-13 01:23:47 -05:00
91744960c1 Avoid broken fallback to cross-adapter NVENC encoding with KMS 2024-03-11 19:02:16 -05:00
a2785baf0a fix(linux): automatically migrate config directory (#2240) 2024-03-10 22:03:20 -04:00
ce3b625983 Fix undefined behavior when computing cursor end pointer 2024-03-08 23:48:57 -06:00
9f94eebd32 Fix mismatched case and unhandled exception in open_drm_fd_for_cuda_device() 2024-03-05 00:07:04 -06:00
529f1b84f8 Fix CUDA context leak causing encoder init failures using X11 capture with NVENC 2024-03-03 19:57:46 -06:00
5606840c89 Stop enumeration after finding a working capture backend 2024-03-02 12:08:35 -06:00
1ab30aa70b Add log messages to indicate display numbers for KMS and Wlgrab 2024-03-02 12:08:35 -06:00
8a7a6c48f8 build(cmake) properly find evdev (#2176) 2024-02-26 12:55:34 -05:00
8689469ea8 refactor(main): move remaining entry related code (#2127) 2024-02-11 14:15:45 -05:00
cd2153f340 refactor(main): move file operation functions to new source (#2124) 2024-02-10 07:37:27 -05:00
1c50bc502b refactor(main): move map_port to network (#2115) 2024-02-09 09:15:47 -05:00
0aa4f06c39 refactor(logging): separate logging from main (#2110) 2024-02-07 09:59:24 -05:00
ff8c8ce3ab Skip encoder reprobing if no GPU changes have occurred 2024-02-06 20:00:24 -06:00
be6f856840 Fix DSCP tagging for dual-stack sockets on Linux 2024-02-04 16:19:22 -06:00
2008bc0eaa Use CS6 instead of CS7 for audio traffic
CS7 is reserved for network control traffic.
2024-02-02 18:30:48 -06:00
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
5c9533f6d7 Allow DSCP tagging and local traffic prioritization to be enabled separately on Mac and Linux 2024-02-02 18:30:48 -06:00
f70c3f1c0e Fix crash on monitor index not found in KMS 2024-01-28 14:00:46 -06:00
cf416f55e1 Fix KMS cursor capture on Nvidia GPUs 2024-01-28 14:00:46 -06:00
8182f592e8 Implement NVENC support for KMS and wlgrab capture methods 2024-01-28 14:00:46 -06:00
9a3553db04 Refactor to use pixel format helpers in VAAPI 2024-01-27 21:32:29 -06:00
3f31400e7f Revert "Remove useless texture size queries for every frame in display_ram_t"
This reverts commit ebe01ce20b.

Looks like this commit undos the fix for #453, see also PRs #649 and #884.

This also adds a comment so hopefully it doesn't get removed again in
the future (or a proper fix is found).
2024-01-25 21:09:43 -06:00
2e995355dc fix(linux)!: use XDG spec for fetching Linux configuration directory (#2034) 2024-01-18 21:24:55 -05:00
21e4450ee1 Fix stream disconnecting when reconfiguring display in X11 2024-01-18 19:14:45 -06:00
b94f8c0b50 Improve Name->DRM_MODE_CONNECTOR mapping with new types and names 2024-01-16 19:49:34 -06:00
df2d728af7 Fix plane_it_t skipping the last entry when iterating 2024-01-16 19:49:34 -06:00
d0049da2df Implement pen and touch support for Linux 2024-01-14 11:45:12 -06:00
c1a3903d20 Fix absolute mouse motion being interpreted as touchscreen input 2024-01-14 11:45:12 -06:00
056281b745 Implement HDR support for Linux KMS capture backend (#1994)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-01-11 22:41:58 -06:00
593e170da8 Implement graceful termination and group-based app tracking 2024-01-08 23:55:43 -06:00
f88df0f596 Implement support for KMS cursor plane capture (#1981) 2024-01-05 23:02:39 -06:00
7d751f050e Fix EGL import for modifiers that require aux planes 2024-01-05 21:25:06 -06:00
c7e5df5976 Refactor EGLAttrib logic into a shared function 2024-01-05 21:25:06 -06:00
bc6cc2078e build(linux) make vaapi optional without dlopen (#1979)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2024-01-05 10:59:41 -05:00
0dff8b16fd Use the new VAAPI dummy image support for kmsgrab too 2024-01-04 22:26:39 -06:00
ebe01ce20b Remove useless texture size queries for every frame in display_ram_t 2024-01-04 22:26:39 -06:00
3adf9e5967 Don't busy loop during wlgrab capture 2024-01-04 22:26:39 -06:00
e1771de37a Fix race condition causing hangs and EGL import errors due to concurrent snapshot() calls 2024-01-04 22:26:39 -06:00
0403ad147a Fix capturing scaled output with wlgrab 2024-01-04 22:26:39 -06:00
1bd45ca803 Fix low-res scrolling on Linux 2024-01-04 00:51:10 -06:00
43992e7e9b Don't fail kmsgrab init entirely if a single card doesn't work 2024-01-03 16:14:18 -06:00
0f640b8dd9 Fix clear color when rendering to VA surfaces 2024-01-03 16:14:18 -06:00
beb51cc925 Correctly passthrough plane format and modifiers when importing VA surface 2024-01-03 16:14:18 -06:00
64be0aa67a Fix grabbing code when DRM is enabled and X11 is disabled (#1956) 2023-12-31 15:57:45 -05:00
d97f724e3b Use dl handle for libva's vaTerminate rather than actual function (#1955) 2023-12-31 15:10:48 -05:00
71024491e2 Allow the Misc button to work as Guide on emulated Xbox 360 controllers
It isn't physically present on Xbox 360 controllers, so we may as well use it for something.
2023-10-06 18:29:50 -05:00