Flathub/Flatpak Manifest Update thread #11956
tytan652
announced in
Announcements
Replies: 1 comment
-
Runtime change:The manifest has been updated to It is highly recommended for plugin packager to switch to the new SDK when the next stable version of OBS Studio is published to avoid any kind to ABI issue. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This page is mainly designed to enable packager of Flatpak extension for OBS Studio to be kept up to date with changes done to the manifest that might affect extensions.
This page will also:
Design and choices
Flathub, Flathub Beta and Branch
We publish OBS Studio on two Flatpak repos:
stable
branchbeta
branchFlatpak relies on the concept of branches, beware this is not 1:1 analogous to a software version.
Runtime
Like any Flatpak on Flathub, OBS Studio is built over a Flatpak runtime. Each runtime (a.k.a. platform) is paired with a SDK which contains development and debugging tooling, users usually only install runtime.
Identifier triples will be used to enumerates runtime and SDK used for OBS Studio.
org.kde.Platform//6.6
org.kde.Platform//6.6
org.kde.Platform//6.8
org.kde.Sdk//6.6
org.kde.Sdk//6.6
org.kde.Sdk//6.8
org.freedesktop.Sdk//23.08
org.freedesktop.Sdk//23.08
org.freedesktop.Sdk//24.08
Static permissions
The ecosystem around Wayland, PipeWire, Flatpak and XDG Desktop Portal can not cover every use-case 0-day, static permission were created as temporary accommodation until dynamic/portal based solutions are designed and implemented on the desktop and application side.
Those permissions are also known as "sandbox holes" since they also get around the sandbox and defeat its purpose.
More documentation about them can be found in Flatpak documentation.
Reasoning behind some permissions:
--socket=pulseaudio
enables access to host PulseAudio server--device=all
enables access to V4L2 devices (e.g. webcam) and DRI devices--device=dri
once V4L2 features are completely superseded1 with Portal-based features--share=ipc
required for X11 support--filesystem=xdg-run/pipewire-0
was added since the addition of Wayland and ScreenCast portal support--filesystem=host
is needed since OBS Studio has migrated to more Portal-friendly way to handle files--talk-name=org.kde.StatusNotifierWatcher
is needed for tray icons support--talk-name=org.freedesktop.Flatpak
is needed to enable V4L2 virtual camera (modprobe
call)--talk-name=org.a11y.Bus
enables accessibility support--system-talk-name=org.freedesktop.Avahi
remnants of the original unofficial manifestAdding more "sandbox holes" (and features that relies on them) is not planned but we are aware that some OBS Studio plugins rely on some of them and sometimes ask the user of the Flatpak to modify its permission to add some which is not officially supported.
Flatpak extensions
OBS Studio Flatpak support two extension endpoints:
1.
com.obsproject.Studio.Plugin
This is the endpoint that packager of OBS Studio plugins will use.
Endpoint version supported:
stable
)beta
)Note
Flatpak does not have a automatic branch following feature so for now any plan to enable use an endpoint version per ABI bump is not user-friendly enough.
This would allow to use the same branch on Flathub and Flathub beta if there is no ABI bump.
2.
org.freedesktop.LinuxAudio.Plugins
This is an endpoint to enable audio plugins on a Flatpak. In OBS Studio case, this is for enabling VST 2 plugin.
The supported endpoint version is usually identical to the underlying
org.freedesktop.Sdk
branch.23.08
23.08
Warning
Flatpak does not have a automatic branch following feature which unfortunately require users to have to manually install the extensions for the right branch.
Feature disparities
Some feature have been disabled have been disabled for various reasons:
OBS Studio and audio plugins
While in non-Flatpak installation of OBS Studio, users could install plugins inside their config folder and VSTs in "standardized" folders.
This method of installation is not supported for the Flatpak. Only Flatpak extensions are supported.
OBS Studio plugin packaging (WIP)
Note
While submitting/updating your plugins on Flathub, you likely get test builds those will not work since we do not support
test
as endpoint version.This could change with automatic branch following feature, to allow
test
alongside the ABI version.com.obsproject.Studio
as runtime and the SDK in use by the Flathub build/usr
as prefix, it can be patched but also to try to upstream a fixFootnotes
A cycle of deprecation will happen before complete removal ↩ ↩2 ↩3
Beta Was this translation helpful? Give feedback.
All reactions