PipeWire integration discussion?

Message
Author
User avatar
AVLinux
Posts: 3160
Joined: Wed Jul 15, 2020 1:15 am

Re: PipeWire integration discussion?

#81 Post by AVLinux »

alextone wrote: Fri Oct 21, 2022 4:57 pm
AVLinux wrote: Fri Oct 21, 2022 9:05 am
dolphin_oracle wrote: Fri Oct 21, 2022 8:59 am while I have no intention of shipping with jack tools installed, but if the configs do not interfere with other packages or with the default audio server setup for our users, I'm not opposed to adding them to the setup package.
Of course! JACK applications would just come from the Repos as always, I'm only talking audio backends and conf files.. Please don't misunderstand, I'm trying to make suggestions to help me to get with YOUR program, not the other way around.. I'm hoping to diminish the need for so much specialization and eventually not even need a special Respin.
Can I assume that those apps that ask for jackd2 as a dependency will not "see" the pipewire alternative, if the dependency specifies jackd2, and not libjack (or libspa2-jack?)

I've been experimenting today, reading a lot, and discovered that if i remove jackd2 with the intention of replacing it with the pipewire alternative, a lot of jack based apps get uninstalled. (I'm keeping notes)

Also, when i try to compile apps against the pipewire supplied jack lib, they get.....irritated, and won't compile.

Still experimenting here, but i will add i removed pulseaudio, and pipewire worked fine without it. (woohoo) So halfway there.

Alex.
Pipewire isn't in Debian 11 as any sort of default so I'm sure Audio Packages depending on specifically on jackd, jackd2, libjack and applications that you want to compile yourself depending on libjack-dev to be there are not going to install or compile. Even newer stuff from Debian that @Stevo has either upgraded or backported into the MX Repos that have specific jackd, jackd2, libjack dependencies are not going to install.. If you are depending on JACK and jack-centric applications at this point in Debian 11 PipeWire is not going to be your friend, you will need to keep JACK on your system for that stuff... For current Debian/MX Users PipeWire is still the future not exactly the present if you are using a lot of Repository Audio packages... Stuff like WineASIO will also not be working ootb

It is not going to be a trivial thing for both the Debian and MX Packagers to update and correct Packages with PulseAudio and JACK dependencies, there will easily be hundreds of them... :frown:

Monolithic DAWs like Ardour, Reaper, Mixbus etc. that have ALSA backends should work fine
Last edited by AVLinux on Fri Oct 21, 2022 5:45 pm, edited 2 times in total.

User avatar
AVLinux
Posts: 3160
Joined: Wed Jul 15, 2020 1:15 am

Re: PipeWire integration discussion?

#82 Post by AVLinux »

@dolphin_oracle

I can't seem to attach files to PM's, maybe that's a mod or developer privilege only...?

If (and only if) you are interested I've made a Modded version of your mx-pipewire-setup Deb with the following changes:

- Added the jack.conf file (unedited) to it's systemwide place for editing in /etc/pipewire/jack.conf.d/ as per the PipeWire documentation
- Added 'pipewire-jack' and 'libspa-0.2-jack' to the installed dependencies *note these are the native PipeWire module backends only that replace previous jackd, libjack, etc..

These changes should not hinder anything to do with regular MX Users, it simply adds the pipewire-jack backend and client and config files for those who may want to hook into them. Just trying to help instead of just ask for things.. Take a look if you want.
pipewire-setup-mx_22.10.21_all.zip.zip
You do not have the required permissions to view the files attached to this post.
Last edited by AVLinux on Fri Oct 21, 2022 6:23 pm, edited 2 times in total.

User avatar
alextone
Posts: 155
Joined: Wed May 26, 2021 1:51 am

Re: PipeWire integration discussion?

#83 Post by alextone »

AVLinux wrote: Fri Oct 21, 2022 5:20 pm
alextone wrote: Fri Oct 21, 2022 4:57 pm
AVLinux wrote: Fri Oct 21, 2022 9:05 am

Of course! JACK applications would just come from the Repos as always, I'm only talking audio backends and conf files.. Please don't misunderstand, I'm trying to make suggestions to help me to get with YOUR program, not the other way around.. I'm hoping to diminish the need for so much specialization and eventually not even need a special Respin.
Can I assume that those apps that ask for jackd2 as a dependency will not "see" the pipewire alternative, if the dependency specifies jackd2, and not libjack (or libspa2-jack?)

I've been experimenting today, reading a lot, and discovered that if i remove jackd2 with the intention of replacing it with the pipewire alternative, a lot of jack based apps get uninstalled. (I'm keeping notes)

