Commit Graph

255 Commits

Author SHA1 Message Date
dec05eba
af0961f64f AMD/Intel: do custom color conversion for window capture, better colors 2023-07-23 05:19:59 +02:00
dec05eba
fafb1e84f0 Improve color accuracy on amd/intel 2023-07-23 04:21:38 +02:00
dec05eba
0b2b4c0b03 Dont do glClear/glSwapBuffers on nvidia wayland, it's not needed 2023-07-22 23:32:58 +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
fc316750b8 Fix monitor capture on amd/intel + x11 2023-07-21 19:30:09 +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
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
0b79f14443 p 2023-07-10 17:15:59 +02:00
dec05eba
d6d17e55e0 Attempt to make active card detection more robust 2023-07-10 01:29:43 +02:00
dec05eba
f38ed36271 Test fix using correct gpu when multiple gpus are connected 2023-07-09 23:30:38 +02:00
dec05eba
e158cb2a8b Translate -c mkv to -c matroska 2023-06-20 20:31:06 +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
66dbfe69a4 Mention that only h264/hevc is supported at the moment 2023-06-07 19:30:39 +02:00
dec05eba
7e2ade27a7 Make sure window id hex starts with 0x (makes monitor recording more reliable), allow CC and CXX to set compiler for build 2023-06-04 13:49:47 +02:00
dec05eba
41176177c6 Update readme about flatpak 2023-05-29 00:43:59 +02:00
dec05eba
561ceb1949 Attempt to fix nvidia driver bug at program exit (freeze) by exit without atexit 2023-05-22 18:36:19 +02:00
dec05eba
6641eda702 Use av_packet_alloc instead of deprecated memset on packet size 2023-05-18 14:40:42 +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
25af1c81d0 manjaro ***** 2023-04-27 20:42:44 +02:00
dec05eba
ec22eb6da4 Temporary disable opus/flac because it breaks multiple audio, fix possible audio/video desync on nvidia 2023-04-27 13:57:01 +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
2021456be0 Fix focused window follow failing on vaapi for the first window. Also dont error on fail to focus window 2023-04-22 02:12:04 +02:00
dec05eba
72594e3d45 vaapi window capture: resizing window should make the window have its original size instead of resized to video size 2023-04-22 02:11:57 +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
b6227c07f2 Use x11 event loop with XPending instead of XCheckTypedWindowEvent 2023-04-21 20:23:11 +02:00
dec05eba
690065da0f Only capture frame if num frames to capture > 0 2023-04-18 22:31:44 +02:00
dec05eba
03ef7d0964 Show shorter form of help on argument error 2023-04-18 18:41:06 +02:00
dec05eba
7749ba8327 Replace tabs with 4 spaces 2023-04-18 18:34:23 +02:00
XnipS
e985e8e18e Made fps update toggleable 2023-04-18 18:32:04 +02:00
dec05eba
c0ebae365d Find /dev/dri/card path that exists (the first one) 2023-04-16 22:50:43 +02:00
dec05eba
d953d0bb36 Use XDG_RUNTIME_DIR (and flatpak specific dir) and /dev/dri/renderD128 instead of /dev/dri/card0 (fixes capture on some systems) 2023-04-16 22:05:09 +02:00
dec05eba
c510bc5ae5 Remove extra swapBuffer in kms capture 2023-04-15 20:39:02 +02:00
dec05eba
c9c615d4c7 Apply rotation fix for intel as well (for kms capture) 2023-04-15 19:41:49 +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