Commit Graph

18 Commits

Author SHA1 Message Date
dec05eba
25b7b4e84e Pure vaapi capture (for capture target) and opengl composition for cursor only when capturing window and portal as well, clear background on resize for monitor capture 2024-09-16 23:31:53 +02:00
dec05eba
4bcf976a71 Improve capture performance on amd/intel when using monitor capture: capture display frame using purely vaapi unless the monitor is rotated 2024-09-16 23:31:53 +02:00
dec05eba
8acb346382 Set update fps to video fps, on x11 sync video to damage tracking 2024-09-14 01:15:01 +02:00
dec05eba
da4925b23e Allow capture of external monitors on a laptop with dedicated gpu (prime) on x11, fix cursor not visible on some wayland compositors (hyprland) with multiple monitors 2024-08-16 19:37:00 +02:00
dec05eba
b5b4d6b2bd Fix portal capture on intel, support multiple planes in one egl image (might fix capture on intel iris) 2024-07-22 04:58:41 +02:00
dec05eba
048b8d21ec Add support for desktop portal capture (-w portal) 2024-07-15 19:02:34 +02:00
dec05eba
c17a717326 Workaround amd driver bug: hevc ffmpeg/mesa misaligned resolution causing glitched video output on right/bottom side 2024-06-10 12:44:40 +02:00
dec05eba
3f0a58a1e6 Do not require a valid drm plane to capture a window on amd/intel x11 2024-06-10 12:28:53 +02:00
dec05eba
877465a702 Use dri card matching current egl context 2024-03-10 23:15:57 +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
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
3eb7bae12c Move card path to egl struct, use egl struct for monitor enumeration 2024-02-09 00:23:52 +01: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
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
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
75ed160122 Implement kms vaapi capture 2023-04-07 05:31:46 +02:00