Commit Graph

236 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
69fc104d20 Remove xi2 code, it's not needed 2024-09-15 04:25:10 +02:00
dec05eba
f6f8fdb33c Portal: sync capture to frame update 2024-09-15 04:22:00 +02:00
dec05eba
714561987e Properly damage if moving cursor
Only damage if cursor is inside the target area
2024-09-14 02:27:48 +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
8158a809b7 Move damage tracking to separate file 2024-09-06 23:55:43 +02:00
dec05eba
2682df9e0f Portal: fix external texture 2024-09-06 13:28:35 +02:00
dec05eba
111432f7dd Revert "Portal: fix external texture glitches"
This reverts commit 0f289b58bb.
2024-09-06 13:27:51 +02:00
dec05eba
0f289b58bb Portal: fix external texture glitches 2024-09-06 13:17:17 +02:00
dec05eba
954a41de9c Explicit glFlush/glFinish before and after render operations to fix tearing and stutter on amd 2024-09-06 12:41:14 +02:00
dec05eba
b7c5df3c4b Faster startup (faster video codec query), fix some video codec callback logic 2024-08-31 03:17:18 +02:00
dec05eba
1d7c1e7d14 Enable recording on steam deck with warning, use vbr on steam deck and add -bm bitrate mode option for qp or vbr 2024-08-31 00:26:22 +02:00
dec05eba
dfe2b17648 Prepare for video codec query, cleanup readme, add libva-drm as dependency 2024-08-29 22:22:46 +02:00
dec05eba
45a10baf5f Disable steam deck support at the moment because the driver is broken (ignores qp, capture tearing) 2024-08-20 15:28:37 +02:00
dec05eba
3ec93bcc41 Add hevc_10bit and av1_10bit options for 10bit color range, increase video quality (qp) 2024-08-17 19:55:09 +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
85d59ea2c8 HACK: portal: copy external image to internal image before render. Dont stop screencast when paused as that stops recording when window is resized 2024-08-15 11:13:49 +02:00
dec05eba
0b9d232ce8 Fix crash, use opengl es instead of opengl desktop 2024-08-15 08:21:54 +02:00
dec05eba
ffb8c6af3b Allow prime-run capture on laptop with external gpu when the iGPU
doesn't have any monitor to capture.
Fix prime-run desktop portal capture broken (fallback to external
texture).
Fallback to external texture in kms capture.
2024-08-15 08:09:23 +02:00
dec05eba
846241189e Add -portal-session-token-filepath option to specify where desktop portal session token is saved/restore 2024-08-08 01:45:35 +02:00
dec05eba
844a54b43b Allow using 'default_output' / 'default_input' as audio devices (-a option), add --list-audio-devices option 2024-08-02 00:14:01 +02:00
dec05eba
b1d8346ed9 Move glClear and glx/eglSwapBuffers from capture backends to main 2024-07-26 10:55:24 +02:00
dec05eba
7d719a44c6 Fix hdr capture causing crash when in replay mode 2024-07-23 18:11:38 +02:00
dec05eba
e9343cce91 Fix pipewire capture on amd (fallback to no drm modifiers if eglCreateImage fails), might happen because of a buggy desktop portal/pipewire implementation 2024-07-22 17:20:09 +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
b077177081 Portal: move modifier query to init 2024-07-22 02:31:12 +02:00
dec05eba
37107bac8d Fix deskto portal capture on nvidia (add missing modifiers) 2024-07-22 01:24:23 +02:00
dec05eba
f9a41041ec Fix HDR capture (HDR metadata is now correct). Note that HDR capture is only available on Wayland and when recording a monitor without the desktop portal option 2024-07-21 19:12:06 +02:00
dec05eba
d2b172dd9c Return status code from dbus instead of true/false 2024-07-20 00:39:02 +02:00
dec05eba
637d306a24 Stop recording when pipewire target window is closed or when pressing close in the desktop environments record button 2024-07-19 22:08:04 +02:00
dec05eba
463c1d61f0 Portal: make resizing not glitched, clear background on resize, proper handling of multithreaded plane fd 2024-07-17 20:54:37 +02:00
dec05eba
e286a1dd24 Add --list-supported-capture-options option, for use by gpu screen recorder gtk 2024-07-17 16:35:53 +02:00
dec05eba
048b8d21ec Add support for desktop portal capture (-w portal) 2024-07-15 19:02:34 +02:00
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
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
f8453bcaa4 Fix screen capture on intel arc gpu (on x11 and wayland) 2024-06-09 23:35:48 +02:00
dec05eba
7e239c8aa2 Test latency comp 2024-04-15 20:30:41 +02:00
dec05eba
b554628099 Revert "Testing audio latency compensation"
This reverts commit 2692a7d22c.
2024-04-14 00:53:15 +02:00
dec05eba
2692a7d22c Testing audio latency compensation 2024-04-14 00:02:47 +02:00
dec05eba
ddac6acaf2 Fix messed up audio on some distros (those using pulseaudio?) 2024-04-11 18:46:34 +02:00