Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions srcpkgs/gpu-screen-recorder/files/README.voidlinux
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
gpu-screen-recorder supports multiple modes of operation.

By default, gpu-screen-recorder runs without elevated privileges.
This mode is sufficient for most use cases, but may have limitations
when recording using KMS (Wayland/X11).

For high-performance KMS recording, elevated privileges are required.
Upstream provides several possible approaches:

1) Linux capabilities (prefered by upstream):

# setcap cap_sys_admin+ep /usr/bin/gsr-kms-server

Note: cap_sys_admin is a very powerful capability and should be
granted with care.

2) setuid root (NOT recommended):

# chmod 4755 /usr/bin/gsr-kms-server

WARNING: This allows the binary to run with full root privileges.
This approach significantly increases the attack surface and
should only be used if you fully understand the risks.

3) pkexec (if XDG portals are properly configured):

gpu-screen-recorder can invoke privileged operations via pkexec
when portals are available.

On Wayland systems, using portal-based capture (-w portal) is recommended
and does not require any elevated privileges.

No privilege escalation is performed automatically by the package.
It is up to the system administrator to choose the appropriate
configuration.
24 changes: 24 additions & 0 deletions srcpkgs/gpu-screen-recorder/template
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Template file for 'gpu-screen-recorder'
pkgname=gpu-screen-recorder
version=5.12.3
revision=1
build_style=meson
hostmakedepends="meson ninja pkg-config wayland-devel"
makedepends="ffmpeg-devel libcap-devel libdrm-devel libglvnd-devel
libva-devel libX11-devel libXcomposite-devel libXcursor-devel
libXdamage-devel libXext-devel libXfixes-devel libXi-devel
libXinerama-devel libXrandr-devel pipewire-devel pulseaudio-devel"
short_desc="Extremely fast screen recorder for Linux"
maintainer="cherrybtw <nonopenoid123456789@gmail.com>"
license="GPL-3.0-only"
homepage="https://git.dec05eba.com/gpu-screen-recorder/about"
distfiles="https://dec05eba.com/snapshot/gpu-screen-recorder.git.${version}.tar.gz"
checksum=66b483f910a71d0b3320ca9a87cf8b16f97ca0db1dab324184c7c5a876203bdd

post_patch() {
vsed -i "/meson_post_install.sh/d" meson.build
}

post_install() {
vdoc ${FILESDIR}/README.voidlinux
}
3 changes: 3 additions & 0 deletions srcpkgs/gpu-screen-recorder/update
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
site="https://git.dec05eba.com/gpu-screen-recorder/refs/"
pattern="tag/\?h=\K[\d.]+"