Also, when i try to compile apps against the pipewire supplied jack lib, they get.....irritated, and won't compile.

Still experimenting here, but i will add i removed pulseaudio, and pipewire worked fine without it. (woohoo) So halfway there.

Alex.
Pipewire isn't in Debian 11 as any sort of default so I'm sure Audio Packages depending on specifically on jackd, jackd2, libjack and applications that you want to compile yourself depending on libjack-dev to be there are not going to install or compile. Even newer stuff from Debian that @Stevo has either upgraded or backported into the MX Repos that have specific jackd, jackd2, libjack dependencies are not going to install.. If you are depending on JACK and jack-centric applications at this point in Debian 11 PipeWire is not going to be your friend, you will need to keep JACK on your system for that stuff... For current Debian/MX Users PipeWire is still the future not exactly the present if you are using a lot of Repository Audio packages... Stuff like WineASIO will also not be working ootb

Monolithic DAWs like Ardour, Reaper, Mixbus etc. that have ALSA backends should work fine
I don't use wine at all, so no problem there.

Also, if i want to use apps with pipewire-jack, i need to start them in a terminal with 'pw-jack <someapp>' or they don't run, or complain jack isn't running. So the pipewire-jack client does work, it just needs starting manually. I've got around this to a certain extent by running all the apps in a session manager. (running with pw-jack in a terminal)

I know we're in early days, i'm just posting data as it unfolds here, and maybe someone else might get something out of it. (or not)

Alex.

More to follow...

User avatar
AVLinux
Posts: 3160
Joined: Wed Jul 15, 2020 1:15 am

Re: PipeWire integration discussion?

#84 Post by AVLinux »

alextone wrote: Fri Oct 21, 2022 5:47 pm
Also, if i want to use apps with pipewire-jack, i need to start them in a terminal with 'pw-jack <someapp>' or they don't run, or complain jack isn't running. So the pipewire-jack client does work, it just needs starting manually. I've got around this to a certain extent by running all the apps in a session manager. (running with pw-jack in a terminal)

I know we're in early days, i'm just posting data as it unfolds here, and maybe someone else might get something out of it. (or not)

Alex.

More to follow...
That is good to know, and it was remiss of me to not be clear that if you have jackd on the system then you indeed have the option to run existing JACK-dependent apps either with JACK as usual or the pipewire-jack backend, I hadn't tried that yet but I'm glad to hear it's working for you, thanks for sharing that!

User avatar
dolphin_oracle
Developer
Posts: 22668
Joined: Sun Dec 16, 2007 12:17 pm

Re: PipeWire integration discussion?

#85 Post by dolphin_oracle »

there is apparently already a jack.conf file supplied at /usr/share/pipewire. have you reviewed that file? @AVLinux It's supplied by the pipewire-bin package. the file appears to be identical. Does jack functions work without the file being placed in /etc.

note between somewhere before 0.3.58 /usr/share/pipewire became a config directory, not just /etc/. at least supposedly.
http://www.youtube.com/runwiththedolphin
lenovo ThinkPad X1 Extreme Gen 4 - MX-23
FYI: mx "test" repo is not the same thing as debian testing repo.
Live system help document: https://mxlinux.org/wiki/help-antix-live-usb-system/

User avatar
AVLinux
Posts: 3160
Joined: Wed Jul 15, 2020 1:15 am

Re: PipeWire integration discussion?

#86 Post by AVLinux »

dolphin_oracle wrote: Fri Oct 21, 2022 10:04 pm there is apparently already a jack.conf file supplied at /usr/share/pipewire. have you reviewed that file? @AVLinux It's supplied by the pipewire-bin package. the file appears to be identical. Does jack functions work without the file being placed in /etc.

note between somewhere before 0.3.58 /usr/share/pipewire became a config directory, not just /etc/. at least supposedly.
Yes it is the same file, I followed the instructions in the file itself because it was unclear to me if /usr/share/pipewire was the actual place of configuration or merely a holding place to put it on the system to copy from:
# JACK client config file for PipeWire version "0.3.58" #
#
# Copy and edit this file in /etc/pipewire for system-wide changes
# or in ~/.config/pipewire for local changes.
#
# It is also possible to place a file with an updated section in
# /etc/pipewire/jack.conf.d/ for system-wide changes or in
# ~/.config/pipewire/jack.conf.d/ for local changes.
#
If you are certain that /usr/share/pipewire is THE valid config place then no need to have it in the setup package I guess...If it were to be included my educated guess is the main section of interest to be in /etc/pipewire/jackd.conf.d/ would be these parameters here:
# global properties for all jack clients
jack.properties = {
#node.latency = 1024/48000
#node.rate = 1/48000
#node.quantum = 1024/48000
#node.lock-quantum = true
#node.force-quantum = 0
#jack.show-monitor = true
#jack.merge-monitor = false
#jack.short-name = false
#jack.filter-name = false
#
# allow: Don't restrict self connect requests
# fail-external: Fail self connect requests to external ports only
# ignore-external: Ignore self connect requests to external ports only
# fail-all: Fail all self connect requests
# ignore-all: Ignore all self connect requests
#jack.self-connect-mode = allow
#jack.locked-process = true
#jack.default-as-system = false
#jack.fix-midi-events = true
}

