Commit Graph
65 Commits
Author SHA1 Message Date
Ryan Foster 099b391e7c CI: Update deps to 2023-04-12 release
Notable changes:
 * deps.qt: Add missing obs-deps version file for Qt packages
 * CI: Add detection for single-arch static libraries

This is mostly to fix plugin builds. No dependency versions have
changed.
2023-04-12 21:33:06 +00:00
Ryan Foster 855d9cba4a CI: Update deps to 2023-04-03 release
Notable changes:
 * deps.ffmpeg: Update FFmpeg to a6dc92968a
 * deps.qt: Backport macOS disabled combobox items fix

The FFmpeg update is to fix an issue with DTS when using b-frames with
FFmpeg NVENC. In particular, we wanted this commmit:
 * https://github.com/FFmpeg/FFmpeg/commit/a6dc92968a325d331bb6dcf9b3b2248026cd1d6c
2023-04-03 23:28:17 +00:00
Ryan Foster 1be1f51635 CI: Update deps to 2023-03-30 release
Notable changes:
 * deps.ffmpeg: Update FFmpeg to 3980415627

This update is to fix a crash when using FFmpeg NVENC. In particular, we
wanted these commmits:
 * https://github.com/FFmpeg/FFmpeg/commit/0981053c294f8a0edf1a06c329574fb2ebb5d5da
 * https://github.com/FFmpeg/FFmpeg/commit/916bdc0f197de7ea24d30f3f3c284e4332dd3720
2023-03-31 17:59:02 -04:00
tytan652 0315c357f6 flatpak: Remove jack2 module
jack2 is already part of the runtime that we rely on and we use only its
headers.
2023-03-29 19:13:58 -03:00
tytan652 eebf1b0e87 flatpak: Update deps based on on obs-deps 2023-03-20
* x264: Updated to the same commit as obs-deps
* nv-codec-headers: Update to n12.0.16.0
* aom: Updated to 3.6.0
* svt-av1: Updated to 1.4.1
* ffmpeg: Updated to 6.0
* luajit: Updated to the same commit as obs-deps
2023-03-26 21:33:41 -04:00
tytan652 ad859a3f66 flatpak: Enable obs-libfdk
Freedesktop runtime provides it.
2023-03-26 14:43:03 -07:00
tytan652 3f9b2d627e CI: Add nlohmann JSON, WebSocket++ and Asio on Linux
Those libraries will be kept in the Flatpak to allow plugins to use the
same versions of those headers-only libraries.
2023-03-20 19:00:24 -04:00
tytan652 6181325ed9 flatpak: Add missing CMAKE_BUILD_TYPE
CMake defaults to a type commonly named "None".
Setting the type to "Release" is required to have optimization flags
applied.
2023-03-19 09:16:01 +11:00
tytan652 3eab477211 flatpak: Use Github mirror for nv-codec-headers
git.videolan.org repo seems to be inconsitent.
2023-03-18 11:28:00 +01:00
tytan652 f81f580d26 flatpak: Override PipeWire to 0.3.65
Fixe crashes with 0.3.48/49 daemons.
2023-02-07 12:02:45 -03:00
tytan652 10a68b5d4e flatpak: Update deps based on obs-deps 2022-11-21
* x264: Updated to the same commit as obs-deps
* srt: Updated to 1.5.1
* aom: Updated to 3.5.0
* svt-av1: Updated to 1.3.0
* ffmpeg: Updated to the same commit and patches as obs-deps
* luajit: Updated to the same commit as obs-deps
2022-11-21 18:44:53 -05:00
tytan652 723ca8f034 CI,obs-vst: Update Flatpak KDE Runtime to version 6.4
The 6.4 runtime rely on Freedesktop 22.08 which provide a more recent
version of Mesa and PipeWire.

The switch to 22.08 also requires to migrate paths of VST 2 plugins.
2022-11-20 17:16:02 -05:00
tytan652 688ac3e1a5 flatpak: Add Jansson to modules 2022-11-20 10:11:35 +11:00
Matt Gajownik 0e7f69ee31 CI: Bump Linux CEF build to disable GTK
Fixes #7146

Normally, Qt and CEF each run their own version of GTK, often causing
conflicts. This commit introduces a build of CEF where GTK has been
disabled using `use_gtk=false` as we do not require the Chrome runtime.
This is an experiment and may end up being the safest long-term solution.

