From 8527da929cea04049abfdd67497eac67b88eff96 Mon Sep 17 00:00:00 2001 From: Daniel Bermond Date: Tue, 23 Sep 2025 13:14:04 -0300 Subject: [PATCH] Add fix for cuda 13. Disable libnpp. npp filters (like scale_npp, from libnpp) are not compatible with cuda 13. A comment[1] from a ffmpeg developer indicates that libnpp is to be considered deprecated and that npp filters will not receive any compatibility fixes. He also said that libnpp eventually may be disabled in future ffmpeg commits by the configure script if it detects a newer libnpp version. [1] https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/20191#issuecomment-6514 --- .SRCINFO | 6 +++++- 090-ffmpeg-cuda13-fix.patch | 11 +++++++++++ PKGBUILD | 9 +++++++-- 3 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 090-ffmpeg-cuda13-fix.patch diff --git a/.SRCINFO b/.SRCINFO index ded77cb..4bc377d 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = ffmpeg-full pkgdesc = Complete solution to record, convert and stream audio and video (all possible features including libfdk-aac) pkgver = 7.1.1 - pkgrel = 5 + pkgrel = 6 url = https://www.ffmpeg.org/ arch = x86_64 license = LicenseRef-nonfree-and-unredistributable @@ -31,7 +31,9 @@ pkgbase = ffmpeg-full depends = freetype2 depends = frei0r-plugins depends = fribidi + depends = gcc-libs depends = glib2 + depends = glibc depends = glslang depends = gnutls depends = gsm @@ -159,6 +161,7 @@ pkgbase = ffmpeg-full source = 060-ffmpeg-svt-av1-3.0.0-fix.patch::https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/d1ed5c06e3edc5f2b5f3664c80121fa55b0baa95 source = 070-ffmpeg-fix-cuda-nvcc-with-gcc14.patch source = 080-ffmpeg-lcevcdec4.0.0-fix.patch + source = 090-ffmpeg-cuda13-fix.patch source = LICENSE validpgpkeys = FCF986EA15E6E293A5644F10B4322F04D67658D8 sha256sums = 733984395e0dbbe5c046abda2dc49a5544e7e0e1e2366bba849222ae9e3a03b1 @@ -173,6 +176,7 @@ pkgbase = ffmpeg-full sha256sums = b83ba1efdfec19ac54d1b0395a98d02039fe9d45bec1e6473e57a6288a304884 sha256sums = e670e6ed4e6e614a248cedd9de461ddce2321d2fef982861c86639eaa65dce23 sha256sums = 2ff4ba31e43d6d397542ec25df224cef01cf501409e202255e9414e482ba14cf + sha256sums = 24976a8d632e4540350fbe25d3debc0305b5d1116cc79b176144957c157dbcf8 sha256sums = 04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36 pkgname = ffmpeg-full diff --git a/090-ffmpeg-cuda13-fix.patch b/090-ffmpeg-cuda13-fix.patch new file mode 100644 index 0000000..6177f16 --- /dev/null +++ b/090-ffmpeg-cuda13-fix.patch @@ -0,0 +1,11 @@ +--- a/configure ++++ b/configure +@@ -4705,7 +4705,7 @@ set_default nvcc + + if enabled cuda_nvcc; then + if $nvcc $nvccflags_default 2>&1 | grep -qi unsupported; then +- nvccflags_default="-gencode arch=compute_60,code=sm_60 -O2" ++ nvccflags_default="-gencode arch=compute_75,code=sm_75 -O2" + fi + fi + diff --git a/PKGBUILD b/PKGBUILD index 8213846..9c7b146 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -3,7 +3,7 @@ pkgname=ffmpeg-full pkgver=7.1.1 -pkgrel=5 +pkgrel=6 _svt_hevc_ver='ed80959ebb5586aa7763c91a397d44be1798587c' _svt_vp9_ver='3b9a3fa43da4cc5fe60c7d22afe2be15341392ea' _obs_studio_ver='31.1.2' @@ -27,7 +27,9 @@ depends=( 'freetype2' 'frei0r-plugins' # loaded on-demand by dlopen() 'fribidi' + 'gcc-libs' 'glib2' + 'glibc' 'glslang' 'gnutls' 'gsm' @@ -166,6 +168,7 @@ source=("https://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.xz"{,.asc} '060-ffmpeg-svt-av1-3.0.0-fix.patch'::'https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/d1ed5c06e3edc5f2b5f3664c80121fa55b0baa95' '070-ffmpeg-fix-cuda-nvcc-with-gcc14.patch' '080-ffmpeg-lcevcdec4.0.0-fix.patch' + '090-ffmpeg-cuda13-fix.patch' 'LICENSE') sha256sums=('733984395e0dbbe5c046abda2dc49a5544e7e0e1e2366bba849222ae9e3a03b1' 'SKIP' @@ -179,6 +182,7 @@ sha256sums=('733984395e0dbbe5c046abda2dc49a5544e7e0e1e2366bba849222ae9e3a03b1' 'b83ba1efdfec19ac54d1b0395a98d02039fe9d45bec1e6473e57a6288a304884' 'e670e6ed4e6e614a248cedd9de461ddce2321d2fef982861c86639eaa65dce23' '2ff4ba31e43d6d397542ec25df224cef01cf501409e202255e9414e482ba14cf' + '24976a8d632e4540350fbe25d3debc0305b5d1116cc79b176144957c157dbcf8' '04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36') validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8') @@ -193,6 +197,7 @@ prepare() { patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/060-ffmpeg-svt-av1-3.0.0-fix.patch" patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/070-ffmpeg-fix-cuda-nvcc-with-gcc14.patch" patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/080-ffmpeg-lcevcdec4.0.0-fix.patch" + patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/090-ffmpeg-cuda13-fix.patch" } build() { @@ -349,7 +354,7 @@ build() { --enable-ffnvcodec \ --enable-libdrm \ --enable-libvpl \ - --enable-libnpp \ + --disable-libnpp \ --enable-nvdec \ --enable-nvenc \ --enable-omx \