Commit Graph
52 Commits
Author SHA1 Message Date
dec05eba a3beaeb0cc Fix green screen sometimes when capturing amd/intel window 2023-07-18 06:00:36 +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 c0ebae365d Find /dev/dri/card path that exists (the first one) 2023-04-16 22:50:43 +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
dec05eba 7dcf3a68cc Use /usr/bin/gsr-kms-server constant path for pkexec 2023-04-09 16:06:39 +02:00
dec05eba cb82677ae8 Move kms client and server to separate directories 2023-04-09 15:54:29 +02:00
dec05eba 75ed160122 Implement kms vaapi capture 2023-04-07 05:31:46 +02:00
Steam Deck User c720d38978 Rename drm to vaapi 2023-04-01 19:05:56 +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 82e3720084 Install coolbits if using nvidia, add preserve video memory install script 2023-03-31 01:11:12 +02:00
dec05eba d4b8833fdd Remove unused code 2023-03-26 19:04:51 +02:00
dec05eba f242cab8a6 Copy vaapi structures to vaapi.h instead of depending on vaapi at compile time 2023-03-21 21:42:18 +01:00
dec05eba 93cb6593a6 Add overclocking option -oc to workaround a NVIDIA driver bug (forcefully set to p2 state when using cuda) 2023-03-17 17:17:14 +01:00
Steam Deck User 8cbdb596eb vaapi wip 2023-03-17 11:44:51 +01:00
dec05eba 8ca1ac70e8 Support opus flt and fltp 2023-03-04 16:02:48 +01:00
dec05eba 3413f193c1 Add opus/flac audio options (only supported my mp4/mkv) 2023-03-04 12:57:30 +01:00
dec05eba 1d8d95fba4 Add option to merge audio devices by separating audio inputs with | in one -a 2023-02-16 23:40:21 +01:00
dec05eba 5da160206a Remove unused file 2022-12-30 01:29:08 +01:00
dec05eba 9d0d02ff6f Attempt to reduce stuttering of video 2022-12-20 15:41:24 +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
dec05eba a7e0dbd833 Refactor xcomposite into abstract capture api
Refactor c++ files into c files, more usable
2022-10-16 04:15:09 +02:00
dec05eba 93d46b9767 Refactor nvfbc into abstract capture api 2022-10-14 01:22:43 +02:00
dec05eba 9d185f3091 Use p4 preset on older gpus (kepler family) because of performance
with p7
2022-10-11 19:47:28 +02:00
dec05eba 1ca4dcfbdb Tune quality again, remove vbr 2022-10-11 02:47:17 +02:00
dec05eba 5b26291269 Update info about cuda 2022-10-06 15:27:45 +02:00
dec05eba c447d866b7 nvfbc patch 2022-10-04 03:53:25 +02:00
dec05eba 270a8636ae Capture cursor in direct capture mode if supported by the driver (driver version >= 515.57) 2022-10-03 17:42:51 +02:00
dec05eba 5871abc42f Allow giving audio inputs names by prefixing them with <name>/ 2022-10-02 01:04:57 +02:00
dec05eba f7606a144b Give error when using an invalid audio input with pipewire 2022-09-30 22:02:23 +02:00
dec05eba 1a7fd28a3f Remove cuda.h 2022-09-29 20:07:54 +02:00
dec05eba 6e407b0b62 Use better name for quality options to clearify that medium is actually very high quality, because people dont understand that 2022-09-29 17:34:32 +02:00
dec05eba 1db2282683 Remove dependency on glew and glfw, move external files to external directory 2022-09-28 01:03:06 +02:00
dec05eba febffdacc9 Load libcuda.so.1 if libcuda.so is missing 2022-09-26 01:57:35 +02:00
dec05eba 4fead183fe Load cuda at runtime. Include cuda header files inside the project 2022-09-26 01:26:45 +02:00
dec05eba 0059724fdc Read audio data from pulseaudio as it's available and buffer it. Fixes audio recording on pulseaudio (and some pipewire configs) 2022-09-22 01:44:45 +02:00
dec05eba ed15405d2f p5 for high 2022-04-05 16:33:39 +02:00
dec05eba 2423e50d44 Add screen-direct option for direct NvFBC 2022-03-24 00:38:35 +01:00
dec05eba c0a68e2063 Readd nvfbc cursor capture 2022-03-23 15:11:46 +01:00
dec05eba 4e6e9974fb Fix video/audio sync when recording display 2021-07-29 16:24:29 +02:00
dec05eba 905d430cda Fix recording display when a compositor is running 2021-07-29 15:33:41 +02:00
dec05eba 04d229caf3 Use direct capture when possible 2021-07-29 06:45:55 +02:00
dec05eba 4617e2c45a Add option to record a display or all displays. This requires nvfbc 2021-07-23 17:33:37 +02:00
dec05eba 4418871737 Add gpl license to files 2020-06-21 14:41:11 +02:00
dec05eba 32b66c95ff Add pulseaudio, parse command line args 2020-06-21 14:41:11 +02:00
dec05eba 2fcd3ee3e5 Add audio support 2020-06-21 14:41:11 +02:00