Commit graph

50 commits

Author SHA1 Message Date
David Lane
874880e5ea
feat(linux)!: Support streaming through XDG portals and Pipewire (#4417)
Co-authored-by: Carlos Garnacho <carlosg@gnome.org>
Co-authored-by: Carson Katri <Carson.katri@gmail.com>
Co-authored-by: Bond <bond-d@ukr.net>
Co-authored-by: d.bondarev <d.bondarev@crm-onebox.com>
Co-authored-by: Conn O'Griofa <connogriofa@gmail.com>
2026-02-03 08:19:02 -05:00
Cole Leavitt
38a94b3cfd
fix(linux/kms): skip NVIDIA cards for VAAPI on hybrid GPU laptops (#4473) 2026-01-25 19:10:11 -05:00
Julio Sanz
aca5d23f4e
fix(linux): fix issues with rendering and touchscreens when displays are scaled (#4607) 2026-01-21 18:29:53 -05:00
Julio Sanz
c313851878
fix(linux): added support for logical screen size with zxdg_output_v1 (#4594) 2026-01-17 20:32:24 -05:00
ReenigneArcher
c2420427b1
style: adjust clang-format rules (#2186)
Co-authored-by: Vithorio Polten <reach@vithor.io>
2025-01-19 22:34:47 -05:00
ReenigneArcher
820180c9e7
docs(hrefs): update readthedocs hrefs (#3476) 2025-01-13 22:34:54 -05:00
ns6089
18e7dfb190
Refactor periodic loggers and limit batch size for small packets (#2835)
* Refactor periodic loggers

* Limit network batch size also by packet count

Previously it was limited only by size, and exceeding 64 packets in a
single batch is asking for problems.
2024-07-13 20:55:03 +00:00
ReenigneArcher
1dd4b68e1c
docs(src): add examples alias and general cleanup (#2763) 2024-06-28 08:34:14 -04:00
Gilles Schintgen
0a595dc7d2
fix(linux): add frame processing latency and logging improvements (#2502) 2024-05-12 18:55:43 -04:00
Tejas Rao
7fb8c76590
Use C++20. (#2322) 2024-04-26 15:49:15 -04: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
KuleRucket
526121d81d
Populate host latency for kms/x11 grab (#2273) 2024-03-28 17:52:53 -04: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
Cameron Gutman
ce3b625983 Fix undefined behavior when computing cursor end pointer 2024-03-08 23:48:57 -06:00
Cameron Gutman
1ab30aa70b Add log messages to indicate display numbers for KMS and Wlgrab 2024-03-02 12:08:35 -06:00
ReenigneArcher
8689469ea8
refactor(main): move remaining entry related code (#2127) 2024-02-11 14:15:45 -05:00
ReenigneArcher
0aa4f06c39
refactor(logging): separate logging from main (#2110) 2024-02-07 09:59:24 -05: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
Kelvie Wong
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
Cameron Gutman
21e4450ee1 Fix stream disconnecting when reconfiguring display in X11 2024-01-18 19:14:45 -06:00
Cameron Gutman
b94f8c0b50 Improve Name->DRM_MODE_CONNECTOR mapping with new types and names 2024-01-16 19:49:34 -06:00
Cameron Gutman
df2d728af7 Fix plane_it_t skipping the last entry when iterating 2024-01-16 19:49:34 -06:00
Cameron Gutman
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
Cameron Gutman
f88df0f596
Implement support for KMS cursor plane capture (#1981) 2024-01-05 23:02:39 -06:00
James Le Cuirot
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
Cameron Gutman
0dff8b16fd Use the new VAAPI dummy image support for kmsgrab too 2024-01-04 22:26:39 -06:00
Cameron Gutman
ebe01ce20b Remove useless texture size queries for every frame in display_ram_t 2024-01-04 22:26:39 -06:00
Cameron Gutman
43992e7e9b Don't fail kmsgrab init entirely if a single card doesn't work 2024-01-03 16:14:18 -06:00
Cameron Gutman
3e477647ff Use a render node to create our VADisplay
Since libva 2.20, vaInitialize() will fail if we pass a primary node and
lack permission to authenticate. Since we don't actually need to have a
primary node fd to encode, let's use a render node instead.
2023-10-02 17:33:17 -05:00
ns6089
68fa43a61c Add standalone NVENC encoder 2023-08-13 07:01:09 -05:00
Casey Korver
b1ffa8a6c5 Correct typos in comments 2023-07-08 18:56:27 -05:00
ReenigneArcher
4ca6dc6c8e
docs: update file level doxygen blocks (#1258) 2023-05-07 18:12:39 -04:00
ReenigneArcher
979f7f4e60
docs: improvements to source code documentation (#1236) 2023-05-07 15:01:44 -04:00
ns6089
eed27d3c0a Decrease normal capture buffer to single image 2023-04-11 18:17:48 -05:00
ReenigneArcher
21eb4eb6dd
clang: adjust formatting rules (#1015) 2023-03-27 21:45:29 -04:00
Mark Dietzer
fbe5e2486f
Fix startup when /dev/dri doesn't exist (#1027) 2023-03-11 10:27:07 -05:00
ReenigneArcher
31885434f2
docs: add doxygen (#1004) 2023-03-07 20:26:03 -05:00
Grider
d2461e1908
Fix wayland capture on nvidia for kms (#884) 2023-02-05 18:41:35 -05:00
manteuffel723
0698210ce1
Fix Error: Couldn't import RGB Image: 00003002 and 00003004 (#761) 2023-01-26 11:23:44 -05:00
Jari
d625dda4ea
Steam Deck Gamingmode fix (#711) 2023-01-24 20:47:52 -06:00
Cameron Gutman
9181028bcf
HDR prep work (#808) 2023-01-23 20:54:08 -06:00
Cameron Gutman
00aa23b342
Fix hang on stream termination if no frames can be captured (#709) 2023-01-05 11:21:38 -05:00
Cameron Gutman
d6db10afb4
Remove/fix calls to std::abort() (#648) 2022-12-29 11:09:11 -05:00
ReenigneArcher
58ed5ba3ce
fix typos and comment formatting 2022-08-28 16:42:00 -04:00
ReenigneArcher
a4acaf15b0
move sunshine to src
- this will allow for common cpp workflow files within org
2022-08-07 23:37:57 -04:00
Renamed from sunshine/platform/linux/kmsgrab.cpp (Browse further)