User avatar
dolphin_oracle
Developer
Posts: 22668
Joined: Sun Dec 16, 2007 12:17 pm

Re: PipeWire integration discussion?

#87 Post by dolphin_oracle »

I guess my question is, does jack functionality work wihtout the config file present in /etc/pipewire?
http://www.youtube.com/runwiththedolphin
lenovo ThinkPad X1 Extreme Gen 4 - MX-23
FYI: mx "test" repo is not the same thing as debian testing repo.
Live system help document: https://mxlinux.org/wiki/help-antix-live-usb-system/

User avatar
AVLinux
Posts: 3160
Joined: Wed Jul 15, 2020 1:15 am

Re: PipeWire integration discussion?

#88 Post by AVLinux »

dolphin_oracle wrote: Fri Oct 21, 2022 10:40 pm I guess my question is, does jack functionality work wihtout the config file present in /etc/pipewire?
Yes 'pw-jack' command works with the default config! 'calfjackhost' is a JACK Audio application running here with pipewire-jack:
shot-2022-10-21_22-52-41.jpg

However the 'pipewire-audio-client-libraries' package had to be installed so it should probably be added to the setup depends but it appears the extra config location is not required..
You do not have the required permissions to view the files attached to this post.

User avatar
dolphin_oracle
Developer
Posts: 22668
Joined: Sun Dec 16, 2007 12:17 pm

Re: PipeWire integration discussion?

#89 Post by dolphin_oracle »

AVLinux wrote: Fri Oct 21, 2022 10:57 pm
dolphin_oracle wrote: Fri Oct 21, 2022 10:40 pm I guess my question is, does jack functionality work wihtout the config file present in /etc/pipewire?
Yes 'pw-jack' command works with the default config! 'calfjackhost' is a JACK Audio application running here with pipewire-jack:
shot-2022-10-21_22-52-41.jpg


However the 'pipewire-audio-client-libraries' package had to be installed so it should probably be added to the setup depends but it appears the extra config location is not required..
there isn't much in that package

Code: Select all

transitional package for pipewire-alsa and pipewire-jack
 PipeWire is a server and user space API to deal with multimedia
 pipelines.
 .
 This is a transitional package for pipewire-alsa and pipewire-jack.
 It can safely be removed.
I think its been split into pipewire-jack & pipewire-alsa. there isn't anything in pipewire-audio-client-libraries but some copywrite and license info
http://www.youtube.com/runwiththedolphin
lenovo ThinkPad X1 Extreme Gen 4 - MX-23
FYI: mx "test" repo is not the same thing as debian testing repo.
Live system help document: https://mxlinux.org/wiki/help-antix-live-usb-system/

User avatar
AVLinux
Posts: 3160
Joined: Wed Jul 15, 2020 1:15 am

Re: PipeWire integration discussion?

#90 Post by AVLinux »

dolphin_oracle wrote: Fri Oct 21, 2022 11:37 pm
there isn't much in that package

Code: Select all

transitional package for pipewire-alsa and pipewire-jack
 PipeWire is a server and user space API to deal with multimedia
 pipelines.
 .
 This is a transitional package for pipewire-alsa and pipewire-jack.
 It can safely be removed.
I think its been split into pipewire-jack & pipewire-alsa. there isn't anything in pipewire-audio-client-libraries but some copywrite and license info
What happened is the first time I tried running pw-jack on the CLI it didn't start and it told me in the terminal it needed 'pipewire-audio-client-libraries' to run and then when I installed that it pulled in pipewire-jack which is apparently what it really wanted.. It appears as though the error messages that PipeWire prints in the terminal haven't caught up to the actual Package names... :rolleyes:

Anyway... in my testing VM I uninstalled 'pipewire-audio-client-libraries' and 'pw-jack' command still works so I agree you're right it is not needed apparently..

Post Reply

Return to “Package Requests - MX-21”