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
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
d1c49f35a5
Window capture: clear background with black color
2024-02-08 19:06:09 +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
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
7bc7269652
Support nvidia wayland bit depth over 8 bit (fixes incorrect colors on some systems running kde plasma)
2023-11-18 13:18:26 +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
f89d23c2d0
Remove unused cursor code
2023-09-29 20:56:59 +02:00
dec05eba
e63ecd2e02
egl es -> egl
2023-09-18 10:35:29 +02:00
dec05eba
4ad0118f35
High priority egl context if possible, use eglBindAPI(EGL_OPENGL_ES_API)
2023-07-26 02:31:12 +02:00
dec05eba
bee99a69e3
Dont use jpeg color range (fixes too dark image on amd/intel in flatpak)
2023-07-25 04:46:45 +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
8cd0ae0162
vfr on wayland (even on nvidia), add uninstall script
2023-07-21 16:17:22 +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
a3beaeb0cc
Fix green screen sometimes when capturing amd/intel window
2023-07-18 06:00:36 +02:00
dec05eba
0a2806972f
Experimental wayland support, test 1
2023-07-18 02:14:27 +02:00
dec05eba
6cff1a49d2
Fix all warnings
2023-05-17 18:49:16 +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
49ac7d7429
Add code to copy cursor image to opengl texture and update on event update (not used yet)
2023-04-21 20:59:06 +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
5c714ea714
Move EGL define to egl.h from window texture .c
2023-04-15 04:14:43 +02:00
dec05eba
7dcf3a68cc
Use /usr/bin/gsr-kms-server constant path for pkexec
2023-04-09 16:06:39 +02:00
dec05eba
cb82677ae8
Move kms client and server to separate directories
2023-04-09 15:54:29 +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
Steam Deck User
2f67083915
Use vaapi to do rgb->yuv420p color conversion
...
Enable window capture for amd/intel.
Properly check if h264/hevc is supported on amd/intel before using
codec.
2023-04-01 16:29:24 +02:00
dec05eba
82e3720084
Install coolbits if using nvidia, add preserve video memory install script
2023-03-31 01:11:12 +02:00
dec05eba
d4b8833fdd
Remove unused code
2023-03-26 19:04:51 +02:00
dec05eba
f242cab8a6
Copy vaapi structures to vaapi.h instead of depending on vaapi at compile time
2023-03-21 21:42:18 +01: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
Steam Deck User
8cbdb596eb
vaapi wip
2023-03-17 11:44:51 +01:00
dec05eba
8ca1ac70e8
Support opus flt and fltp
2023-03-04 16:02:48 +01:00
dec05eba
3413f193c1
Add opus/flac audio options (only supported my mp4/mkv)
2023-03-04 12:57:30 +01:00
dec05eba
1d8d95fba4
Add option to merge audio devices by separating audio inputs with | in one -a
2023-02-16 23:40:21 +01:00
dec05eba
5da160206a
Remove unused file
2022-12-30 01:29:08 +01:00