Commit Graph

224 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
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
1fca7080eb comment 2024-08-19 19:22:05 +02:00
dec05eba
d52b775674 Fix kms capture crash on wayland if x11 is not available (always the case in the flatpak) 2024-08-18 17:59:09 +02:00
dec05eba
1e39dc6286 Refactor kms capture 2024-08-16 23:20:04 +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
8e3014aa97 Use external texture target for external texture 2024-08-15 08:12:44 +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
a9b7618be7 Debug test again 2024-08-15 07:13:13 +02:00
dec05eba
c240cd111e Debug output test 2024-08-15 06:40:11 +02:00
dec05eba
36951238be Fix possible capture lag (especially with desktop portal capture) 2024-08-08 02:03:03 +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
7bee923938 Compressed plane now works, update readme and remove warning 2024-08-04 17:50:52 +02:00
dec05eba
b1d8346ed9 Move glClear and glx/eglSwapBuffers from capture backends to main 2024-07-26 10:55:24 +02:00
dec05eba
af4f9b805a Fix variable shadow warnings 2024-07-25 13:58:10 +02:00
dec05eba
b7da16a932 nvidia x11: fix screen-direct-force not working because it was ignored 2024-07-25 05:30:31 +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
c257b8a909 Use modifiers in kms capture on amd too 2024-07-22 05:10:39 +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
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
b2728e0831 exit code 60 if portal capture was canceled by the user 2024-07-20 02:17:56 +02:00
dec05eba
d2b172dd9c Return status code from dbus instead of true/false 2024-07-20 00:39:02 +02:00
dec05eba
5175feba44 Nicer error damn portal 2024-07-19 23:00:32 +02:00
dec05eba
57b0005d90 Fail with exit status 50 if portal setup fails 2024-07-19 22:55:31 +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
73146d8957 Include virtual capture target in portal capture 2024-07-15 23:17:00 +02:00
dec05eba
a3b773a963 Show warning when capture monitor on intel and the plane is compressed. The warning tells the user to capture on x11 instead or use -w portal option 2024-07-15 21:55:16 +02:00
dec05eba
048b8d21ec Add support for desktop portal capture (-w portal) 2024-07-15 19:02:34 +02:00
dec05eba
2bc05a4a7f Minor nvfbc 2024-07-06 02:29:07 +02:00
dec05eba
6c5acf2da6 Use GL_TEXTURE_EXTERNAL_OES for cursor texture on kms nvidia 2024-07-05 12:00:01 +02:00
dec05eba
a5720df10f Nicer window focus transition for padding handling 2024-07-05 11:55:56 +02:00
dec05eba
56e9d15e0f Fix capture incorrect alignment with cpu encoding for some window sizes 2024-07-05 11:34: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
a2082c50a5 revert temp 2024-06-23 01:05:06 +02:00
dec05eba
d21ada4b19 temp 2024-06-23 01:02:40 +02:00