dec05eba
0b2b4c0b03
Dont do glClear/glSwapBuffers on nvidia wayland, it's not needed
2023-07-22 23:32:58 +02:00
dec05eba
d45597e104
Exit with exit code 10 if pkexec fails
2023-07-22 23:22:51 +02:00
dec05eba
9ca5b8ec3a
Fix cursor offset in kms grab (amd/intel), disable wlroots capture until its fixed
2023-07-22 20:12:41 +02:00
dec05eba
4de23c2556
Temp disable cursor fix
2023-07-22 05:13:23 +02:00
dec05eba
b898bddb63
Hide cursor when it's on another display 2
2023-07-22 04:56:50 +02:00
dec05eba
4e8c47a154
Hide cursor when it's on another display
2023-07-22 04:38:08 +02:00
dec05eba
60de2c47be
Use correct offset for combined plane monitor capture
2023-07-22 04:12:02 +02:00
dec05eba
22a0a01553
AMD/Intel capture cursor
2023-07-22 02:57:38 +02:00
dec05eba
fc316750b8
Fix monitor capture on amd/intel + x11
2023-07-21 19:30:09 +02:00
dec05eba
8b0723a4f2
Fix window capture
2023-07-21 19:12:24 +02:00
dec05eba
a1d31a5cf0
Fix capture not working on intel + wayland
...
Ignore nouveau cards.
Fix lag on start of recording on amd/intel by only loading egl once,
on startup.
2023-07-21 18:56:34 +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
585382cf18
More kms vaapi allow to work without xwayland
2023-07-18 07:06:12 +02:00
dec05eba
a3beaeb0cc
Fix green screen sometimes when capturing amd/intel window
2023-07-18 06:00:36 +02:00
dec05eba
b2644a9881
Fix wayland capture on amd/intel
2023-07-18 03:21:16 +02:00
dec05eba
0a2806972f
Experimental wayland support, test 1
2023-07-18 02:14:27 +02:00
dec05eba
0b79f14443
p
2023-07-10 17:15:59 +02:00
dec05eba
d6d17e55e0
Attempt to make active card detection more robust
2023-07-10 01:29:43 +02:00
dec05eba
f38ed36271
Test fix using correct gpu when multiple gpus are connected
2023-07-09 23:30:38 +02:00
dec05eba
e158cb2a8b
Translate -c mkv to -c matroska
2023-06-20 20:31:06 +02:00
dec05eba
ba86d20b2d
kms rot old behavior back
2023-06-10 01:51:47 +02:00
dec05eba
b290f76372
kms: fix multi monitor coordinate being incorrect in some cases
2023-06-10 01:39:58 +02:00
dec05eba
95290bc031
Attempt to fix merged display coordinates in kms
2023-06-10 01:15:10 +02:00
dec05eba
66dbfe69a4
Mention that only h264/hevc is supported at the moment
2023-06-07 19:30:39 +02:00
dec05eba
7e2ade27a7
Make sure window id hex starts with 0x (makes monitor recording more reliable), allow CC and CXX to set compiler for build
2023-06-04 13:49:47 +02:00
dec05eba
41176177c6
Update readme about flatpak
2023-05-29 00:43:59 +02:00
dec05eba
561ceb1949
Attempt to fix nvidia driver bug at program exit (freeze) by exit without atexit
2023-05-22 18:36:19 +02:00
dec05eba
6641eda702
Use av_packet_alloc instead of deprecated memset on packet size
2023-05-18 14:40:42 +02:00
dec05eba
6cff1a49d2
Fix all warnings
2023-05-17 18:49:16 +02:00
dec05eba
26571094aa
kms_vaapi: fix regression, screen rotation not working when capturing screen
2023-05-12 05:03:12 +02:00
dec05eba
99dbbd07ab
kms_vaapi: support multiple drm planes (fixes capture on some multi monitor systems)
2023-05-12 03:49:29 +02:00
dec05eba
25af1c81d0
manjaro *****
2023-04-27 20:42:44 +02:00
dec05eba
ec22eb6da4
Temporary disable opus/flac because it breaks multiple audio, fix possible audio/video desync on nvidia
2023-04-27 13:57:01 +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
2021456be0
Fix focused window follow failing on vaapi for the first window. Also dont error on fail to focus window
2023-04-22 02:12:04 +02:00
dec05eba
72594e3d45
vaapi window capture: resizing window should make the window have its original size instead of resized to video size
2023-04-22 02:11:57 +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
b6227c07f2
Use x11 event loop with XPending instead of XCheckTypedWindowEvent
2023-04-21 20:23:11 +02:00
dec05eba
690065da0f
Only capture frame if num frames to capture > 0
2023-04-18 22:31:44 +02:00
dec05eba
03ef7d0964
Show shorter form of help on argument error
2023-04-18 18:41:06 +02:00
dec05eba
7749ba8327
Replace tabs with 4 spaces
2023-04-18 18:34:23 +02:00
XnipS
e985e8e18e
Made fps update toggleable
2023-04-18 18:32:04 +02:00
dec05eba
c0ebae365d
Find /dev/dri/card path that exists (the first one)
2023-04-16 22:50:43 +02:00
dec05eba
d953d0bb36
Use XDG_RUNTIME_DIR (and flatpak specific dir) and /dev/dri/renderD128 instead of /dev/dri/card0 (fixes capture on some systems)
2023-04-16 22:05:09 +02:00
dec05eba
c510bc5ae5
Remove extra swapBuffer in kms capture
2023-04-15 20:39:02 +02:00
dec05eba
c9c615d4c7
Apply rotation fix for intel as well (for kms capture)
2023-04-15 19:41:49 +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
45a64316b4
Move back receive packet to main thread
...
Fixes crash if encode fps is less than capture fps
2023-04-13 23:44:23 +02:00
dec05eba
7c4714956c
Move back video encoding to main thread, move receive packet to separate thread
...
When video is encoded at slower than capture rate that would
cause a crash (happens on steam deck).
2023-04-13 03:12:53 +02:00
dec05eba
2fdc73ffab
Temporary disable monitor recording on amd/intel
2023-04-11 00:48:59 +02:00
dec05eba
e7020376e9
Remove kms modifier
2023-04-11 00:29:12 +02:00
dec05eba
cc7cf8197e
Revert "amd/intel: use xrgb format, use drm prime 2"
...
This reverts commit 2f665e9d53
.
2023-04-11 00:27:34 +02:00
dec05eba
2f665e9d53
amd/intel: use xrgb format, use drm prime 2
2023-04-11 00:06:47 +02:00
dec05eba
b150acb66e
amd test 2
2023-04-10 23:38:45 +02:00
dec05eba
32459991c0
Recreate surface every frame :(
2023-04-10 23:21:07 +02:00
dec05eba
6d75615e1d
aaa
2023-04-10 23:03:52 +02:00
dec05eba
6f9d17fad5
Dont create va surface every frame for kms (test)
2023-04-10 22:50:41 +02:00
dec05eba
59046178c4
Remove unecessary vaCreatebuffer every frame
2023-04-10 22:46:56 +02:00
dec05eba
4996266f28
Amd monitor recording fixed, remove unused modifier code
2023-04-10 21:32:10 +02:00
dec05eba
b298129f3b
test kms
2023-04-10 20:59:43 +02:00
dec05eba
2e74aad58b
Debug amd kms err
2023-04-10 20:41:30 +02:00
dec05eba
c8e45e67bd
Cleanup of aframe if same pts
2023-04-10 06:17:45 +02:00
dec05eba
f2ae6eb05e
Fix messed up audio pts when merging audio
2023-04-10 06:13:24 +02:00
dec05eba
895768104f
Revert "Revert: encoding video on separate thread"
...
This reverts commit ce9465b391
.
2023-04-10 06:07:48 +02:00
dec05eba
ce9465b391
Revert: encoding video on separate thread
2023-04-10 04:44:29 +02:00
dec05eba
ce5e0169c4
kms: fix crash on intel when using hevc, remove debug print, remove jpeg color range (incorrect colors on intel h264)
2023-04-10 02:38:47 +02:00
dec05eba
dddd426904
kms: get plane every frame, might fix not updating issue and issue where plane gets invalid
2023-04-10 02:25: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
e3702f147f
Use flatpak-spawn in flatpak
2023-04-08 07:12:45 +02:00
dec05eba
d8d0e739e7
Only use flatpak-spawn if inside flatpak, use gsr-kms-server in PATH
2023-04-08 07:05:30 +02:00
dec05eba
bed3a2c681
test
2023-04-08 06:53:37 +02:00
dec05eba
5247787fcf
pkexec test
2023-04-08 06:23:15 +02:00
dec05eba
be388cda5f
kms permission ok if running as root, no pkexec needed
2023-04-08 05:50:43 +02:00
dec05eba
de72b93b0d
Better amd/intel quality tuning
2023-04-08 02:03:50 +02:00
dec05eba
75ed160122
Implement kms vaapi capture
2023-04-07 05:31:46 +02:00
dec05eba
10d7bf93e8
Cleanup replay packets after use
2023-04-03 10:45:00 +02:00
dec05eba
711379899b
Fix -k description
2023-04-02 15:36:59 +02:00
dec05eba
cc63bffaf7
Dont initialize vaapi on nvidia (fixes crash on startup)
2023-04-01 23:24:12 +02:00
Steam Deck User
c720d38978
Rename drm to vaapi
2023-04-01 19:05:56 +02:00
Steam Deck User
29237c7116
Cleanup xcomposite_drm
2023-04-01 19:01:20 +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
162eac8c2f
Xsync after overclock (and reset), dont set colorspace data
2023-04-01 13:48:59 +02:00
dec05eba
8c6e526318
Make sure region size for focused window is divisable by 2
2023-03-31 04:37:44 +02:00
dec05eba
82e3720084
Install coolbits if using nvidia, add preserve video memory install script
2023-03-31 01:11:12 +02:00
dec05eba
f57b641d6d
Better usage formatting
2023-03-27 23:36:27 +02:00
dec05eba
bd925e0beb
Add code for variable framerate
2023-03-26 20:54:08 +02:00
dec05eba
d92ecea69e
Remove yuv444 for now
2023-03-26 19:04:51 +02:00
dec05eba
5d80bd886c
Move video encoding to separate thread, remove pixel_format that doesn't do anything and was bugged
2023-03-26 19:04:51 +02:00
dec05eba
716cb5b448
Add pixfmt yuv420p/yuv444p option to set lossless color
2023-03-26 19:04:51 +02:00
dec05eba
f3c24b3c8b
Remove unused and invalid flags
2023-03-26 19:04:51 +02:00
dec05eba
d4b8833fdd
Remove unused code
2023-03-26 19:04:51 +02:00
dec05eba
8592a46929
Do not automatically install coolbits because if used on amd/intel then xorg wont boot
2023-03-24 02:00:38 +01:00
dec05eba
78398f9bdd
Add error message if using wayland (without xwayland) or xwayland
2023-03-21 22:28:52 +01:00
dec05eba
5107d24541
Update readme
2023-03-17 18:32:24 +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
689419a782
Fix for ffmpeg 6 (nvenc hevc doesn't support b frames)
2023-03-10 10:16:09 +01:00