Commit Graph

249 Commits

Author SHA1 Message Date
Rafael
2e995355dc fix(linux)!: use XDG spec for fetching Linux configuration directory (#2034) 2024-01-18 21:24:55 -05:00
Cameron Gutman
21e4450ee1 Fix stream disconnecting when reconfiguring display in X11 2024-01-18 19:14:45 -06:00
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
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
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
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
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
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
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
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
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
4a2f7023ec Fix discovery of Windows hosts by Apple devices 2023-12-04 21:03:37 -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
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
Cameron Gutman
11361ac9b6 Send proper DS4 timestamp values in our input reports 2023-10-10 23:10:20 -05:00
Cameron Gutman
395d572b17 Fix Super key regression after 8a7111a (#1728) 2023-10-09 19:39:40 -04:00
Cameron Gutman
8a7111a63b Use our own keycode mapping instead of relying on Windows
Loading the US English layout causes user-visible side effects.
2023-10-08 17:32:22 -05:00
Cameron Gutman
ee1a9a618a Remove clang-format suppressions 2023-10-06 18:29:50 -05:00
Cameron Gutman
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
ns6089
974c4bd4a1 Remove unused shader input layout
We don't use SV_Position in our vertex shaders.
2023-10-05 23:06:40 -05:00
ns6089
7f2b96b3e0 Refactor shaders 2023-10-05 23:06:40 -05:00
ns6089
2086cad96e Support #include in dx shader compiler 2023-10-05 23:06:40 -05:00
Cameron Gutman
a08e2b3de6 Add comments clarifying AVBufferRef usage and ownership 2023-10-04 22:36:16 -05:00
Cameron Gutman
c56ad91693 Implement zero-copy 8/10 bit encoding for macOS 2023-10-04 22:36:16 -05:00
Cameron Gutman
e535706a09 Fix CVPixelBuffer/CMSampleBuffer ownership issues 2023-10-04 22:36:16 -05:00
Cameron Gutman
ca041f2934 Use AVVideoScalingModeResizeAspect instead of abusing extended pixels
This not only eliminates the hand-rolled aspect ratio correction (which didn't actually handle scaling),
but it also avoids us having to write to the GPU frames to add padding which improves performance.
2023-10-04 22:36:16 -05:00
Cameron Gutman
a29d2e11ea Fix only capturing a single frame on macOS 2023-10-04 22:36:16 -05: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
Cameron Gutman
1303defb67 Fix crash during UDP segmentation due to stack garbage
CMSG_NXTHDR() tries to read the _next_ message to check if it fits in
the provided control buffer length. If that part of the stack has some
large value stored in the uninitialized cmsg_len there, CMSG_NXTHDR()
will return NULL and we will crash.
2023-10-02 00:13:47 -05:00
ns6089
e98d7577bb Support capturing rotated displays on Windows (#1602) 2023-09-13 10:34:26 -04:00