Commit Graph

428 Commits

Author SHA1 Message Date
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
4e59a9b4b6 Remove mention of PRIME, not needed anymore 2023-04-15 02:47:04 +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
bbe5a526af mm 2023-04-12 20:38:08 +02:00
dec05eba
95465c6a8e Add crypto donation addresses, for the many that have asked to donate 2023-04-11 04:58:22 +02:00
dec05eba
069e9b9de4 nvidia prime 2023-04-11 01:27:15 +02:00
dec05eba
5ea4e7fff1 readme 2023-04-11 00:50:20 +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
9bdbca864d TODO fixed 2023-04-09 17:47:18 +02:00
dec05eba
efea5741ca Put gsr kms socket in HOME (with random characters) to make sure it works in flatpak as well 2023-04-09 16:39:19 +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
8d250f7e33 Improve doc (wayland not supported) 2023-04-08 02:34:29 +02:00
dec05eba
226d66d7bf version 2.0.0 2023-04-08 02:19:47 +02:00
dec05eba
de72b93b0d Better amd/intel quality tuning 2023-04-08 02:03:50 +02:00
dec05eba
6a92aaba7f Remove ubuntu specific install scripts 2023-04-08 02:00:52 +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
e301925d98 Use same identifier as device in xorg.conf by default (and screen) to fix overclock match 2023-04-03 10:28:51 +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
9f0b98dc5e Add install script for amd/intel for ubuntu 2023-04-01 19:23:34 +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