diff --git a/srcpkgs/gpu-screen-recorder-ui/files/README.voidlinux b/srcpkgs/gpu-screen-recorder-ui/files/README.voidlinux new file mode 100644 index 00000000000000..f5310195cf9a02 --- /dev/null +++ b/srcpkgs/gpu-screen-recorder-ui/files/README.voidlinux @@ -0,0 +1,48 @@ +GPU Screen Recorder UI (MGL++) - Void Linux Notes +==================================== +1: High-performance (KMS) recording: + KMS recording may require additional privileges. + See /usr/share/doc/gpu-screen-recorder/README.voidlinux for details. + +2. Global Hotkeys and Virtual Input: + To use global hotkeys and virtual keyboard features, your user must + have permission to access input devices and uinput. + + Step A: Add your user to the 'input' group: + # usermod -aG input + + Step B: + (Recommended) Create a udev rule for uinput: + Create a file /etc/udev/rules.d/99-uinput.rules with: + KERNEL=="uinput", GROUP="input", MODE="0660", OPTIONS+="static_node=uinput" + + After these steps, REBOOT or reload rules and re-login: + # udevadm control --reload-rules && udevadm trigger + NOTE: Adding a user to the 'input' group allows any application running under that user + to read all keystrokes. This is a trade-off for global hotkey support. + + or + + Set SUID bit to gsr-global-hotkeys library: + # chmod 4755 /usr/bin/gsr-global-hotkeys + 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. + +No privilege escalation is performed automatically by the package. +It is up to the system administrator to choose the appropriate +configuration. + +3. Wayland Support: + - For Hyprland: Ensure 'gsr-hyprland-helper' is in your PATH. + - For KDE Plasma: Ensure 'gsr-kwin-helper' is in your PATH. + +4. Autostart: + - The "Autostart" button in the UI is hardcoded for systemd and will not work. + To enable daemon on startup, manually add "gsr-ui launch-daemon" + to your desktop environment's autostart settings or copy the provided + desktop file: + # cp /usr/share/applications/gsr-ui-daemon.desktop ~/.config/autostart/ + or + # cp /usr/share/applications/gsr-ui-daemon.desktop /etc/xdg/autostart/ + diff --git a/srcpkgs/gpu-screen-recorder-ui/files/gsr-ui-daemon.desktop b/srcpkgs/gpu-screen-recorder-ui/files/gsr-ui-daemon.desktop new file mode 100755 index 00000000000000..4dc69e32f1da97 --- /dev/null +++ b/srcpkgs/gpu-screen-recorder-ui/files/gsr-ui-daemon.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Name=GPU Screen Recorder UI (Autostart) +Comment=Comment=Start the hotkey and overlay daemon for GSR +Exec=gsr-ui launch-daemon +Icon=gpu-screen-recorder +Type=Application diff --git a/srcpkgs/gpu-screen-recorder-ui/template b/srcpkgs/gpu-screen-recorder-ui/template new file mode 100644 index 00000000000000..83170a88544065 --- /dev/null +++ b/srcpkgs/gpu-screen-recorder-ui/template @@ -0,0 +1,25 @@ +# Template file for 'gpu-screen-recorder-ui' +pkgname=gpu-screen-recorder-ui +version=1.10.7 +revision=1 +build_style=meson +hostmakedepends="pkg-config meson desktop-file-utils wayland-devel" +makedepends="libX11-devel libXrandr-devel libXrender-devel libXcomposite-devel + libXfixes-devel libXext-devel libXi-devel libXcursor-devel libglvnd-devel + pulseaudio-devel libdrm-devel dbus-devel libcap-devel wayland-devel" +depends="gpu-screen-recorder gpu-screen-recorder-notification" +short_desc="ShadowPlay-like UI for gpu-screen-recorder" +maintainer="cherrybtw " +license="GPL-3.0-only, OFL-1.1, CC-BY-SA-3.0, CC0-1.0, CC-BY-4.0" +homepage="https://git.dec05eba.com/gpu-screen-recorder-ui/about" +distfiles="https://dec05eba.com/snapshot/gpu-screen-recorder-ui.git.${version}.tar.gz" +checksum=8644045c0e5786552aaa747dde8c0441dc01d16783971fb2c22aa47f08a9470e + +post_patch() { + vsed -i "s/meson.add_install_script/# meson.add_install_script/" meson.build +} + +post_install() { + vdoc ${FILESDIR}/README.voidlinux + vinstall ${FILESDIR}/gsr-ui-daemon.desktop 644 /usr/share/applications/ +} diff --git a/srcpkgs/gpu-screen-recorder-ui/update b/srcpkgs/gpu-screen-recorder-ui/update new file mode 100644 index 00000000000000..ad45c403fbeb50 --- /dev/null +++ b/srcpkgs/gpu-screen-recorder-ui/update @@ -0,0 +1,2 @@ +site="https://git.dec05eba.com/gpu-screen-recorder-ui/refs/" +pattern="tag/\?h=\K[\d.]+"