flathub / com.obsproject.Studio

This repository is no longer used to build OBS. Issues should be reported at https://github.com/obsproject/obs-studio
https://github.com/obsproject/obs-studio
29 stars 21 forks source link

Enable JACK support #106

Closed yajo closed 3 years ago

yajo commented 3 years ago

Hello, thank you very much for flatpaking OBS.

These days, with pipewire, we're finally able to use all JACK apps packaged as flatpaks.

According to OBS wiki and https://github.com/jp9000/obs-studio/pull/345, OBS supports JACK, but I see it's disabled here: https://github.com/flathub/com.obsproject.Studio/blob/1337120e68256437e6ff2e020e6cf54a18a7150d/com.obsproject.Studio.json#L245

Could you please enable that support? You could possibly draw inspiration from Jamulus, which is a small JACK app that was flatpaked recently and works perfectly out of the box with pipewire-jack: https://github.com/flathub/io.jamulus.Jamulus

GeorgesStavracas commented 3 years ago

JACK is already enabled on the Flathub Beta version of OBS Studio, but it unfortunately requires a modern PipeWire on your host (at least 0.3.10). Maybe we can go ahead and enable that on the main branch too, but I'm afraid it'll give people on old distros a feature that won't work, which can be frustrating.

yajo commented 3 years ago

the Flathub Beta version of OBS Studio

How to test that? 🤔

GeorgesStavracas commented 3 years ago

I think you can just run the following command:

$ flatpak install --user https://flathub.org/beta-repo/appstream/com.obsproject.Studio.flatpakref

I don't usually advertise much the beta one because it contains many bleeding edge features that won't work if you don't have a fairly updated distro. Please be careful!

GeorgesStavracas commented 3 years ago

I forgot to link it here but commit https://github.com/flathub/com.obsproject.Studio/commit/97ed861daa43f3a5ab521649262870fc93dac38a adds JACK (through PipeWire) support. You'll need to use PipeWire as your audio service on host. JACK itself is impossible to be Flatpaked.

tinywrkb commented 3 years ago

@GeorgesStavracas you really don't need to build jack, just get the headers and add a proper pkgconfig.
This is what I've done previously.
Because RealtimeKit is broken with Flatpak apps and PipeWire's rtkit module might have been too verbose I switched to building an updated PipeWire version, I'm not sure if this needed with PipeWire 0.3.23.