Note: This does introduce potential quirks/incompatibilities, such as
browser sources no longer being able to display alert() dialogs, and
potentially file browser dialogs not working from CEF.
This is better than the alternative. If necessary, such dialogs can be
reimplemented using Qt at a later date, and would likely provide a more
consistent user experience.
2022-08-23 19:47:41 +10:00
tytan652 23f910c149 Revert "flatpak: Install CMake config files"
This reverts commit 43867ce93c.
2022-08-20 20:11:51 -03:00
tytan652 c1e8797009 flatpak: Avoid cleaning all pkgconfig files
Plugins could happen to require libobs, FFmpeg and PipeWire pkgconfig
files.
2022-08-20 20:11:51 -03:00
Ryan Foster f344c9106b flatpak: Use FFmpeg GitHub mirror
The ffmpeg.org domain has had periods of instability recently. If GitHub
is down, our entire CI is down, so let's use the FFmpeg GitHub mirror.
2022-08-06 19:52:34 -04:00
tytan652 87682e8276 flatpak: Change obs-deps tag to 2022-07-29
2022-07-28 was removed.
2022-07-31 10:15:02 -03:00
tytan652 056bd1aee0 flatpak: Avoid cleaning PipeWire and FFmpeg headers
Plugins could happen to build against them.
2022-07-31 08:37:45 -03:00
tytan652 a2a3cb2288 flatpak: Update deps based on obs-deps 2022-07-28
* x264: Updated to the same commit as obs-deps
* srt: Updated to 1.5.0
* mbedtls: Updated to 3.2.1
* librist: Updated to the same commit as obs-deps
* aom: Updated to 3.4.0
* svt-av1: Updated to 1.1.0
* ffmpeg: Updated to the same commit and patches as obs-deps
* luajit: Updated to the same commit as obs-deps
2022-07-31 08:37:45 -03:00
tytan652 2d9c1624c1 flatpak: Update KDE Runtime to version 6.3 2022-07-31 08:37:45 -03:00
Matt Gajownik 577b11ede4 CI: Bump CEF from 4638 (95) to 5060 (103) 2022-07-31 09:46:44 +10:00
tytan652 3c390d8b5b flatpak: Update deps based on obs-deps 2022-05-23
* nv-codec-headers: Update to n11.1.5.1
* NTV2: Update to v16.2-bugfix5
* LuaJIT: Use same commit as obs-deps
2022-06-02 09:36:54 -03:00
Romain Vigier 43867ce93c flatpak: Install CMake config files
CMake config files are required for building OBS plugins with the
Flatpak as a runtime.

Add a post-install command that installs the `obs_libraries`
component, which provides the config files.
2022-05-30 12:16:35 -03:00
tytan652 f4e696b39c flatpak: Cleanup PipeWire module 2022-04-22 20:32:45 -03:00
tytan652 ebd6520f25 flatpak: Reenable AJA and JACK plugins 2022-03-23 10:36:16 -03:00
PatTheMav 8fba906be4 CI: Add necessary build system changes for universal and M1 builds 2022-03-16 23:23:40 +01:00
PatTheMav c993b6059a CI: Update build scripts and Github actions workflow
Also updates main CMakeLists.txt and CMakeLists.txt for unit tests,
also adds additional build directories to .gitignore file
2022-03-16 23:13:26 +01:00
tytan652 447b8786ef flatpak: Update librist library
The librist commit is what is used by obs-deps since
this commit https://github.com/obsproject/obs-deps/commit/06fdd5f.
2022-01-27 12:02:53 -03:00
tytan652 54ca895537 flatpak: Update libaom and SVT-AV1
Update the libaom and SVT-AV1 versions and also apply several
cherry-picked commits to FFmpeg for SVT-AV1.

The libaom commit is what will be used by obs-deps once
https://github.com/obsproject/obs-deps/pull/90 is merged.
2022-01-26 13:42:29 -03:00
Luke Yelavich 9ce385d926 flatpak: Enable communication with org.a11y.Bus
This allows Linux accessibility tools such as the Orca screen reader to
be used with OBS.
2022-01-26 12:27:05 -03:00
Matt Gajownik e9cbe52d96 CI: Bump CEF caches to fix cookie crash bug
Manually backported a CEF 97 bug fix to CEF 95 and rebuilt for all
platforms. More info:
https://bitbucket.org/chromiumembedded/cef/issues/3193/#comment-61679139
2022-01-22 21:20:07 +11:00
Matt Gajownik a1e0d2f538 CI: Use GitHub mirror for PipeWire repository 2022-01-08 12:12:36 +11:00
tytan652 183a0a4d0e flatpak: Use same commit hash for LuaJIT as macOS 2022-01-05 20:02:19 +11:00
tytan652 02409c46fa flatpak: Add SVT-AV1 support 2022-01-02 16:21:52 -03:00
tytan652 6fdfc88467 flatpak: Add libaom support
It also add FFmpeg libaom patches from obs-deps.
2022-01-02 16:21:52 -03:00
tytan652 9167a7177d flatpak: Add RIST support to FFmpeg
Mbed TLS module is moved before librist to allow the latter to be built
with Mbed TLS.

