Commit Graph

483 Commits

Author SHA1 Message Date
Cameron Gutman
404b434754 Fix starvation of encoder thread when not receiving new captured frames
This often happens when switching to the UAC secure desktop.
2024-01-18 19:14:45 -06:00
Cameron Gutman
f64712f277 Always reset the thread desktop before calling DuplicateOutput()
Otherwise capture will fail if the thread desktop is different than the current input desktop (ex: UAC secure desktop is active)
2024-01-18 19:14:45 -06:00
Cameron Gutman
8a86678d62 Reenumerate displays when the display is reinitialized or switched 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
d0049da2df Implement pen and touch support for Linux 2024-01-14 11:45:12 -06:00
Cameron Gutman
c1a3903d20 Fix absolute mouse motion being interpreted as touchscreen input 2024-01-14 11:45:12 -06:00
ReenigneArcher
937d0d810c fix: add additional pin validation (#2007) 2024-01-13 22:03:49 -05:00
Cameron Gutman
545af98459 Add a fallback to retry codec init with more lenient config options
This allows use of low_power=1 for VAAPI to allow more performant
encoding on capable Intel hardware (like we do for QSV).

This also provides a low_power=0 fallback for QSV to allow use
on old/low-end Intel GPUs that don't support low power encoding.

Finally, this also implements a fallback to deal with the AMD
driver regression on pre-RDNA cards that causes H.264 encoding
to fail with AMF_VIDEO_ENCODER_USAGE_ULTRA_LOW_LATENCY.
2024-01-12 19:50: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
593e170da8 Implement graceful termination and group-based app tracking 2024-01-08 23:55:43 -06:00
ReenigneArcher
60c95d6385 fix(web-api): allow trailing slash on endpoints (#1985) 2024-01-06 10:56:35 -05:00
Cameron Gutman
f88df0f596 Implement support for KMS cursor plane capture (#1981) 2024-01-05 23:02:39 -06:00
ReenigneArcher
791ed48a3f fix(macos): replace depreciated AbsoluteToNanoseconds (#1986)
Co-authored-by: Cameron Gutman <2695644+cgutman@users.noreply.github.com>
2024-01-05 23:28:50 -05:00
Cameron Gutman
7d751f050e Fix EGL import for modifiers that require aux planes 2024-01-05 21:25:06 -06:00
Cameron Gutman
c7e5df5976 Refactor EGLAttrib logic into a shared function 2024-01-05 21:25:06 -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
3adf9e5967 Don't busy loop during wlgrab capture 2024-01-04 22:26:39 -06:00
Cameron Gutman
e1771de37a Fix race condition causing hangs and EGL import errors due to concurrent snapshot() calls 2024-01-04 22:26:39 -06:00
Cameron Gutman
0403ad147a Fix capturing scaled output with wlgrab 2024-01-04 22:26:39 -06:00
Cameron Gutman
1bd45ca803 Fix low-res scrolling on Linux 2024-01-04 00:51:10 -06:00
Cameron Gutman
a01a15a54b Fix termination of child processes when the parent terminates 2024-01-03 16:50:08 -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
0f640b8dd9 Fix clear color when rendering to VA surfaces 2024-01-03 16:14:18 -06:00
Cameron Gutman
a9b459cdb1 Use P010 instead of YUV420P10 for 10-bit VAAPI encoding 2024-01-03 16:14:18 -06:00
Cameron Gutman
beb51cc925 Correctly passthrough plane format and modifiers when importing VA surface 2024-01-03 16:14:18 -06:00
Cameron Gutman
e7a3c485ee Only keep the ViGEmBus connection alive while gamepads are attached 2024-01-02 19:32:19 -06:00
Cameron Gutman
3ca75bee19 Add option to disable native pen/touch support 2024-01-01 19:53:57 -06:00
Cameron Gutman
729922d2c0 Add option to disable high resolution scroll events 2024-01-01 19:53:57 -06:00
Cameron Gutman
6ea836c511 Add options to control gamepad autoselection heuristics
Also move gamepad type selection to the input tab while we're here
2024-01-01 19:53:57 -06:00
ReenigneArcher
852db4877d refactor(process): re-order variables to avoid unused variable when tray is disabled (#1963) 2024-01-01 19:36:00 -05:00
ReenigneArcher
c0164caaaa builds(deps): use miniupnpc package instead of submodule (#1971)
Co-authored-by: Cameron Gutman <aicommander@gmail.com>
2024-01-01 18:48:27 -05:00
ReenigneArcher
fe3bf0ee6f fix(tray): use PROJECT_NAME definition for tooltip (#1958) 2023-12-31 16:34:33 -05:00
James Le Cuirot
64be0aa67a Fix grabbing code when DRM is enabled and X11 is disabled (#1956) 2023-12-31 15:57:45 -05:00
James Le Cuirot
d97f724e3b Use dl handle for libva's vaTerminate rather than actual function (#1955) 2023-12-31 15:10:48 -05:00
Cameron Gutman
66e31a21fb Compute the bitrate on the host side for supported clients 2023-12-30 18:27:37 -06:00
Cameron Gutman
a9f2679a49 Implement new protocol extension to match client connections together
Fixes #1804
Fixes #1862
Fixes #1852
2023-12-30 11:26:53 -06:00
Cameron Gutman
11d472362c Print a fatal warning for lack of ViGEmBus
While this is not technically fatal, it's almost certainly not what the user wants.
2023-12-29 23:01:28 -06:00
Cameron Gutman
0d7811ad43 Demote FFmpeg fatal errors
Fixes #1849
2023-12-29 23:01:28 -06:00
jensaymoo
b215fe0cd9 fix: ensure user supplied framerates are used (#1548)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-12-28 20:06:54 -05:00
TheElixZammuto
5bdbda90b5 Web UI migration to Vite and Vue3 and improvements to the UX (#1673)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-12-27 19:25:49 -05:00
zoeyjodon
a851ef6068 Extend session timeout (#1890) 2023-12-09 09:31:04 -05:00
Cameron Gutman
4a2f7023ec Fix discovery of Windows hosts by Apple devices 2023-12-04 21:03:37 -06:00
Cameron Gutman
3b9e37e1dd Don't hardcode the signature length to RSA-2048 (#1872) 2023-11-30 23:51:45 -06:00
Justin Dhillon
0a563947ea docs: fix broken links (#1813)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-11-05 00:47:22 -04:00
Timo Gurr
ca41c9d6f4 config: add 2K resolution (WQHD - 16:9) (#1816) 2023-11-04 20:48:52 -04:00
everything411
842a4cf7b2 fix(audio:windows): set cbSize correctly (#1787) 2023-10-27 09:28:29 -04:00
Erick C
3212b036a1 Manual DS4 mode: Allow Back/Select to trigger Touchpad click (#1772)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
2023-10-22 15:03:33 -04:00