aboutsummaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
Diffstat (limited to 'extra')
-rw-r--r--extra/gpu-screen-recorder.env12
-rw-r--r--extra/gpu-screen-recorder.service14
-rwxr-xr-xextra/install_preserve_video_memory.sh8
-rwxr-xr-xextra/meson_post_install.sh10
4 files changed, 33 insertions, 11 deletions
diff --git a/extra/gpu-screen-recorder.env b/extra/gpu-screen-recorder.env
new file mode 100644
index 0000000..664fa5d
--- /dev/null
+++ b/extra/gpu-screen-recorder.env
@@ -0,0 +1,12 @@
+WINDOW=screen
+CONTAINER=mp4
+CODEC=h264
+AUDIO_CODEC=opus
+AUDIO_DEVICE=default_output
+SECONDARY_AUDIO_DEVICE=default_input
+FRAMERATE=60
+REPLAYDURATION=60
+OUTPUTDIR=/run/media/dec05eba/SSD1TB/Videos/aaaa
+KEYINT=2
+ENCODER=gpu
+RESTORE_PORTAL_SESSION=yes \ No newline at end of file
diff --git a/extra/gpu-screen-recorder.service b/extra/gpu-screen-recorder.service
index 61009be..7054e17 100644
--- a/extra/gpu-screen-recorder.service
+++ b/extra/gpu-screen-recorder.service
@@ -5,15 +5,23 @@ Description=GPU Screen Recorder Service
EnvironmentFile=-%h/.config/gpu-screen-recorder.env
Environment=WINDOW=screen
Environment=CONTAINER=mp4
-Environment=QUALITY=very_high
+Environment=QUALITY=40000
+Environment=BITRATE_MODE=cbr
Environment=CODEC=auto
Environment=AUDIO_CODEC=opus
-Environment=AUDIO_DEVICE=
+Environment=AUDIO_DEVICE=default_output
+Environment=SECONDARY_AUDIO_DEVICE=
Environment=FRAMERATE=60
Environment=REPLAYDURATION=60
Environment=OUTPUTDIR=%h/Videos
Environment=MAKEFOLDERS=no
-ExecStart=/bin/sh -c 'AUDIO="${AUDIO_DEVICE:-$(pactl get-default-sink).monitor}"; gpu-screen-recorder -v no -w $WINDOW -c $CONTAINER -q $QUALITY -k $CODEC -ac $AUDIO_CODEC -a "$AUDIO" -f $FRAMERATE -r $REPLAYDURATION -o "$OUTPUTDIR" -mf $MAKEFOLDERS $ADDITIONAL_ARGS'
+Environment=COLOR_RANGE=limited
+Environment=KEYINT=2
+Environment=ENCODER=gpu
+Environment=RESTORE_PORTAL_SESSION=yes
+Environment=OUTPUT_RESOLUTION=0x0
+Environment=ADDITIONAL_ARGS=
+ExecStart=gpu-screen-recorder -v no -w "${WINDOW}" -s "${OUTPUT_RESOLUTION}" -c "${CONTAINER}" -q "${QUALITY}" -k "${CODEC}" -ac "${AUDIO_CODEC}" -a "${AUDIO_DEVICE}" -a "${SECONDARY_AUDIO_DEVICE}" -f "${FRAMERATE}" -r "${REPLAYDURATION}" -o "${OUTPUTDIR}" -df "${MAKEFOLDERS}" $ADDITIONAL_ARGS -cr "${COLOR_RANGE}" -keyint "${KEYINT}" -restore-portal-session "${RESTORE_PORTAL_SESSION}" -encoder "${ENCODER}" -bm "${BITRATE_MODE}"
KillSignal=SIGINT
Restart=on-failure
RestartSec=5s
diff --git a/extra/install_preserve_video_memory.sh b/extra/install_preserve_video_memory.sh
deleted file mode 100755
index c5cf658..0000000
--- a/extra/install_preserve_video_memory.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-script_dir=$(dirname "$0")
-cd "$script_dir"
-
-[ $(id -u) -ne 0 ] && echo "You need root privileges to run the install script" && exit 1
-
-install -Dm644 gsr-nvidia.conf /etc/modprobe.d/gsr-nvidia.conf
diff --git a/extra/meson_post_install.sh b/extra/meson_post_install.sh
new file mode 100755
index 0000000..8a01b18
--- /dev/null
+++ b/extra/meson_post_install.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+# Needed to remove password prompt when recording a monitor (without desktop portal option) on amd/intel or nvidia wayland
+/usr/sbin/setcap cap_sys_admin+ep ${MESON_INSTALL_DESTDIR_PREFIX}/bin/gsr-kms-server \
+ || echo "\n!!! Please re-run install as root\n"
+
+# This is needed (for EGL_CONTEXT_PRIORITY_HIGH_IMG) to allow gpu screen recorder to run faster than the heaviest application on AMD.
+# For example when trying to record a game at 60 fps and the game drops to 45 fps in some place that would also make gpu screen recorder
+# drop to 45 fps unless this setcap is used. Recording would also drop to below 60 fps in some games even though they run above 60 fps.
+/usr/sbin/setcap cap_sys_nice+ep ${MESON_INSTALL_DESTDIR_PREFIX}/bin/gpu-screen-recorder