From 30283e75e3c5b38ac9a034f7d915ae1c9449eb23 Mon Sep 17 00:00:00 2001 From: Balian of Ibelin Date: Wed, 16 Oct 2024 20:23:59 +0300 Subject: [PATCH] add: `gpu-screen-recorder` --- packagelist | 1 + packages/gpu-screen-recorder/.SRCINFO | 105 ++++++++++++ .../gpu-screen-recorder.pacscript | 157 ++++++++++++++++++ srclist | 106 ++++++++++++ 4 files changed, 369 insertions(+) create mode 100644 packages/gpu-screen-recorder/.SRCINFO create mode 100644 packages/gpu-screen-recorder/gpu-screen-recorder.pacscript diff --git a/packagelist b/packagelist index 61ad2224fa..9a8dfe958c 100644 --- a/packagelist +++ b/packagelist @@ -189,6 +189,7 @@ google-chrome-unstable-deb google-earth-pro-stable-deb goverlay goverlay-bin +gpu-screen-recorder gradience gradience-git graillon diff --git a/packages/gpu-screen-recorder/.SRCINFO b/packages/gpu-screen-recorder/.SRCINFO new file mode 100644 index 0000000000..dc0b1cc790 --- /dev/null +++ b/packages/gpu-screen-recorder/.SRCINFO @@ -0,0 +1,105 @@ +pkgbase = gpu-screen-recorder + pkgver = 4.2.2 + pkgdesc = A shadowplay-like screen recorder for Linux + url = https://git.dec05eba.com/gpu-screen-recorder/about + arch = amd64 + depends = libglvnd0 + depends = libxcomposite1 + depends = libxrandr2 + depends = libxdamage1 + depends = libxfixes3 + depends = libx11-6 + depends = libpulse0 + depends = libva2 + depends = libdrm2 + depends = libcap2 + depends = libcap2-bin + depends = libwayland-client0 + depends = libwayland-egl1 + depends = libdbus-1-3 + depends = libvulkan1 + makedepends = meson + makedepends = libglvnd-dev + makedepends = libavcodec-dev + makedepends = libavformat-dev + makedepends = libavutil-dev + makedepends = libswresample-dev + makedepends = libavfilter-dev + makedepends = libxcomposite-dev + makedepends = libxrandr-dev + makedepends = libxdamage-dev + makedepends = libxfixes-dev + makedepends = libx11-dev + makedepends = libpulse-dev + makedepends = libva-dev + makedepends = libdrm-dev + makedepends = libcap-dev + makedepends = libwayland-dev + makedepends = libpipewire-0.3-dev + makedepends = libdbus-1-dev + makedepends = libxnvctrl-dev + makedepends = libvulkan-dev + optdepends = intel-media-va-driver-non-free: Required to record your screen on Intel Broadwell or later iGPUs + optdepends = mesa-va-drivers: Required to record your screen on AMD/Intel GPUs + optdepends = libxnvctrl0: Required when using the -oc option to overclock the NVIDIA GPU to workaround NVIDIA p2 state bug + license = GPL-3.0-only + maintainer = bibelin + repology = project:gpu-screen-recorder + source = https://dec05eba.com/snapshot/gpu-screen-recorder.git.4.2.2.tar.gz + sha256sums = b5fb7ed25e6523a3c51f0eaa4346b265699c2e371f9b25ed1bc041c8e28f3266 + depends_focal = libavcodec58 + depends_focal = libavutil56 + depends_focal = libavformat58 + depends_focal = libavfilter7 + depends_focal = libswresample3 + depends_focal = libpipewire-0.2-1 + depends_jammy = libavcodec58 + depends_jammy = libavutil56 + depends_jammy = libavformat58 + depends_jammy = libavfilter7 + depends_jammy = libswresample3 + depends_jammy = libpipewire-0.3-0 + depends_noble = libavcodec60 + depends_noble = libavutil58 + depends_noble = libavformat60 + depends_noble = libavfilter9 + depends_noble = libswresample4 + depends_noble = libpipewire-0.3-0t64 + depends_oracular = libavcodec61 + depends_oracular = libavutil59 + depends_oracular = libavformat61 + depends_oracular = libavfilter10 + depends_oracular = libswresample5 + depends_oracular = libpipewire-0.3-0t64 + depends_bullseye = libavcodec58 + depends_bullseye = libavutil56 + depends_bullseye = libavformat58 + depends_bullseye = libavfilter7 + depends_bullseye = libswresample3 + depends_bullseye = libpipewire-0.3-0 + depends_bookworm = libavcodec59 + depends_bookworm = libavutil57 + depends_bookworm = libavformat59 + depends_bookworm = libavfilter8 + depends_bookworm = libswresample4 + depends_bookworm = libpipewire-0.3-0 + depends_trixie = libavcodec61 + depends_trixie = libavutil59 + depends_trixie = libavformat61 + depends_trixie = libavfilter10 + depends_trixie = libswresample5 + depends_trixie = libpipewire-0.3-0t64 + depends_sid = libavcodec61 + depends_sid = libavutil59 + depends_sid = libavformat61 + depends_sid = libavfilter10 + depends_sid = libswresample5 + depends_sid = libpipewire-0.3-0t64 + optdepends_ubuntu = libnvidia-encode-390 | libnvidia-encode-418 | libnvidia-encode-430 | libnvidia-encode-440 | libnvidia-encode-450 | libnvidia-encode-455 | libnvidia-encode-460 | libnvidia-encode-465 | libnvidia-encode-470 | libnvidia-encode-495 | libnvidia-encode-510 | libnvidia-encode-515 | libnvidia-encode-520 | libnvidia-encode-525 | libnvidia-encode-530 | libnvidia-encode-535 | libnvidia-encode-545 | libnvidia-encode-550: Required to record your screen on NVIDIA + optdepends_ubuntu = libnvidia-compute-390 | libnvidia-compute-418 | libnvidia-compute-430 | libnvidia-compute-440 | libnvidia-compute-450 | libnvidia-compute-455 | libnvidia-compute-460 | libnvidia-compute-465 | libnvidia-compute-470 | libnvidia-compute-495 | libnvidia-compute-510 | libnvidia-compute-515 | libnvidia-compute-520 | libnvidia-compute-525 | libnvidia-compute-530 | libnvidia-compute-535 | libnvidia-compute-545 | libnvidia-compute-550: Required to record your screen on NVIDIA + optdepends_ubuntu = libnvidia-fbc1-390 | libnvidia-fbc1-418 | libnvidia-fbc1-430 | libnvidia-fbc1-440 | libnvidia-fbc1-450 | libnvidia-fbc1-455 | libnvidia-fbc1-460 | libnvidia-fbc1-465 | libnvidia-fbc1-470 | libnvidia-fbc1-495 | libnvidia-fbc1-510 | libnvidia-fbc1-515 | libnvidia-fbc1-520 | libnvidia-fbc1-525 | libnvidia-fbc1-530 | libnvidia-fbc1-535 | libnvidia-fbc1-545 | libnvidia-fbc1-550: Required to record your screen on NVIDIA on X11 + optdepends_debian = libnvidia-encode1: Required to record your screen on NVIDIA + optdepends_debian = libcuda1: Required to record your screen on NVIDIA + optdepends_debian = libnvidia-fbc1: Required to record your screen on NVIDIA on X11 + +pkgname = gpu-screen-recorder diff --git a/packages/gpu-screen-recorder/gpu-screen-recorder.pacscript b/packages/gpu-screen-recorder/gpu-screen-recorder.pacscript new file mode 100644 index 0000000000..5e188db079 --- /dev/null +++ b/packages/gpu-screen-recorder/gpu-screen-recorder.pacscript @@ -0,0 +1,157 @@ +pkgname="gpu-screen-recorder" +pkgdesc="A shadowplay-like screen recorder for Linux" +pkgver="4.2.2" +arch=("amd64") +url='https://git.dec05eba.com/gpu-screen-recorder/about' +repology=("project:gpu-screen-recorder") +license=("GPL-3.0-only") +source=("https://dec05eba.com/snapshot/gpu-screen-recorder.git.${pkgver}.tar.gz") +sha256sums=("b5fb7ed25e6523a3c51f0eaa4346b265699c2e371f9b25ed1bc041c8e28f3266") +makedepends=( + "meson" + "libglvnd-dev" + "libavcodec-dev" + "libavformat-dev" + "libavutil-dev" + "libswresample-dev" + "libavfilter-dev" + "libxcomposite-dev" + "libxrandr-dev" + "libxdamage-dev" + "libxfixes-dev" + "libx11-dev" + "libpulse-dev" + "libva-dev" + "libdrm-dev" + "libcap-dev" + "libwayland-dev" + "libpipewire-0.3-dev" + "libdbus-1-dev" + "libxnvctrl-dev" + "libvulkan-dev" +) +depends=( + "libglvnd0" + "libxcomposite1" + "libxrandr2" + "libxdamage1" + "libxfixes3" + "libx11-6" + "libpulse0" + "libva2" + "libdrm2" + "libcap2" + "libcap2-bin" + "libwayland-client0" + "libwayland-egl1" + "libdbus-1-3" + "libvulkan1" +) +depends_focal=( + "libavcodec58" + "libavutil56" + "libavformat58" + "libavfilter7" + "libswresample3" + "libpipewire-0.2-1" +) +depends_jammy=( + "libavcodec58" + "libavutil56" + "libavformat58" + "libavfilter7" + "libswresample3" + "libpipewire-0.3-0" +) +depends_mantic=( + "libavcodec60" + "libavutil58" + "libavformat60" + "libavfilter9" + "libswresample4" + "libpipewire-0.3-0" +) +depends_noble=( + "libavcodec60" + "libavutil58" + "libavformat60" + "libavfilter9" + "libswresample4" + "libpipewire-0.3-0t64" +) +depends_oracular=( + "libavcodec61" + "libavutil59" + "libavformat61" + "libavfilter10" + "libswresample5" + "libpipewire-0.3-0t64" +) +depends_bullseye=( + "libavcodec58" + "libavutil56" + "libavformat58" + "libavfilter7" + "libswresample3" + "libpipewire-0.3-0" +) +depends_bookworm=( + "libavcodec59" + "libavutil57" + "libavformat59" + "libavfilter8" + "libswresample4" + "libpipewire-0.3-0" +) +depends_trixie=( + "libavcodec61" + "libavutil59" + "libavformat61" + "libavfilter10" + "libswresample5" + "libpipewire-0.3-0t64" +) +depends_sid=( + "libavcodec61" + "libavutil59" + "libavformat61" + "libavfilter10" + "libswresample5" + "libpipewire-0.3-0t64" +) +optdepends=( + "intel-media-va-driver-non-free: Required to record your screen on Intel Broadwell or later iGPUs" + "mesa-va-drivers: Required to record your screen on AMD/Intel GPUs" + "libxnvctrl0: Required when using the -oc option to overclock the NVIDIA GPU to workaround NVIDIA p2 state bug" +) +optdepends_ubuntu=( + # These optdeps lines make pacstall hang for a while when resolving optional + # dependencies, but there seems to be no virtual or meta package to handle + # this better. + "libnvidia-encode-390 | libnvidia-encode-418 | libnvidia-encode-430 | libnvidia-encode-440 | libnvidia-encode-450 | libnvidia-encode-455 | libnvidia-encode-460 | libnvidia-encode-465 | libnvidia-encode-470 | libnvidia-encode-495 | libnvidia-encode-510 | libnvidia-encode-515 | libnvidia-encode-520 | libnvidia-encode-525 | libnvidia-encode-530 | libnvidia-encode-535 | libnvidia-encode-545 | libnvidia-encode-550: Required to record your screen on NVIDIA" + "libnvidia-compute-390 | libnvidia-compute-418 | libnvidia-compute-430 | libnvidia-compute-440 | libnvidia-compute-450 | libnvidia-compute-455 | libnvidia-compute-460 | libnvidia-compute-465 | libnvidia-compute-470 | libnvidia-compute-495 | libnvidia-compute-510 | libnvidia-compute-515 | libnvidia-compute-520 | libnvidia-compute-525 | libnvidia-compute-530 | libnvidia-compute-535 | libnvidia-compute-545 | libnvidia-compute-550: Required to record your screen on NVIDIA" + "libnvidia-fbc1-390 | libnvidia-fbc1-418 | libnvidia-fbc1-430 | libnvidia-fbc1-440 | libnvidia-fbc1-450 | libnvidia-fbc1-455 | libnvidia-fbc1-460 | libnvidia-fbc1-465 | libnvidia-fbc1-470 | libnvidia-fbc1-495 | libnvidia-fbc1-510 | libnvidia-fbc1-515 | libnvidia-fbc1-520 | libnvidia-fbc1-525 | libnvidia-fbc1-530 | libnvidia-fbc1-535 | libnvidia-fbc1-545 | libnvidia-fbc1-550: Required to record your screen on NVIDIA on X11" +) +optdepends_debian=( + "libnvidia-encode1: Required to record your screen on NVIDIA" + "libcuda1: Required to record your screen on NVIDIA" + "libnvidia-fbc1: Required to record your screen on NVIDIA on X11" +) +maintainer=("bibelin ") + +prepare() { + meson setup --buildtype=release --prefix=/usr -Dsystemd=true build +} + +build() { + ninja -C build -j"${NCPU}" +} + +package() { + meson install -C build --destdir="${pkgdir}" +} + +post_install() { + # Allows to avoid entring password when starting recording with "-w screen" + setcap cap_sys_admin+ep /usr/bin/gsr-kms-server +} diff --git a/srclist b/srclist index 240cba540f..c29f3e9980 100644 --- a/srclist +++ b/srclist @@ -3618,6 +3618,112 @@ pkgbase = goverlay pkgname = goverlay --- +pkgbase = gpu-screen-recorder + pkgver = 4.2.2 + pkgdesc = A shadowplay-like screen recorder for Linux + url = https://git.dec05eba.com/gpu-screen-recorder/about + arch = amd64 + depends = libglvnd0 + depends = libxcomposite1 + depends = libxrandr2 + depends = libxdamage1 + depends = libxfixes3 + depends = libx11-6 + depends = libpulse0 + depends = libva2 + depends = libdrm2 + depends = libcap2 + depends = libcap2-bin + depends = libwayland-client0 + depends = libwayland-egl1 + depends = libdbus-1-3 + depends = libvulkan1 + makedepends = meson + makedepends = libglvnd-dev + makedepends = libavcodec-dev + makedepends = libavformat-dev + makedepends = libavutil-dev + makedepends = libswresample-dev + makedepends = libavfilter-dev + makedepends = libxcomposite-dev + makedepends = libxrandr-dev + makedepends = libxdamage-dev + makedepends = libxfixes-dev + makedepends = libx11-dev + makedepends = libpulse-dev + makedepends = libva-dev + makedepends = libdrm-dev + makedepends = libcap-dev + makedepends = libwayland-dev + makedepends = libpipewire-0.3-dev + makedepends = libdbus-1-dev + makedepends = libxnvctrl-dev + makedepends = libvulkan-dev + optdepends = intel-media-va-driver-non-free: Required to record your screen on Intel Broadwell or later iGPUs + optdepends = mesa-va-drivers: Required to record your screen on AMD/Intel GPUs + optdepends = libxnvctrl0: Required when using the -oc option to overclock the NVIDIA GPU to workaround NVIDIA p2 state bug + license = GPL-3.0-only + maintainer = bibelin + repology = project:gpu-screen-recorder + source = https://dec05eba.com/snapshot/gpu-screen-recorder.git.4.2.2.tar.gz + sha256sums = b5fb7ed25e6523a3c51f0eaa4346b265699c2e371f9b25ed1bc041c8e28f3266 + depends_focal = libavcodec58 + depends_focal = libavutil56 + depends_focal = libavformat58 + depends_focal = libavfilter7 + depends_focal = libswresample3 + depends_focal = libpipewire-0.2-1 + depends_jammy = libavcodec58 + depends_jammy = libavutil56 + depends_jammy = libavformat58 + depends_jammy = libavfilter7 + depends_jammy = libswresample3 + depends_jammy = libpipewire-0.3-0 + depends_noble = libavcodec60 + depends_noble = libavutil58 + depends_noble = libavformat60 + depends_noble = libavfilter9 + depends_noble = libswresample4 + depends_noble = libpipewire-0.3-0t64 + depends_oracular = libavcodec61 + depends_oracular = libavutil59 + depends_oracular = libavformat61 + depends_oracular = libavfilter10 + depends_oracular = libswresample5 + depends_oracular = libpipewire-0.3-0t64 + depends_bullseye = libavcodec58 + depends_bullseye = libavutil56 + depends_bullseye = libavformat58 + depends_bullseye = libavfilter7 + depends_bullseye = libswresample3 + depends_bullseye = libpipewire-0.3-0 + depends_bookworm = libavcodec59 + depends_bookworm = libavutil57 + depends_bookworm = libavformat59 + depends_bookworm = libavfilter8 + depends_bookworm = libswresample4 + depends_bookworm = libpipewire-0.3-0 + depends_trixie = libavcodec61 + depends_trixie = libavutil59 + depends_trixie = libavformat61 + depends_trixie = libavfilter10 + depends_trixie = libswresample5 + depends_trixie = libpipewire-0.3-0t64 + depends_sid = libavcodec61 + depends_sid = libavutil59 + depends_sid = libavformat61 + depends_sid = libavfilter10 + depends_sid = libswresample5 + depends_sid = libpipewire-0.3-0t64 + optdepends_ubuntu = libnvidia-encode-390 | libnvidia-encode-418 | libnvidia-encode-430 | libnvidia-encode-440 | libnvidia-encode-450 | libnvidia-encode-455 | libnvidia-encode-460 | libnvidia-encode-465 | libnvidia-encode-470 | libnvidia-encode-495 | libnvidia-encode-510 | libnvidia-encode-515 | libnvidia-encode-520 | libnvidia-encode-525 | libnvidia-encode-530 | libnvidia-encode-535 | libnvidia-encode-545 | libnvidia-encode-550: Required to record your screen on NVIDIA + optdepends_ubuntu = libnvidia-compute-390 | libnvidia-compute-418 | libnvidia-compute-430 | libnvidia-compute-440 | libnvidia-compute-450 | libnvidia-compute-455 | libnvidia-compute-460 | libnvidia-compute-465 | libnvidia-compute-470 | libnvidia-compute-495 | libnvidia-compute-510 | libnvidia-compute-515 | libnvidia-compute-520 | libnvidia-compute-525 | libnvidia-compute-530 | libnvidia-compute-535 | libnvidia-compute-545 | libnvidia-compute-550: Required to record your screen on NVIDIA + optdepends_ubuntu = libnvidia-fbc1-390 | libnvidia-fbc1-418 | libnvidia-fbc1-430 | libnvidia-fbc1-440 | libnvidia-fbc1-450 | libnvidia-fbc1-455 | libnvidia-fbc1-460 | libnvidia-fbc1-465 | libnvidia-fbc1-470 | libnvidia-fbc1-495 | libnvidia-fbc1-510 | libnvidia-fbc1-515 | libnvidia-fbc1-520 | libnvidia-fbc1-525 | libnvidia-fbc1-530 | libnvidia-fbc1-535 | libnvidia-fbc1-545 | libnvidia-fbc1-550: Required to record your screen on NVIDIA on X11 + optdepends_debian = libnvidia-encode1: Required to record your screen on NVIDIA + optdepends_debian = libcuda1: Required to record your screen on NVIDIA + optdepends_debian = libnvidia-fbc1: Required to record your screen on NVIDIA on X11 + +pkgname = gpu-screen-recorder +--- pkgbase = gradience-git pkgver = 0.8.0-beta2 pkgdesc = Change the look of Adwaita, with ease