Commit Graph

71 Commits

Author SHA1 Message Date
dec05eba
5e05bbbbcb Refactor xcomposite
Move common code between cuda/vaapi implementations
into xcomposite file.
This also fixes limited/full range colors on nvidia.
2024-03-09 15:36:45 +01:00
dec05eba
3d9a706528 Set frame size to video codec context size, nicer rgb to nv12 2024-03-08 11:35:30 +01:00
dec05eba
d0c221a233 Refactor kms_vaapi and kms_cuda
Also fixes color metadata, color range and hdr on nvidia wayland.
2024-03-08 11:34:36 +01:00
dec05eba
4d8a9e2e1d Pool size 20 for vaapi 2024-03-08 11:34:36 +01:00
dec05eba
40bea726eb glClearColor, update readme with video link of gpu screen recorder vs obs smoothness 2024-02-27 00:24:14 +01:00
dec05eba
b8843395ac Add screen rotation support (tested on amd/intel)
screen rotation in wayland is best effort,
wayland doesn't give the necessary information to make it robust.
2024-02-10 03:48:43 +01:00
dec05eba
ac73d9cb13 Remove wayland capture (wlroots) 2024-02-09 00:38:23 +01:00
dec05eba
3eb7bae12c Move card path to egl struct, use egl struct for monitor enumeration 2024-02-09 00:23:52 +01:00
dec05eba
017fd0a37d Add support for hdr capture on amd/intel
Nvidia support will be added in the future.
Note that hdr metadata is missing from the output file as
amd and intel both have bugged drivers that dont add hdr metadata
to the output file.
Need to find a workaround for this (patching the video bitstream?).

Add -cr limited|full, to set color range
2024-02-06 02:43:47 +01:00
dec05eba
5db779d76c Revert "kms vaapi modifiers test"
This reverts commit 0702aad3cf.
2024-01-28 18:51:57 +01:00
dec05eba
0702aad3cf kms vaapi modifiers test 2024-01-28 18:17:50 +01:00
dec05eba
846bda7510 nvidia wayland: support hardware cursor plane 2024-01-28 00:27:41 +01:00
dec05eba
94cbed9471 Nvidia: use default p4 preset instead of p5, might fix frame issues 2024-01-11 10:50:14 +01:00
dec05eba
5d54b02cb2 Remove unused xevent 2024-01-03 15:32:11 +01:00
dec05eba
62e7a04b10 Revert "Try re-enabling use of modified in linux dma buf ext egl create image"
This reverts commit 97a345f08f.
2023-10-31 21:11:23 +01:00
dec05eba
f12541d3f0 Revert temp modifier test 2023-10-31 20:59:40 +01:00
dec05eba
18b26a8f38 bla 2023-10-31 20:11:02 +01:00
dec05eba
1f97e02075 Modified hack test 2023-10-31 20:02:20 +01:00
dec05eba
97a345f08f Try re-enabling use of modified in linux dma buf ext egl create image 2023-10-31 17:40:32 +01:00
dec05eba
51154b71be Fix vram leak for reals 2023-10-22 04:56:34 +02:00
dec05eba
cf7b5e0904 Attempt to fix vram leak(?) 2023-10-08 22:25:07 +02:00
dec05eba
b6ea32330e Use correct offset for kms_vaapi monitor 2023-09-27 00:52:28 +02:00
dec05eba
e4d094d605 Revert vaapi c 2023-09-08 11:06:54 +02:00
dec05eba
a2d780e10c T 2023-09-08 11:03:47 +02:00
dec05eba
21d200b53d Test vaapi plane modifier 2023-09-08 10:53:59 +02:00
dec05eba
a253be38b7 kms vaapi: fix capture bug (incorrect video size) caused by shadowed variable... 2023-08-13 01:55:56 +02:00
dec05eba
26b54ff3e4 fugg 2023-08-13 01:41:26 +02:00
dec05eba
a151d7ac26 test 2023-08-13 01:38:15 +02:00
dec05eba
af0961f64f AMD/Intel: do custom color conversion for window capture, better colors 2023-07-23 05:19:59 +02:00
dec05eba
d45597e104 Exit with exit code 10 if pkexec fails 2023-07-22 23:22:51 +02:00
dec05eba
9ca5b8ec3a Fix cursor offset in kms grab (amd/intel), disable wlroots capture until its fixed 2023-07-22 20:12:41 +02:00
dec05eba
4de23c2556 Temp disable cursor fix 2023-07-22 05:13:23 +02:00
dec05eba
b898bddb63 Hide cursor when it's on another display 2 2023-07-22 04:56:50 +02:00
dec05eba
4e8c47a154 Hide cursor when it's on another display 2023-07-22 04:38:08 +02:00
dec05eba
60de2c47be Use correct offset for combined plane monitor capture 2023-07-22 04:12:02 +02:00
dec05eba
22a0a01553 AMD/Intel capture cursor 2023-07-22 02:57:38 +02:00
dec05eba
8b0723a4f2 Fix window capture 2023-07-21 19:12:24 +02:00
dec05eba
a1d31a5cf0 Fix capture not working on intel + wayland
Ignore nouveau cards.
Fix lag on start of recording on amd/intel by only loading egl once,
on startup.
2023-07-21 18:56:34 +02:00
dec05eba
de019711d1 Support wlroots screen capture, which doesn't require kms root access and also captures cursor 2023-07-21 02:57:06 +02:00
dec05eba
585382cf18 More kms vaapi allow to work without xwayland 2023-07-18 07:06:12 +02:00
dec05eba
a3beaeb0cc Fix green screen sometimes when capturing amd/intel window 2023-07-18 06:00:36 +02:00
dec05eba
b2644a9881 Fix wayland capture on amd/intel 2023-07-18 03:21:16 +02:00
dec05eba
0a2806972f Experimental wayland support, test 1 2023-07-18 02:14:27 +02:00
dec05eba
ba86d20b2d kms rot old behavior back 2023-06-10 01:51:47 +02:00
dec05eba
b290f76372 kms: fix multi monitor coordinate being incorrect in some cases 2023-06-10 01:39:58 +02:00
dec05eba
95290bc031 Attempt to fix merged display coordinates in kms 2023-06-10 01:15:10 +02:00
dec05eba
6cff1a49d2 Fix all warnings 2023-05-17 18:49:16 +02:00
dec05eba
26571094aa kms_vaapi: fix regression, screen rotation not working when capturing screen 2023-05-12 05:03:12 +02:00
dec05eba
99dbbd07ab kms_vaapi: support multiple drm planes (fixes capture on some multi monitor systems) 2023-05-12 03:49:29 +02:00
dec05eba
e1c613666e kms_vaapi: add cursor capture for amd/intel monitor capture
Always find largest drm buf, to fix some cases
when there are multiple planes and we accidentally
capture a drm buf that isn't the target buf.
We always want the full SCREEN drm buf.
2023-04-22 02:13:11 +02:00