Commit Graph

142 Commits

Author SHA1 Message Date
dec05eba
51ee40f85d Revert "Better glx config selection"
This reverts commit 69c3102465.
2024-09-26 17:47:43 +02:00
dec05eba
69c3102465 Better glx config selection 2024-09-26 17:35:16 +02:00
dec05eba
1aaa26d87e Move codec query from encoder to separate file 2024-09-26 16:08:26 +02:00
dec05eba
aa2fa1e17e Add template for vulkan video encoding 2024-09-26 02:23:56 +02:00
dec05eba
aef223d844 Remove damage tracking for now, better frame timing (deal with time error accumulation) 2024-09-20 02:20:42 +02:00
dec05eba
41bd6cee63 Use async_depth option on vaapi for much better encoding performance 2024-09-18 11:15:10 +02:00
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