Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 03 Mar 2026 00:08:22 +0000
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Cc:        Alex S <iwtcex@gmail.com>
Subject:   git: 9fb3cdfc599b - main - multimedia/obs-studio: bring back NVENC
Message-ID:  <69a62676.40429.f6b77c3@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9fb3cdfc599bbd632a72f679171562a786006cf9

commit 9fb3cdfc599bbd632a72f679171562a786006cf9
Author:     Alex S <iwtcex@gmail.com>
AuthorDate: 2026-03-03 00:06:34 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-03-03 00:08:20 +0000

    multimedia/obs-studio: bring back NVENC
    
    PR:             291889
---
 multimedia/obs-studio/Makefile                     | 12 +++---
 .../obs-studio/files/patch-plugins_CMakeLists.txt  | 11 ++++-
 .../files/patch-plugins_obs-nvenc_CMakeLists.txt   | 29 +++++++++++++
 ...plugins_obs-nvenc_obs-nvenc-test_CMakeLists.txt | 10 +++++
 multimedia/obs-studio/pkg-plist                    | 50 ++++++++++++++++++++++
 5 files changed, 106 insertions(+), 6 deletions(-)

diff --git a/multimedia/obs-studio/Makefile b/multimedia/obs-studio/Makefile
index 0230659db1c8..170cf5265a5b 100644
--- a/multimedia/obs-studio/Makefile
+++ b/multimedia/obs-studio/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	obs-studio
 DISTVERSION=	32.0.4
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	multimedia
 MASTER_SITES=	https://github.com/obsproject/obs-studio/releases/download/${DISTVERSION}/
 DISTFILES=	OBS-Studio-${DISTVERSION}-Sources${EXTRACT_SUFX}
@@ -76,10 +76,8 @@ LDFLAGS+=	-fPIC # pending https://github.com/obsproject/obs-studio/issues/3436
 
 WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}-sources
 
-WITH_DEBUG=		yes # workaround for https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292376#c6
-
-OPTIONS_DEFINE=		BROWSER PIPEWIRE VLC VST WAYLAND
-OPTIONS_DEFAULT=	PIPEWIRE VLC VST WAYLAND
+OPTIONS_DEFINE=		BROWSER NVENC PIPEWIRE VLC VST WAYLAND
+OPTIONS_DEFAULT=	NVENC PIPEWIRE VLC VST WAYLAND
 OPTIONS_MULTI=		AUDIO
 OPTIONS_MULTI_AUDIO=	JACK PULSEAUDIO SNDIO
 OPTIONS_DEFAULT+=	${OPTIONS_MULTI_AUDIO}
@@ -94,6 +92,10 @@ JACK_LIB_DEPENDS=	libjack.so:audio/jack
 JACK_CMAKE_ON=		-DENABLE_JACK=TRUE
 JACK_CMAKE_OFF=		-DDISABLE_JACK=TRUE
 
+NVENC_DESC=		NVIDIA Hardware Encoder Plugin
+NVENC_BUILD_DEPENDS=	ffnvcodec-headers>=13.0.19.0:multimedia/ffnvcodec-headers
+NVENC_CMAKE_BOOL=	ENABLE_NVENC
+
 PIPEWIRE_DESC=		Screen capture via PipeWire
 PIPEWIRE_LIB_DEPENDS=	libpipewire-0.3.so:multimedia/pipewire
 PIPEWIRE_CMAKE_BOOL=	ENABLE_PIPEWIRE
diff --git a/multimedia/obs-studio/files/patch-plugins_CMakeLists.txt b/multimedia/obs-studio/files/patch-plugins_CMakeLists.txt
index 5eb379428270..3abe06b98b69 100644
--- a/multimedia/obs-studio/files/patch-plugins_CMakeLists.txt
+++ b/multimedia/obs-studio/files/patch-plugins_CMakeLists.txt
@@ -1,5 +1,14 @@
---- plugins/CMakeLists.txt.orig	2025-08-01 04:15:57 UTC
+--- plugins/CMakeLists.txt.orig	2025-09-26 21:04:14 UTC
 +++ plugins/CMakeLists.txt
