dec05eba
b9fa7f2fa2
Separate video encoding method from capture method
...
With this instead of kms_cuda/kms_vaapi/kms_software and
xcomposite_cuda/xcomposite_vaapi/xcomposite_software there
is now only kms and xcomposite.
2024-07-05 10:33:47 +02:00
dec05eba
62d61fda12
Add support for software video encoding with '-encoder cpu' option, currently h264 only
2024-07-04 01:35:03 +02:00
dec05eba
46da55b1ea
fm content: make sure to capture frame on damage and then no damage after fps frame timeout
2024-06-21 23:01:00 +02:00
dec05eba
ab78e56872
Add -fm 'content' option to match fps to captured content, only x11 window capture currently supported
2024-06-21 22:18:23 +02:00
dec05eba
3e2e2444d9
Properly cut out cursor outside video area when dealing with hevc amd padding
2024-06-14 02:05:54 +02:00
dec05eba
e43934e2d2
Remove video_alignment_padding variable, replace with putting capture content in the center with frame resolution and capture resolution diff
2024-06-10 18:41:05 +02:00
dec05eba
adbd5d9766
Take amd hevc video alignment padding into consideration to move video content to center of video with black bars on all sides instead of only right/bottom
2024-06-10 17:51:09 +02:00
dec05eba
f02f5a9d00
Re-enable intel arc fix (but only for intel systems)
2024-06-10 16:55:47 +02:00
dec05eba
e4832f3d64
Revert "Fix screen capture on intel arc gpu (on x11 and wayland)"
...
This reverts commit f8453bcaa4 .
2024-06-10 16:44:04 +02:00
dec05eba
f8453bcaa4
Fix screen capture on intel arc gpu (on x11 and wayland)
2024-06-09 23:35:48 +02:00
dec05eba
ba096a3ba7
Add -cursor option to not record cursor
2024-03-11 19:01:46 +01:00
dec05eba
f3c32a880a
Fix cursor capture in nvidia wayland, hdr, clear background immediately in window capture
2024-03-10 20:59:17 +01:00
dec05eba
45ad3695b6
Refactor capture base
2024-03-09 18:54:53 +01:00
dec05eba
a3fedae329
Draw cursor in window capture
2024-03-09 16:59:09 +01:00
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
0d89378021
Use opengl capture for nvfbc (prepare for vulkan capture without cuda)
2024-03-08 11:35:26 +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
463d5b5a25
nvidia wayland: add hdr metadata
2024-02-11 17:49:36 +01:00
dec05eba
7844785eef
Remove dependency on egl in nvfbc
2024-02-11 15:44:15 +01:00
dec05eba
985d96bf89
Fix nvfbc capture crash on start
2024-02-11 15:33:55 +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
51154b71be
Fix vram leak for reals
2023-10-22 04:56:34 +02:00
dec05eba
9710f8a2d4
Attempt to fix amd/intel driver bug vram leak, force cfr when livestreaming, replace std::filesystem with posix
...
create replay directory automatically, recursively
2023-10-21 22:46:33 +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
0a2806972f
Experimental wayland support, test 1
2023-07-18 02:14:27 +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
dec05eba
c0ebae365d
Find /dev/dri/card path that exists (the first one)
2023-04-16 22:50:43 +02:00
dec05eba
f6107a0c5d
Fix AMD single monitor rotated display being rotated in recording
...
If there is only one monitor connected and it's rotated then
the drm buf will also be rotated. This only the case with AMD and
only when using one monitor!
To fix this, we perform color conversion with an opengl shader
which allows us to also rotate the texture.
VAAPI supports rotation but it's not implemented by AMD at least.
Performance seems to be the same as when using VAAPI, even when
GPU usage is 100%.
2023-04-15 19:06:08 +02:00
dec05eba
7dcf3a68cc
Use /usr/bin/gsr-kms-server constant path for pkexec
2023-04-09 16:06:39 +02:00
dec05eba
75ed160122
Implement kms vaapi capture
2023-04-07 05:31:46 +02:00
Steam Deck User
c720d38978
Rename drm to vaapi
2023-04-01 19:05:56 +02:00
dec05eba
93cb6593a6
Add overclocking option -oc to workaround a NVIDIA driver bug (forcefully set to p2 state when using cuda)
2023-03-17 17:17:14 +01:00
dec05eba
4e6fc174fe
follow focused
2022-12-20 15:32:42 +01:00
dec05eba
6a6bb703bc
wip intel
2022-11-30 19:36:33 +01:00
dec05eba
a7e0dbd833
Refactor xcomposite into abstract capture api
...
Refactor c++ files into c files, more usable
2022-10-16 04:15:09 +02:00
dec05eba
93d46b9767
Refactor nvfbc into abstract capture api
2022-10-14 01:22:43 +02:00