It also add FFmpeg librist patches from obs-deps.
2022-01-02 16:21:52 -03:00
tytan652 f74c37043e flatpak: Update FFmpeg to 4.4.1
It also apply obs-deps FFmpeg patches.
And cherry-pick the following commit to fix issues with VAAPI:

avcodec/vaapi_encode: Fix segfault upon closing uninitialized encoder
https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/d1b47f3

nv-codec-headers are also updated.

Note: The actual used commit hash is two commits after n4.4.1 tag.
2022-01-02 16:21:52 -03:00
tytan652 b04626f72d flatpak: Deduplicate CEF from the bundle
CEF is installed in /app/cef. After OBS is built, it no longer needs
/app/cef because everything that OBS needs is copied elsewhere.

So removing /app/cef at the cleanup stage will not cause issue
and will also reduce bundle size.
2021-12-22 15:10:15 -03:00
tytan652 6ad54f5252 flatpak: Add AJA NTV2 library
This enable AJA plugins on flatpak builds
2021-12-22 15:10:15 -03:00
columbarius 01ac816a33 CI: Add PipeWire 0.3.40 to Flatpak
We require PipeWire 0.3.40 or later in preparation for proper
DMA-BUF handling, which includes negotiation of modifier lists and
dropping of single modifiers.

This commit should be reverted as soon as the Freedesktop Flatpak SDK
contains this or a newer PipeWire version.
2021-12-22 14:27:53 -03:00
Matt Gajownik 5646981ce5 CI: Update CEF hash for Flatpak to Release 4638
Tested on Ubuntu 18.04 CI and Ubuntu 20.04 desktop, built with sysroot
and is_official_build. Ensures this build of CEF will run on a variety
of system configurations.
2021-12-22 09:44:00 +11:00
Matt Gajownik adff02a6b7 Revert "CI: Update CEF hash for Flatpak to fix crash"
This reverts commit 7bf7c01ff1.

The f639d8923 CEF wrapper fails to build on Ubuntu 18.04 due to
outdated glibc, and Jim's recent commits seem to solve the shutdown
assert. For now, revert to the known functional build.
2021-12-21 22:14:54 +11:00
Matt Gajownik 7bf7c01ff1 CI: Update CEF hash for Flatpak to fix crash
This fixes a crash/assert on shutdown caused by Chromium debug mode.
2021-12-20 21:58:27 +11:00
Matt Gajownik 9c12a9ac98 CI: Update Linux CEF version to 4638 (Chromium 95) 2021-12-17 12:24:01 -08:00
Georges Basile Stavracas Neto 0d3ce3dfe6 CI: Allow Flatpak audio plugins be found
Add an extension point for org.freedesktop.LinuxAudio.Plugins,
and create the corresponding folder at post-install time.

Commit originally made by @hfiguiere for Flathub.
2021-11-25 09:20:05 -03:00
Georges Basile Stavracas Neto baead91374 CI: Add extension point to Flatpak plugins
This is what the Flathub manifest does, which allows for plugins
distributed through Flatpak extension points.

Add extension point for Flatpak-distributed plugins.
2021-11-25 09:20:05 -03:00
Georges Basile Stavracas Neto 4453cca6a7 CI: Update Flatpak's v4l-utils to 1.22
No functional changes.
2021-11-25 09:20:05 -03:00
Georges Basile Stavracas Neto b36b204eed CI: Update Flatpak's x264
In the future, a full FFMPEG build with x264 and nvenc will be
provided as an extension to the org.freedesktop.Platform runtime,
but for now we have to manually build it.

Update x264 to the latest git commit.
2021-11-25 09:20:05 -03:00
Georges Basile Stavracas Neto 1392ea5ca6 CI: Enable services on Flatpak builds
The flatpak-builder tool now supports passing secrets options to the
build system. These options are not printed during the build, nor
added to the resolved manifest after build, so they don't leak env
vars from CI.

Make secret variables part of the Flatpak workflow environment, like
the main workflow. Pass the various services hashes and clientids to
the build system using the new "secret-opts" key.
2021-11-03 13:17:03 -03:00