dec05eba
b68400ca20
Add -gl-debug option to make it easier to debug user issues that cant easily be reproduced
2025-01-16 22:55:20 +01:00
dec05eba
c259a19b9d
Refactor windowing from egl to window_x11/window_wayland, yolo
2024-12-08 02:17:41 +01:00
dec05eba
02673c4644
Fix portal capture on broken amd drivers: fallback to opengl copy instead of vaapi on known buggy mesa version
2024-11-21 00:25:56 +01:00
dec05eba
ebc8c69bac
Add vulkan video encoding option (-k h264_vulkan). WIP, not fully hardware accelerated yet
2024-09-27 03:03:09 +02:00
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
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
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
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
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
0b9d232ce8
Fix crash, use opengl es instead of opengl desktop
2024-08-15 08:21:54 +02:00
dec05eba
b1d8346ed9
Move glClear and glx/eglSwapBuffers from capture backends to main
2024-07-26 10:55:24 +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
048b8d21ec
Add support for desktop portal capture (-w portal)
2024-07-15 19:02:34 +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
3e2e2444d9
Properly cut out cursor outside video area when dealing with hevc amd padding
2024-06-14 02:05:54 +02:00
dec05eba
c2af57a978
Destroy glx context on fail/deinit
2024-03-21 10:49:15 +01:00
dec05eba
877465a702
Use dri card matching current egl context
2024-03-10 23:15:57 +01:00
dec05eba
0d89378021
Use opengl capture for nvfbc (prepare for vulkan capture without cuda)
2024-03-08 11:35:26 +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
ac73d9cb13
Remove wayland capture (wlroots)
2024-02-09 00:38:23 +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
94cbed9471
Nvidia: use default p4 preset instead of p5, might fix frame issues
2024-01-11 10:50:14 +01:00
dec05eba
e63ecd2e02
egl es -> egl
2023-09-18 10:35:29 +02:00
dec05eba
4ad0118f35
High priority egl context if possible, use eglBindAPI(EGL_OPENGL_ES_API)
2023-07-26 02:31:12 +02:00
dec05eba
60de2c47be
Use correct offset for combined plane monitor capture
2023-07-22 04:12:02 +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
0a2806972f
Experimental wayland support, test 1
2023-07-18 02:14:27 +02:00
dec05eba
6cff1a49d2
Fix all warnings
2023-05-17 18:49:16 +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
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
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
5c714ea714
Move EGL define to egl.h from window texture .c
2023-04-15 04:14:43 +02:00
Steam Deck User
2f67083915
Use vaapi to do rgb->yuv420p color conversion
...
Enable window capture for amd/intel.
Properly check if h264/hevc is supported on amd/intel before using
codec.
2023-04-01 16:29:24 +02:00
dec05eba
d4b8833fdd
Remove unused code
2023-03-26 19:04:51 +02:00
Steam Deck User
8cbdb596eb
vaapi wip
2023-03-17 11:44:51 +01:00
dec05eba
4e6fc174fe
follow focused
2022-12-20 15:32:42 +01:00
dec05eba
6a6bb703bc
wip intel
2022-11-30 19:36:33 +01:00