Cameron Gutman
ff8c8ce3ab
Skip encoder reprobing if no GPU changes have occurred
2024-02-06 20:00:24 -06:00
Cameron Gutman
be6f856840
Fix DSCP tagging for dual-stack sockets on Linux
2024-02-04 16:19:22 -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
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
Cameron Gutman
9a3553db04
Refactor to use pixel format helpers in VAAPI
2024-01-27 21:32:29 -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
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
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
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
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
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
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
Cameron Gutman
ebb6a7c9a9
Specify the source address for outbound audio and video traffic ( #1569 )
2023-08-26 16:37:04 -05:00
Cameron Gutman
22ab9948fa
Pass the environment as a const reference so nobody else is tempted to modify it
2023-08-16 21:48:16 -05:00
ns6089
68fa43a61c
Add standalone NVENC encoder
2023-08-13 07:01:09 -05:00
Cameron Gutman
bd68aebe4c
Implement pen and touch support for Windows
2023-08-03 19:16:09 -05:00
Cameron Gutman
50f353d183
Fix handling of gamepad feedback with multiple clients connected
...
We need to use the client-relative index rather than the global index
when sending feedback to the client.
2023-07-10 21:45:37 -05:00
Cameron Gutman
309fcc4142
Convert rumble_queue into a generic feedback_queue for gamepad messages
2023-07-10 21:45:37 -05:00
Cameron Gutman
fd77230964
Stub controller battery, touch, and motion packets
2023-07-10 21:45:37 -05:00
Cameron Gutman
1ef8cb1111
Send feature flags in RTSP DESCRIBE response
2023-07-10 21:45:37 -05:00
Casey Korver
881af5b566
Correct typos in logging
2023-07-08 19:56:56 -05:00
Casey Korver
b1ffa8a6c5
Correct typos in comments
2023-07-08 18:56:27 -05:00
Cameron Gutman
11aedf56a2
Implement controller arrival metadata support
2023-06-30 20:47:29 -05:00
Cameron Gutman
5b24148cfa
Fix leak of VA driver resources on each encoder init
2023-05-22 19:44:04 -05:00
Cameron Gutman
0fa406dbb7
Remove unnecessary moves in return statements
2023-05-11 20:52:44 -05:00
Cameron Gutman
8db0ad0cc6
Fix and enable -Wmaybe-uninitialized
2023-05-11 20:52:44 -05:00