obs-studio
obs-studio copied to clipboard
PipeWire capture fails to compile on FreeBSD
Operating System Info
Other
Other OS
FreeBSD
OBS Studio Version
27.0.1
OBS Studio Version (Other)
13
OBS Studio Log URL
n/a
OBS Studio Crash Log URL
No response
Expected Behavior
linux-capture
should compile as before.
Current Behavior
The linux-capture
plugin worked on FreeBSD in 26.1.2 but in 27.0.1 it doesn't compile any more due to this linux-specific line: https://github.com/obsproject/obs-studio/blob/master/plugins/linux-capture/pipewire.c#L30
Users complain: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=256862
Steps to Reproduce
Anything else we should know?
No response
This is a new feature introduced in #4287. You're likely missing libgles2-mesa
or libgles2-mesa-dev
(or similar) when building, or missing it as a dependency for users.
I'll admit that I don't have much knowledge of FreeBSD, so I may be asking dumb questions.
I see that you've applied a patch on the FreeBSD port that just disables PipeWire using CMake. Is Wayland/PipeWire capture something that a FreeBSD user would be using or need, and that's just a temporary measure to make sure the rest of the plugin builds? Or is that what you'd consider an acceptable solution?
I see that you've applied a patch on the FreeBSD port that just disables PipeWire using CMake. Is Wayland/PipeWire capture something that a FreeBSD user would be using or need, and that's just a temporary measure to make sure the rest of the plugin builds? Or is that what you'd consider an acceptable solution?
I don't have much knowledge about Wayland. Particularly, I am not sure of its purpose or benefits to users. I don't think Wayland is currently used at all on FreeBSD. So this is a measure to make the capture plugin work on FreeBSD for the time being. The linux/dma-buf.h
header is installed only by graphics/drm-current-kmod
and graphics/drm-fbsd13-kmod
when the SOURCE
option is set to ON
, which is OFF
by default.
Both Wayland and Pipewire are indeed used by some FreeBSD users. Wayland is the *NIX successor to X11, and Pipewire is the soon to be successor to Jack/Pulseaudio. I think what caused here was missing tests to see which subsystems your platform is using, and only including and compiling the appropriate components.
Is this issue still present, and is this something that would need to be fixed in OBS, or is it an environment issue?
As a reminder, nobody on the OBS team uses or has any knowledge about FreeBSD, so we will be unable to submit any fixes necessary, and rely on the FreeBSD community to provide them.
No response, closing. If this is still an issue, a PR with a fix would be welcome, but as mentioned nobody on the team is able to debug FreeBSD issues.
Re-opened as there is a pending fix.