+@@ -61,7 +61,7 @@ add_obs_plugin(obs-libfdk)
+ add_obs_plugin(obs-ffmpeg)
+ add_obs_plugin(obs-filters)
+ add_obs_plugin(obs-libfdk)
+-add_obs_plugin(obs-nvenc PLATFORMS WINDOWS LINUX ARCHITECTURES x64 x86_64)
++add_obs_plugin(obs-nvenc PLATFORMS WINDOWS LINUX FREEBSD ARCHITECTURES x64 x86_64)
+ add_obs_plugin(obs-outputs)
+ add_obs_plugin(
+     obs-qsv11
 @@ -72,7 +72,7 @@ add_obs_plugin(
  add_obs_plugin(obs-transitions)
  add_obs_plugin(
diff --git a/multimedia/obs-studio/files/patch-plugins_obs-nvenc_CMakeLists.txt b/multimedia/obs-studio/files/patch-plugins_obs-nvenc_CMakeLists.txt
new file mode 100644
index 000000000000..02d47b297049
--- /dev/null
+++ b/multimedia/obs-studio/files/patch-plugins_obs-nvenc_CMakeLists.txt
@@ -0,0 +1,29 @@
+--- plugins/obs-nvenc/CMakeLists.txt.orig	2025-09-27 00:04:14.000000000 +0300
++++ plugins/obs-nvenc/CMakeLists.txt	2025-12-23 07:49:06.708408000 +0300
+@@ -14,7 +14,7 @@
+   add_subdirectory("${CMAKE_SOURCE_DIR}/shared/opts-parser" "${CMAKE_BINARY_DIR}/shared/opts-parser")
+ endif()
+ 
+-if(OS_LINUX AND NOT TARGET OBS::glad)
++if((OS_LINUX OR OS_FREEBSD) AND NOT TARGET OBS::glad)
+   add_subdirectory("${CMAKE_SOURCE_DIR}/deps/glad" "${CMAKE_BINARY_DIR}/deps/glad")
+ endif()
+ 
+@@ -28,7 +28,7 @@
+ target_sources(
+   obs-nvenc
+   PRIVATE
+-    $<$<PLATFORM_ID:Linux>:nvenc-opengl.c>
++    $<$<PLATFORM_ID:Linux,FreeBSD>:nvenc-opengl.c>
+     $<$<PLATFORM_ID:Windows>:nvenc-d3d11.c>
+     cuda-helpers.c
+     cuda-helpers.h
+@@ -46,7 +46,7 @@
+ 
+ target_link_libraries(
+   obs-nvenc
+-  PRIVATE OBS::libobs OBS::opts-parser FFnvcodec::FFnvcodec $<$<PLATFORM_ID:Linux>:OBS::glad>
++  PRIVATE OBS::libobs OBS::opts-parser FFnvcodec::FFnvcodec $<$<PLATFORM_ID:Linux,FreeBSD>:OBS::glad>
+ )
+ 
+ target_compile_definitions(obs-nvenc PRIVATE $<$<BOOL:${ENABLE_NVENC_FFMPEG_IDS}>:REGISTER_FFMPEG_IDS>)
diff --git a/multimedia/obs-studio/files/patch-plugins_obs-nvenc_obs-nvenc-test_CMakeLists.txt b/multimedia/obs-studio/files/patch-plugins_obs-nvenc_obs-nvenc-test_CMakeLists.txt
new file mode 100644
index 000000000000..9bfa22764db4
--- /dev/null
+++ b/multimedia/obs-studio/files/patch-plugins_obs-nvenc_obs-nvenc-test_CMakeLists.txt
@@ -0,0 +1,10 @@
+--- plugins/obs-nvenc/obs-nvenc-test/CMakeLists.txt.orig	2025-09-26 21:04:14 UTC
++++ plugins/obs-nvenc/obs-nvenc-test/CMakeLists.txt
+@@ -5,6 +5,6 @@ target_sources(obs-nvenc-test PRIVATE obs-nvenc-test.c
+ add_executable(obs-nvenc-test)
+ 
+ target_sources(obs-nvenc-test PRIVATE obs-nvenc-test.cpp)
+-target_link_libraries(obs-nvenc-test FFnvcodec::FFnvcodec)
++target_link_libraries(obs-nvenc-test FFnvcodec::FFnvcodec Threads::Threads)
+ 
+ set_target_properties_obs(obs-nvenc-test PROPERTIES FOLDER plugins/obs-nvenc)
diff --git a/multimedia/obs-studio/pkg-plist b/multimedia/obs-studio/pkg-plist
index 6a0b78131a03..5deaed149e78 100644
--- a/multimedia/obs-studio/pkg-plist
+++ b/multimedia/obs-studio/pkg-plist
@@ -1,5 +1,6 @@
 bin/obs
 bin/obs-ffmpeg-mux
+%%NVENC%%bin/obs-nvenc-test
 include/obs/callback/calldata.h
 include/obs/callback/decl.h
 include/obs/callback/proc.h
@@ -117,6 +118,7 @@ lib/obs-plugins/linux-capture.so
 lib/obs-plugins/linux-v4l2.so
 lib/obs-plugins/obs-ffmpeg.so
 lib/obs-plugins/obs-filters.so
+%%NVENC%%lib/obs-plugins/obs-nvenc.so
 lib/obs-plugins/obs-outputs.so
 lib/obs-plugins/obs-transitions.so
 %%VST%%lib/obs-plugins/obs-vst.so
@@ -838,6 +840,54 @@ share/obs/obs-plugins/obs-filters/luma_key_filter_v2.effect
 share/obs/obs-plugins/obs-filters/mask_alpha_filter.effect
 share/obs/obs-plugins/obs-filters/mask_color_filter.effect
 share/obs/obs-plugins/obs-filters/sharpness.effect
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/ar-SA.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/be-BY.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/bg-BG.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/ca-ES.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/cs-CZ.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/da-DK.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/de-DE.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/el-GR.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/en-GB.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/en-US.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/es-ES.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/et-EE.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/fa-IR.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/fi-FI.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/fr-FR.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/gl-ES.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/he-IL.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/hi-IN.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/hr-HR.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/hu-HU.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/id-ID.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/is-IS.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/it-IT.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/ja-JP.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/ka-GE.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/kaa.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/kmr-TR.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/ko-KR.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/ms-MY.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/nb-NO.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/nl-NL.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/nn-NO.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/pl-PL.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/pt-BR.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/pt-PT.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/ro-RO.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/ru-RU.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/sk-SK.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/sr-SP.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/sv-SE.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/th-TH.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/tr-TR.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/tt-RU.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/ug-CN.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/uk-UA.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/vi-VN.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/zh-CN.ini
+%%NVENC%%share/obs/obs-plugins/obs-nvenc/locale/zh-TW.ini
 share/obs/obs-plugins/obs-outputs/locale/af-ZA.ini
 share/obs/obs-plugins/obs-outputs/locale/ar-SA.ini
 share/obs/obs-plugins/obs-outputs/locale/ba-RU.ini


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69a62676.40429.f6b77c3>